Я объяснял ООП моему другу. Я не смог ответить на этот вопрос. (Как мне стыдно? :()
Я только что сбежал, сказав, что ООП изображает реальный мир. В реальном мире родители могут разместить детей, но дети не могут разместить родителей. То же самое и в ООП. Я знаю, что это глупо. : P
class Parent
{
int prop1;
int prop2;
}
class Child : Parent // class Child extends Parent (in case of Java Lang.)
{
int prop3;
int prop4;
public static void Main()
{
Child aChild = new Child();
Parent aParent = new Parent();
aParent = aChild;// is perfectly valid.
aChild = aParent;// is not valid. Why??
}
}
Почему это утверждение недействительно?
aChild = aParent;// is not valid. Why??
, поскольку члены aChild - это расширенные члены aParent. Тогда почему ребенок не может разместить родителя.