1. 程式人生 > >C#的類的建立簡單繼承

C#的類的建立簡單繼承

從熟悉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