는 "다음 코드 가정 : 나는 인쇄 할"base.base"클래스에서 메서드 호출?
public class MultiplasHerancas
{
static GrandFather grandFather = new GrandFather();
static Father father = new Father();
static Child child = new Child();
public static void Test()
{
grandFather.WhoAreYou();
father.WhoAreYou();
child.WhoAreYou();
GrandFather anotherGrandFather = (GrandFather)child;
anotherGrandFather.WhoAreYou(); // Writes "I am a child"
}
}
public class GrandFather
{
public virtual void WhoAreYou()
{
Console.WriteLine("I am a GrandFather");
}
}
public class Father: GrandFather
{
public override void WhoAreYou()
{
Console.WriteLine("I am a Father");
}
}
public class Child : Father
{
public override void WhoAreYou()
{
Console.WriteLine("I am a Child");
}
}
" ". 객체
를 내가 자식 객체가에 방법을 수행 할 수있는 방법"나는 아이 "로부터"할아버지 오전베이스 .base "클래스? 기본 메서드 ("나는 아버지 "입니다.)를 인쇄 할 수는 있지만,"나는 할아버지입니다 "라고 인쇄하고 싶습니다! 이렇게 할 수있는 방법이 있다면, 그것입니까? OOP 디자인에서 권장합니까?
참고 : 저는이 방법을 사용하지 않거나 사용할 것이며, 지식 상속을 강화하려고합니다.