密封类和密封方法
1. 定义
C#允许把类和方法声明为sealed
。对于类,这表示不能被继承(任何类不能继承自这个类)。对于方法表示不能被重写。
注意点 :
sealed
只能写在重写的方法上,写上以后,表示该方法不能被该类的子类重写了。
2. 案例:
- 错误的写法
sealed class baseClass{
}
// 错误的写法
class DerivedClass : baseClass { // 任何的类无法继承baseClass
}
- 正确写法
class baseClass{
public virtual void function(){};
}
class DerivedClass : baseClass{
public sealed override void function(){}; // 可以将重写的方法声明为密封方法,表示该方法不能被重写。
}
抽象类和抽象方法
1. 关键字 abstract
2. 作用 :
可以在父类中定义一个函数,但是不去实现。
所有继承自该类的子类都必须实现该类中的所有抽象函数。
3. 注意点:
不可以用抽象类来进行实例化,但可以用抽象类来声明。
但凡某一个类中有一个抽象方法,那么该类也就必须定义为抽象类。
4. 案例
abstract class Enemy
{
abstract public void attack();
}
class Boss : Enemy
{
public override void attack()
{
Console.WriteLine("我打人挺疼的");
}
}
网友评论