c#
使用關鍵字
class
來定義類。其基本結構如下:
class myclass
定義這樣乙個類後,就可以在能訪問該定義的工程的其他地方對該類進行例項化。
預設情況下,類宣告為內部的,即只有當前工程中的**才能訪問它。
可以用internal
訪問修飾符關鍵字顯式指定,但這不是必須的,類在定義時預設為此型別的類。
如果將類指定為公共的,應可以由其他工程中的**來訪問。使用關鍵字
public
。(注:這種方式宣告的類不能是私有的
private
或受保護的
protected
。可以把這些宣告類的修飾符用於宣告類成員。)
還可以指定類是抽象的或密封的。
1.抽象
abstract
:不能被例項化,只能繼承,可以有抽象成員。
宣告方式如下:
public
abstract
class myclass
可以是乙個公共抽象類,也可以是乙個內部抽象類。 2
.密封sealed
:不能繼承。
宣告方式如下:
public
sealed
class myclass
與抽象類一樣,密封類也可以是公共或內部的。
可以在類定義中指定繼承。在定義類時在類名後面加上乙個冒號,其後是基類的名稱。
public
class myclass : mybase 在
c#中有乙個規定:編譯器不允許派生類的可訪問性比其基類更高。也就是說,內部類可以繼承於乙個公共類,但公共類不能繼承於乙個內部類。
合法的:內部類繼承公共類
public
class mybase
internal
class myclass : mybase
不合法的:公共類繼承內部類(編譯器會說可訪問性不一致)
internal
class mybase
public
class myclass : mybase
如果沒有使用基類,被定義的類則只繼承於基類
system.object
(它在c#中的別名是object)
除了以這種方式指定基類外,還可以在冒號的後面指定支援的介面。如果指定了基類,它必須緊跟在冒號的後面,之後才是指定的介面。如果沒有指定基類,則介面就跟在冒號的後面。使用逗號分隔基類名
(如果有基類
)和介面名。可以指定多個介面,以逗號分隔即可。
類定義中可以使用的訪問修飾符組合
none
orinternal
類只能在當前工程中訪問
public
類可以在任何地方訪問
abstract
orinternal abstract
類只能在當前工程中訪問,不能例項化,只能繼承
public abstract
類可以在任何地方訪問,不能例項化,只能繼承
sealed
or internal sealed
類只能在當前工程中訪問,不能派生,只能例項化
public sealed
類可以在任何地方訪問,不能派生,只能例項化
C 基礎筆記(一) 類
通常會將類的定義和其成員函式的定義分開 1.類定義 標頭檔案,宣告檔案 看成是類的外部介面,一般寫成.件。class 類名 2.類的成員函式定義 原始檔 看成是類的內部實現,一般寫成.cpp檔案。返回值 類名 函式名 引數列表 如果函式的前面沒有用 類名 編譯器認為該函式是全域性函式 普通函式 類作...
2023年C 學習筆記之一 類
c 學習筆記之一 類 1.class 其成員預設是私有的 struct 其成員預設是共有的 2.static 成員只有唯一的乙份副本 3.拷貝建構函式 x x const x 4.如果在乙個類的外面定義 const 成員函式,需要給出 const 字尾 inline int date year co...
C 學習(一) 類與物件
大二時學校開過物件導向程式設計 c 語言 的課,使用的是清華大學出版社,李愛華 程磊主編的教材。近兩年在學習和專案中一直使用c,對於c 已經忘記得差不多了。如今大四畢業之際開始學習qt開發上位機,需要用到c 使用原教材再次學習一次。類與物件是c 中兩個基本的概念。可以理解類是資料型別,物件是類定義的...