介面呼叫//介面不能例項化,但可以用繼承的類例項化訪問
public inte***ce itest抽象類 //虛擬成員和抽象函式不能是私有的private.只能是public 和protectedvoid sayhello();
class myitest:itest
public void sayhello()
console.writeline("i am itest");
myitest one = new myitest;
itest inte***ceobject = one as itest;
inte***ceobject.sayhello();//此處呼叫的是myitest的sayhello函式
public abstract class aclasstest
public void sayhello();
protected void sayhello1();
//private void sayhello2();
class aclasstest:aclasstest
public override void sayhello()抽象類在繼承類中的實現叫override過載。介面在繼承類中的實現叫做函式的實現(換句話說,抽象類函式的實現是繼承類函式的過載,介面函式的實現就是繼承類的函式的方法體)console.writeline("i am public");
protected override void sayhello1()
console.writeline("i am protected");
// public void sayhello2()
即:abstract不允許有方法體,必須被子類override過載。貌似抽象函式只能在抽象類中申明。
虛擬方法visutal,必須申明實現,必須有主體函式。所以抽象類中不可能有虛函式。虛函式可以被繼承類override,不過其它函式(public和protected)何嘗不是也可以override,我去。
最後,override相對在abstract的繼承類中用的比較多然後是在virsual中還是用的比較多
PHP 物件導向 抽象類繼承抽象類
抽象類繼承另外乙個抽象類時,不用重寫其中的抽象方法。抽象類中,不能重寫抽象父類的抽象方法。這樣的用法,可以理解為對抽象類的擴充套件。下面的例子,演示了乙個抽象類繼承自另外乙個抽象類時,不需要重寫其中的抽象方法。abstract class user abstract class vipuser ex...
PHP 物件導向 抽象類繼承抽象類
抽象類繼承另外乙個抽象類時,不用重寫其中的抽象方法。抽象類中,不能重寫抽象父類的抽象方法。這樣的用法,可以理解為對抽象類的擴充套件。下面的例子,演示了乙個抽象類繼承自另外乙個抽象類時,不需要重寫其中的抽象方法。abstract class user abstract class vipuser ex...
物件導向 抽象類
抽象 裡邊有未明確的東西。抽象類的特點 1 抽象方法一定在抽象類中。2 抽象方法和抽象類都必須被abstract關鍵字修飾。3 抽象類不可以用new建立物件,因為呼叫抽象方法沒意義。4 抽象類中的抽象方法要被使用,必須由子類複寫其所有的抽象方法後,建立子類物件呼叫。如果子類只覆蓋部分抽象方法,那麼該...