이것이 C#에서 허용되는지 확실하지 않지만 다른 언어로 이전에 해왔습니다.배열의 하위 클래스에서 올바른 메서드를 호출하려면 어떻게해야합니까?
어린이가있는 Parent
클래스를 가지고 있다고 가정 해 봅시다. Child0
및 Child1
입니다. 배열 타입은 Parent
이고, Array[0]
타입은 Child0
이고 Array[1]
타입은 Child1
입니다. 이 시나리오에서는 어떻게 어린이 메소드를 호출합니까? Array[0].Method()
을 입력하면 Parent
버전의 메서드가 호출됩니다. 방법의 Child0
버전을 호출하려면 어떻게해야합니까? 이것이 가능한가? heriting 클래스에
public class Parent{
public virtual void Method(){
...
}
}
과를 오버라이드 (override) :
이 가진 인쇄한다 당신은'virtual'과'override' 키를 시도했습니다. 말? 너 뭐 해봤 니? 문제의 원인을 알 수 있도록 수업 코드를 보여줍니다. – zimdanen
개체를 부모로 만들면 부모에있는 속성/메서드에만 액세스 할 수 있습니다. 자식 메서드를 호출하려면 자식으로 개체를 만들어야합니다. – landoncz
몇 가지 코드를 게시 할 수 있습니까? –