
作用:标示类型
父类:
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Diagnostics;namespace TestAppAllHere{abstract class TestAbstractSuper{public TestAbstractSuper(){Debug.WriteLine("1这是父类的构造方法");}public abstract void Init();public void Hello(){Debug.WriteLine("4这是父类的非抽象方法");}}}
子类:
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Diagnostics;namespace TestAppAllHere{class TestAbstractSub:TestAbstractSuper{public TestAbstractSub(){Debug.WriteLine("2这是子类的构造方法");}public override void Init(){Debug.WriteLine("3这是子类重写的方法");}}}
1这是父类的构造方法2这是子类的构造方法3这是子类重写的方法4这是父类的非抽象方法
父类:
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Diagnostics;namespace TestAppAllHere{class TestVirtualSuper{public TestVirtualSuper(){Debug.WriteLine("1这是父类的构造方法");}public virtual void Init(){Debug.WriteLine("2这是父类的虚拟方法");}}}
子类1:
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Diagnostics;namespace TestAppAllHere{class TestVirtualSub:TestVirtualSuper{public TestVirtualSub(){Debug.WriteLine("3这是子类的构造方法");}public override void Init(){//base.Init();//这句话可以让虚拟方法执行Debug.WriteLine("4这是子类的重写方法");}}}
1这是父类的构造方法3这是子类的构造方法4这是子类的重写方法