密封類和密封方法
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. 關(guān)鍵字 abstract
2. 作用 :
可以在父類中定義一個函數(shù)寞宫,但是不去實現(xiàn)萧福。
所有繼承自該類的子類都必須實現(xiàn)該類中的所有抽象函數(shù)。
3. 注意點:
不可以用抽象類來進行實例化辈赋,但可以用抽象類來聲明鲫忍。
但凡某一個類中有一個抽象方法,那么該類也就必須定義為抽象類钥屈。
4. 案例
abstract class Enemy
{
abstract public void attack();
}
class Boss : Enemy
{
public override void attack()
{
Console.WriteLine("我打人挺疼的");
}
}