C\#abstract 와 virtual 키 워드 를 깊이 이해 합 니 다.

1527 단어 abstractvirtual
 
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();
}
}

좋은 웹페이지 즐겨찾기