Есть вот такой код (ява)
class Parent {
public void outMe() {
System.out.println("Parent");
}
}
class Child extends Parent {
public void outMe() {
System.out.println("Child");
}
}
class Receiver {
public void receive(Parent p) {
System.out.println("Receiver");
p.outMe();
}
}
class AdvancedReceiver extends Receiver {
public void receive(Child c) {
System.out.println("AdvancedReceiver");
c.outMe();
}
}
public class InheritanceTest {
public static void main(String[] args) {
Parent child1 = new Child();
AdvancedReceiver advancedReceiver1 = new AdvancedReceiver();
advancedReceiver1.receive(child1);
Child child2 = new Child();
Receiver advancedReceiver2 = new AdvancedReceiver();
advancedReceiver2.receive(child2);
}
}
что отпринтуется на выходе?
PS: даже не зная явы совсем, ошибся только в одном месте (не заметил полиморф :) )