C#的類的建立簡單繼承
阿新 • • 發佈:2018-12-18
從熟悉C#語法到開發桌面應用
學校有個專案作業,要求用C#開發桌面應用小程式,然而我對桌面應用開發完全是小白。雖然以前學過基本的C#語法,但是幾乎都忘掉了,我一直用的都是python,因此需要先把C#語法在四天左右的時間快速熟悉,然後開始桌面程式設計。
壹. C#的類的建立簡單繼承(封裝性)
類的建立旨在實現資料的封裝
一.類的建立
1.基本語法:訪問修飾符 class 類名{}
2.例項:建立一個二維下的點類
public class Point //基類 { public int x, y; public Point(int x, int y) { this.x = x; this.y = y; } }
二.類的繼承(又名派生,C#只支援單繼承)
1.基本語法:訪問修飾符 class 子類名:父類名
2.例項:建立一個三維下的點類,繼承於二維的點,給它加上一個第三維的座標。
public class Point3D : Point//繼承
{
public int z;
public Point3D(int x, int y, int z) :
base(x, y)
{
this.z = z;
}
}
三.修飾符
1.訪問修飾符
(1)對欄位或者函式進行修飾
<1>訪問修飾符 資料型別 變數名
<2>訪問修飾符 返回型別 函式名(引數)
(C#把類內部,函式外的變數稱為欄位。 而不叫屬性,屬性我們在以後會介紹。函式也可以稱為方法)
訪問修飾符 | 效果 |
---|---|
public | 訪問不受限制,任何類的欄位或者函式都可訪問他 |
protected | 只有自己或者子類內部的欄位或者函式可以訪問的 |
private(預設型別) | 只有自己類內部的欄位或者函式可以訪問 |
internal | 可訪問域限定於類所在的程式集內 |
protected internal | protected或者internal,即可訪問域限定於類所在的程式或那些由它所屬的類派生的類內 |
(2)對類進行修飾(比較簡單,其他的修飾符沒有意義)
訪問修飾符 class 類名
訪問修飾符 | 效果 |
---|---|
internal(預設) | 類只能在當前工程中訪問 |
public | 類可以在任何地方訪問 |
(3)其他
結構 | 效果 |
---|---|
列舉(enum) | 列舉型別成員預設為public訪問修飾符,且不能顯示使用修飾符。 |
結構(struct) | 結構成員預設為private修飾符。結構成員無法宣告為protected成員,因為結構不支援繼承 |
介面(interface) | 介面成員訪問修飾符預設為public,且不能顯示使用訪問修飾符。 |
2.其他修飾符
(1)欄位,方法的修飾符
修飾符 | 效果 |
---|---|
readonly(對於欄位有效) | 只能讀不能修改 |
abstract(對於函式有效) | 沒有函式實體 |
override (對函式有效) | 用於父類覆蓋的抽象函式 |
(2)類的修飾符
修飾符 | 效果 |
---|---|
abstract | 這個類是一個抽象類,不能建立例項 |
sealed | 這個類不能派生,只能例項化 |
n
四.建構函式,解構函式,this指標
建構函式 public 類名(引數):
解構函式 public ~類名(引數):
this指標經常用於建構函式中出現了變數與物件的欄位重名的情況,例如上面類建立就使用了this指標。注意this指標不能在靜態函式中使用,也不可以指向靜態欄位。
五。類於與結構體的區別
1.類儲存於堆空間大,訪問速度慢;結構體儲存與棧中,空間小,訪問速度快。
2.類中可以為欄位賦值,結構體不能。
詳見 https://www.cnblogs.com/to-creat/p/5268729.html