c#中可使用類來達到資料封裝的效果,這樣可以使資料與方法封裝成單一元素,以便於通過方法訪問資料。除此之外,還可以控制資料的訪問方式。
在物件導向程式設計中,大多數都是以類作為資料封裝的基本單位。類將資料和運算元據的方法結合成乙個單位。設計類時,不希望直接訪問類中的資料,而是希望通過方法來訪問資料。這樣就可以達到封裝資料的目的,方便以後的維護公升級,也可以在運算元據時多一層判斷。
此外,封裝還可以解決資料訪問的許可權問題,可以使用封裝將資料隱藏起來,形成乙個封閉的空間,然後可以設定哪些資料只能在這個空間中使用,哪些資料可以在空間外部使用。乙個類中包含敏感資料,有些人可以訪問,有些人不能訪問,如果不對這些資料的訪問加以限制,後果將會非常嚴重。所以要對類的成員使用不同的訪問修飾符,從而定義他們的訪問級別。
繼承是物件導向最重要的特性之一。任何類都可以從另外乙個類繼承,這就是說,這個類擁有它繼承類的所有成員。在物件導向程式設計中,被繼承的類稱為父類或基類。c#中提供了類的繼承機制,但只支援單繼承,而不支援多繼承,即在c#一次只允許繼承乙個類,不能同時繼承多個類。
多型性意味著有多重形式。
在物件導向程式設計正規化中,多型性往往表現為"乙個介面,多個功能"。
多型性可以是靜態的或動態的。
在靜態多型性中,函式的響應是在編譯時發生的。
在動態多型性中,函式的響應是在執行時發生的。
1.靜態多型性
在編譯時,函式和物件的連線機制被稱為早期繫結,也被稱為靜態繫結。c# 提供了兩種技術來實現靜態多型性。
分別為:
1.1方法過載:
可以在同乙個範圍內對相同的方法名有多個定義。
方法的定義必須彼此不同,可以是引數列表中的引數型別不 同,也可以是引數個數不同。
不能過載只有返回型別不同的方法宣告。
2.動態多型性
當有乙個定義在類中的函式需要在繼承類中實現時,可以使用虛方法。
2.1:虛方法是使用關鍵字 virtual 宣告的。
2.2:虛方法可以在不同的繼承類中有不同的實現。
2.3:對虛方法的呼叫是在執行時發生的。
2.4:動態多型性是通過抽象類和虛方法實現的。
定義虛方法:
訪問修飾符 virtual 返回的資料型別/void 方法名()
重寫父類的方法(子類中):
訪問修飾符 override 返回的資料型別/void 方法名()
C 基礎封裝,繼承,多型
一 封裝 c 中可使用類來達到資料封裝的效果,這樣可以使資料與方法封裝成單一元素,以便於通過方法訪問資料。除此之外,還可以控制資料的訪問方式。在物件導向程式設計中,大多數都是以類作為資料封裝的基本單位。類將資料和運算元據的方法結合成乙個單位。設計類時,不希望直接訪問類中的資料,而是希望通過方法來訪問...
c 封裝,繼承,多型
一 封裝 封裝是實現物件導向程式設計的第一步,封裝就是將資料或函式等集合在乙個個的單元中 我們稱之為類 被封裝的物件通常被稱為抽象資料型別。物件導向程式設計中一般以類作為資料封裝的基本單位。類將資料和運算元據的方法結合成乙個單位。在設計類時,不希望直接訪問類中的資料,而是希望通過方法來訪問資料。如此...
C 封裝 繼承 多型
物件導向的三個基本特徵 物件導向的三個基本特徵是 封裝 繼承 多型。其中,封裝可以隱藏實現細節,使得 模組化 繼承可以擴充套件已存在的 模組 類 它們的目的都是為了 重用。而多型則是為了實現另乙個目的 介面重用!封裝 什麼是封裝?封裝可以隱藏實現細節,使得 模組化 封裝是把過程和資料報圍起來,對資料...