C# 的abstract 、 virtual、override、sealed
abstract 声明抽象类,的只能作为其他类的基类,类似接口,用override来实现方法
virtual 声明类中的方法可以被重写
override 可以用来重写 被virtual 声明的方法或类
sealed class 不能被继承的类,封闭的类
//声明抽象类D
public abstract class D { public abstract string Method(); }
//声明类S继承D 实现 Method
public class S : D { public override string Method() { return ("S"); } }
//声明类A 继承S 声明A类中 Method 可被重新
public class A : S { public virtual string Method() { return ("A5555555"); } }
//声明类B 继承A 重写A中的 Method
public class B : A { public override string Method() { return ("B"); } }
S a = new B(); Response.Write(a.Method());//输出S
A a = new B(); Response.Write(a.Method());//输出B 因为B类中override重写了A类中的Method 去掉override 输出A5555555
浙公网安备 33010602011771号