1. 程式人生 > >面向物件程式設計的基本概念和特徵

面向物件程式設計的基本概念和特徵

面向物件程式設計的基本概念

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(); //解構函式
};
單繼承和多繼承:
單繼承:每個派生類只直接繼承一個基類的全部特性。
多繼承:多個基類派生出一個派生類的繼承關係。

3. 多型性