C \ # 클래스 계승 및 인 스 턴 스 재 업로드 및 하 이 라이트 분석

2258 단어 C#
class A
    {
        public virtual void F() 
        {
            Console.WriteLine("A.F");
        }
    }

    class B : A
    {
        public override void F()
        {
            Console.WriteLine("B.F");    
        }
    }

    class C:B
    {
        new public virtual void F() 
        {
            Console.WriteLine("C.F"); 
        }
    }

    class D:C
    {
        public override void F()
        {
            Console.WriteLine("D.F");
        }
    }

    class Test
    {
        static void Main(string[] args)
        {
            D d= new D();
            A a = d;
            B b = d;
            C c = d;
            a.F();
            b.F();
            c.F();
            d.F();
            Console.Read();
        }
    }

    :
B.F
B.F
D.F
D.F


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            D d = new D();
            B F = new B();
            C c = new C();
            A a = F;
            B b = F;
            //C c = F;
            a.F();
            b.F();
            c.F();
            d.F();
            Console.Read();
        }
    }
    
    class A
    {
        public virtual void F()
        {
            Console.WriteLine("A.F");
        }
    }

    class B : A
    {
        public override  void F()
        {
            Console.WriteLine("B.F");
        }
    }

    class C : B
    {
        new public virtual void F()
        {
            Console.WriteLine("C.F");
        }
    }

    class D : B
    {
        public override void F()
        {
            Console.WriteLine("D.F");
        }
    }

}

    :
B.F
B.F
C.F
D.F


     ,                           ,                ,         。    :
a.F();---->clr    a   , A         ,  A  F()    , a        A   ,     A        F,     B.F(); B  F      ,clr           ,              ,     B.F() ,   B.F
b.F();---->     B     ,            ,           ,    ,    B.F();
c.F()---->     C    ,   a.F();     ,  c       c   ,           ,     D.F() 。

좋은 웹페이지 즐겨찾기