密封类与密封方法
- 定义:
C#允许把类和方法声明为sealed
。对于类,这表示不能被继承(任何类不能继承自这个类)。对于方法表示不能被重写。
注意点 :
sealed
只能写在重写的方法上,写上以后,表示该方法不能被该类的子类重写了。
- 案例
- 错误的写法
- 正确的写法
sealed class baseClass{
}
// 错误的写法
class DerivedClass : baseClass { // 任何的类无法继承baseClass
}
class baseClass{
public virtual void function(){};
}
class DerivedClass : baseClass{
public sealed override void function(){}; // 可以将重写的方法声明为密封方法,表示该方法不能被重写。
}
抽象类 abstract
- 关键字abstract
- 作用:
可以在父类中定义一个函数或者字段,但是不去实现。
所有继承自该类的子类都必须实现该类中的所有抽象函数,抽象字段。
- 注意点
不可以用抽象类来进行实例化,但可以用抽象类来声明。
但凡某一个类中有一个抽象方法,那么该类也就必须定义为抽象类。
- 示例
abstract class Enemy
{
abstract public void attack();
}
class Boss : Enemy
{
public override void attack()
{
Console.WriteLine("我打人挺疼的");
}
}
abstract class Anima
{
public abstract int Aame
{
set;
get;
}
}
class Cat : Anima
{
private int _aame;
public override int Aame {
//get => throw new NotImplementedException();
//set => throw new NotImplementedException();
set
{
_aame = value;
}
get
{
return _aame;
}
}
引用代码出处
作者:silence_k
链接:http://www.jianshu.com/p/ce1252ddf7c6
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
网友评论