抽象類 和 介面總結

2021-08-22 08:32:57 字數 900 閱讀 4292

抽象類和介面本質的區別:

首先要明確,介面不是類,所以也不是抽象類。類是屬性和方法容器,但是這些屬性和方法沒有任何區別的堆積在一起,當開發人員要尋找某個方法時,將很不方便,這個時候,介面出現了,介面的出現就是為了解決這個問題。介面將類的內部屬性和方法進行分類,定義不同功能組的屬性和方法。

抽象類體現的是總體上的協同,介面的意義就是公共行為的載體,所以他的成員都是隱式公有的,不能加上修飾符。。

比如:某乙個抽象類是車:abstruct car,乙個抽象類是火車  abstruct trans.

繼承和間接繼承car的類都擁有car的乙個特性,這些特性也是帶有abstract的屬性,方法,欄位等的實現;不帶的是可選項;

但是car 和 trans 都擁有一些共同的功能,比如***啦,***啦。

接下來一段**演示他們的其他區別項:

inte***ce inter

public abstract class classa

//可選實現

}public abstract class classb:classa

//繼承了classb不只需要實現classb的內容,還需實現classa的;

class program : classb,inter

//在與其他類同名時,加上字首

public override void func()

public override void classbfunc()

public override void classafunc4()

public void func2(){}

static void main(string args)

}

其他更細緻的區別見其他的文章:

抽象類和介面總結

當兩個類有著共同方法,共同的屬性,子類實際上是父類的乙個特殊形式,對於子類的特殊性則通過實行抽象方法去實現,應該定義個抽象模擬較合理,大大減少了重複 量。而如果只是規則相同,例如都需要實現相同的方法,方法內容是不同的,則應該使用介面比較合理,實現了多型。總而言之,介面與抽象類的區別主要在於使用的動機...

抽象類和介面的總結

總結幾句話來說 1 抽象類和介面都不能直接例項化,如果要例項化,抽象類變數必須指向實現所有抽象方法的子類物件,介面變數必須指向實現所有介面方法的類物件。2 抽象類要被子類繼承,介面要被類實現。3 介面只能做方法申明,抽象類中可以做方法申明,也可以做方法實現 4 介面裡定義的變數只能是公共的靜態的常量...

抽象類和介面的總結

b 類 b 的表現形式 public class a 類的特點 1 類中的屬性可以是成員屬性,也可以是類屬性 2 類中的方法必須是有方法體的方法,也可以是成員方法,也可以是類方法 3 每個類必須至少有乙個構造方法,預設的是乙個無參的構造方法,可以呼叫構造方法創造對物件 乙個類只能繼承乙個父類,單根繼...