面向物件程式設計的基本概念和特徵
阿新 • • 發佈:2019-01-26
面向物件程式設計的基本概念
1. 物件
物件:面向物件程式設計的基本單元,是類的一個例項。
可以定義為:物件是對問題域中客觀存在的事物的抽象,踏實一組屬性和在這些屬性上的操作的封裝體。
2. 類
類,就是對所有具有共同特徵的事物的抽象,是一個抽象概念。
在C++中用類來定義物件,類相當於一種使用者自定義的資料型別。
3. 訊息
訊息,向物件發出的服務請求就稱為訊息。
通常,訊息分為三部分:
- 接受訊息的物件
- 訊息選擇符
- 零個或多個變元
物件響應一個訊息所執行的操作,稱為物件的方法。在C++中把方法稱為成員函式。
4. 抽象
類是物件的抽象,物件是類的例項。
(1) 過程抽象
程式設計中的分層思想。 可以講問題分層次去設計實現
(2) 資料抽象
資料抽象是面向物件分析的核心原則,強調把資料和操作結合;
物件外部只知道它做什麼,而不必知道它如何做。
面向物件程式設計的三大特徵
1. 封裝性
物件就是屬性和操作的封裝體,只提供容許外部使用的操作與物件發生聯絡。 類是屬性和操作的結合體,規定了類中屬性和操作的訪問許可權。 - 公有(public):構成了類的介面,允許所有的函式訪問。 - 私有(private):只能由類自己的函式訪問。 - 保護(protected):該類和派生類的成員函式訪問。
2. 繼承性
繼承,能夠直接獲得已有的性質和特徵,而不必重複他們。
派生類:
class CSetEx: public CSet
{
public:
CSetEx& Union(CSetEx& s); //兩個集合並運算
CSetEx& Intersection(CSetEx& s); //集合交運算
CSetEx(); //建構函式
virtual ~CSetEx(); //解構函式
};
單繼承和多繼承:
單繼承:每個派生類只直接繼承一個基類的全部特性。
多繼承:多個基類派生出一個派生類的繼承關係。