C 類和介面的定義

2021-09-08 07:44:39 字數 2086 閱讀 8772

c#中的類定義

c#使用class關鍵字來定義類:

class myclass

預設情況下,類宣告為內部的,即只有當前工程中的**才能訪問

也可以用internal關鍵字顯式宣告:

internal class myclass

可以指定類是公共的,即可以由其他工程中的**來訪問

要用public關鍵字宣告:

public class myclass

還可以指定類是

抽象類:不能例項化,只能繼承,可以有抽象成員,使用關鍵字abstract

密封類:不能繼承,使用關鍵字sealed

宣告抽象類:

public abstract class myclass

抽象類可以是public的,也可以是internal的

宣告密封類:

public sealed class myclass

抽象類可以是public的,也可以是internal的

可以在類定義中指定繼承,方式是類名後加冒號再加基類名:

public class myclass : mybase

注意:在c#中只能有乙個基類,如果繼承了個抽象類,就必須執行所繼承的所有抽象成員(除非派生類也是抽象的)

編譯器不允許派生類的可訪問性比其基類更高

即內部類可以繼承於乙個公共類,但公共類不能繼承於乙個內部類

如果沒有指定基類,那麼被定義的類繼承自system.object

還可以在冒號後面指定支援的介面

如果指定了基類,冒號後面跟著基類名,再接著乙個或多個指定的介面,之間用逗號分割

例如:給myclass指定乙個介面:

public class myclass : imyinte***ce

給myclass指定基類和介面:

public class myclass : mybase, imyinte***ce

指定多個介面:

public class myclass : mybase, imyinte***ce, imysecondinte***ce

訪問修飾符組合:

修飾符    含義

none or internal  類只能在當前工程中訪問

public    類可以在任何地方訪問

abstract or internal abstract 類只能在當前工程中訪問,不能例項化,只能繼承

public abstract   類可以在任何地方訪問,不能例項化,只能繼承

sealed or internal sealed 類只能在當前工程中訪問,不能派生,只能例項化

public sealed   類可以在任何地方訪問,不能派生,只能例項化

介面的定義

與類的宣告方式類似,使用inte***ce關鍵字:

inte***ce imyinte***ce

修飾符關鍵字public和internal的使用方式相同:

public inte***ce imyinte***ce

關鍵字abstract和sealed不能在介面中使用

因為介面不包含執行**,不能直接例項化,而且必須可以繼承

介面繼承跟類相似,不過可以使用多個基介面:

public inte***ce imyinte***ce : imybaseinte***ce, imybaseinte***ce2

介面不是類,不從system.object繼承

由於多型性使system.object的成員可以使用這些介面

system.object

公共建構函式

object  初始化 object 類的新例項。

公共方法

equals  已過載。 確定兩個 object 例項是否相等。  

gethashcode 用作特定型別的雜湊函式。

gettype  獲取當前例項的 type。  

referenceequals 確定指定的 object 例項是否是相同的例項。  

tostring 返回表示當前 object 的 string。 

受保護的方法 

finalize 析構函式

memberwiseclone 建立當前 object 的淺表副本。

C 中類和介面的區別

類是c 中重要的知識點,那麼常用的類有哪些呢?類可以分為 抽象類 abstract 密封類 sealed 靜態類 static 關鍵字 abstract 抽象類 抽象類就是不能使用new進行例項化的類,通俗來講就是沒有具體例項化的類。作用 如果子類擁有共同特性,可以把這個特性放到抽象類中,子類繼承這...

介面的定義

類的定義 class apublica publica int a 普通類裡面的 方法和屬性 的訪問修飾符要小於等於當前類的訪問修飾符 可以是public protected private static final int variable static int staticvariable fi...

C 類,介面的拓展

1 定義個拓展類,這個類必須是靜態類,static 2 定義拓展方法,這個方法也必須是靜態的 3 拓展方法的語法比較奇怪,第乙個引數是被拓展的類,而且必須在前面新增this關鍵字 4 不僅可以對類進行拓展,也可以對介面進行拓展 例子 static public vector3 getsides th...