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() 。
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
WebView2를 Visual Studio 2017 Express에서 사용할 수 있을 때까지Evergreen .Net Framework SDK 4.8 VisualStudio2017에서 NuGet을 사용하기 때문에 패키지 관리 방법을 packages.config 대신 PackageReference를 사용해야...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.