C\#abstract 와 virtual 키 워드 를 깊이 이해 합 니 다.
class A
{
public virtual void Func() // virtual,
{
Console.WriteLine("Func In A");
}
}
class B : A // B A , A ,B
{
public override void Func() // override ,
{
Console.WriteLine("Func In B");
}
}
class C : B // C B , B ,C
{
}
class D : A // D A , A ,D
{
public new void Func() // new , ,
{
Console.WriteLine("Func In D");
}
}
class Program
{
static void Main(string[] args)
{
A a; // a A . A a
A b; // b A . A b
A c; // c A . A c
A d; // d A . A d
a = new A(); // a ,A a
b = new B(); // b ,B b
c = new C(); // c ,C c
d = new D(); // d ,D d
a.Func(); // a.Func:1. A 2. 3. A, 4. A 5. Func In A
b.Func(); // b.Func:1. A 2. 3. B, 4. B 5. Func In B
c.Func(); // c.Func:1. A 2. 3. C, 4. C B, 5. B Func 5. Func In B
d.Func(); // d.Func:1. A 2. 3. D, ( , D Func(), override , ) 4. D A, 5. A Func 5. Func In A
D d1 = new D();
d1.Func(); // D Func(), Func In D
Console.ReadLine();
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
[Java] 객체지향 프로그래밍 - 제어자제어자Modifier는 클래스, 변수 또는 메서드의 선언부에 함께 사용되어 부가적인 의미를 부여할 수 있어요. 제어자의 종류는 크게 접근 제어자와 그 외의 제어자로 나눌 수 있어요. 접근 제어자 : public, p...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.