У вас есть два отдельных объекта - вот в чем проблема.Значения переменных базового класса в объекте, на который ссылается obj1
, равны 0, потому что они не были установлены ни к чему другому.Ничто не связывает этот объект с объектом, на который ссылается obj
.
Если вам нужен доступ к переменным другого объекта, вам нужно сделать этот объект доступным для того, кто пытается получить доступ к данным.,Вы можете передать obj
в качестве аргумента методу или, возможно, сделать его свойством.Здесь много разных подходов, но мы не знаем, что такое общая картина - что вы действительно пытаетесь сделать.Как только вы поймете, почему это не работает так, как вы этого ожидаете, вы можете начать думать о том, что вы действительно пытаетесь сделать.
Просто чтобы прояснить, это не имеет ничего общего снаследование. все связано с тем, что вы создаете два разных объекта.Вы получили бы тот же эффект, если бы вы просто использовали один класс, но создали два разных экземпляра этого класса.