c oop繼承 封裝 多型

2021-09-28 16:22:04 字數 2869 閱讀 9533

封裝被定義為"把乙個或多個專案封閉在乙個物理的或者邏輯的包中"。在物件導向程式設計方**中,封裝是為了防止對實現細節的訪問。

抽象和封裝是物件導向程式設計的相關特性。抽象允許相關資訊視覺化,封裝則使開發者實現所需級別的抽象。

c# 封裝根據具體的需要,設定使用者的訪問許可權,並通過訪問修飾符來實現。

乙個訪問修飾符定義了乙個類成員的範圍和可見性。c# 支援的訪問修飾符如下所示:public 訪問修飾符

public 訪問修飾符允許乙個類將其成員變數和成員函式暴露給其他的函式和物件。任何公有成員可以被外部的類訪問。

using system;

public void display()

", length);

console.writeline("寬度: ", width);

console.writeline("面積: ", getarea());

}}// rectangle 結束

class executerectangle}}

當上面的**被編譯和執行時,它會產生下列結果:

private 訪問修飾符允許乙個類將其成員變數和成員函式對其他的函式和物件進行隱藏。只有同乙個類中的函式可以訪問它的私有成員。即使是類的例項也不能訪問它的私有成員。

using system;

public double getarea()

public void display()

", length);

console.writeline("寬度: ", width);

console.writeline("面積: ", getarea());

}}//end class rectangle

class executerectangle}}

當上面的**被編譯和執行時,它會產生下列結果:

繼承是物件導向程式設計中最重要的概念之一。繼承允許我們根據乙個類來定義另乙個類,這使得建立和維護應用程式變得更容易。同時也有利於重用**和節省開發時間。

基類和派生類

乙個類可以派生自多個類或介面,這意味著它可以從多個基類或介面繼承資料和函式。

c# 中建立派生類的語法如下:

《訪問修飾符符》 class 《基類》

class 《派生類》 : 《基類》

基類的初始化派生類繼承了基類的成員變數和成員方法。因此父類物件應在子類物件建立之前被建立。您可以在成員初始化列表中進行父類的初始化。

using system;

public double getarea()

public void display()

", length);

console.writeline("寬度: ", width);

console.writeline("面積: ", getarea());

}}//end class rectangle

class tabletop : rectangle

public double getcost()

public void display()

", getcost());}}

class executerectangle}}

多型是同乙個行為具有多個不同表現形式或形態的能力。

多型性意味著有多重形式。在物件導向程式設計正規化中,多型性往往表現為"乙個介面,多個功能"。

多型性可以是靜態的或動態的。在靜態多型性中,函式的響應是在編譯時發生的。在動態多型性中,函式的響應是在執行時發生的。

在 c# 中,每個型別都是多型的,因為包括使用者定義型別在內的所有型別都繼承自 object。

您可以在同乙個範圍內對相同的函式名有多個定義。函式的定義必須彼此不同,可以是引數列表中的引數型別不同,也可以是引數個數不同。不能過載只有返回型別不同的函式宣告。

下面的例項演示了幾個相同的函式add(),用於對不同個數引數進行相加處理:

using system;

public int add(int a, int b)

} class program

} }

c# 允許您使用關鍵字abstract建立抽象類,用於提供介面的部分類的實現。當乙個派生類繼承自該抽象類時,實現即完成。抽象類包含抽象方法,抽象方法可被派生類實現。派生類具有更專業的功能。

下面的程式演示了乙個抽象類:

using system;

class rectangle: shape

public override int area ()

}class rectangletester

",a);

console.readkey();}}

}

當上面的**被編譯和執行時,它會產生下列結果:

封裝,繼承,多型

一 1 封裝 該隱藏隱藏,該公開的公開 屬性隱藏,同時提供get set方法 有些方法應該隱藏 方法宣告公開,實現隱藏。實現的改變對架構的影響最小 2 繼承 一般 特殊 單繼承 乙個類最多只能有乙個直接父類。類之間可以形成樹狀關係 根據訪問許可權,子類如果可以訪問父類的屬性和方法,就能繼承 priv...

繼承 封裝 多型

一 封裝 封裝是實現物件導向程式設計的第一步,封裝就是將資料或函式等集合在乙個個的單元中 我們稱之為類 被封裝的物件通常被稱為抽象資料型別。封裝的意義 封裝的意義在於保護或者防止 資料 被我們無意中破壞。在物件導向程式設計中資料被看作是乙個中心的元素並且和使用它的函式結合的很密切,從而保護它不被其它...

封裝 繼承 多型

一 封裝 封裝是實現物件導向程式設計的第一步,封裝就是將資料或函式等集合在乙個個的單元中 我們稱之為類 被封裝的物件通常被稱為抽象資料型別。封裝的意義 封裝的意義在於保護或者防止 資料 被我們無意中破壞。在物件導向程式設計中資料被看作是乙個中心的元素並且和使用它的函式結合的很密切,從而保護它不被其它...