物件導向與面向過程

2021-09-28 16:40:36 字數 1361 閱讀 3662

1聯絡與區分

試想一下,有乙個 活動 ,籃球比賽。

需要記錄籃球運動員的的得分,搶斷,助攻的資料,以及比賽的分數。

如果說,用面向過程的方法,需要什麼?

(1)要乙個方法寫入分數,第二個方法寫入運動員的搶斷…

以及要把資料更新以及顯示出來 ,這是第乙個運動員。

第二個運動員又要重複,很不方便。

我們就想到用物件導向的思路。

(2)把每乙個運動員看成乙個物件,包含得分,搶斷,助攻的資料。

只要思考怎麼設計這個物件,有幾個遠動員,就宣告幾個物件就完事兒。

2抽象與類

問題往往是複雜的,要問題進行簡單化和抽象化,就是找到必要的要素,

公共部分,類就是對乙個具體物件的抽象,提取不可或少的成分。

3類的公共介面

乙個程式是由許多物件組成的,物件間資料的傳輸,方法的呼叫就是通過這個

公共介面來實現的。

4成員獲取許可權public or private

public 是公共介面,private對相當於資料進行了封裝,只有在public 中的方法來獲取。private在class中是預設的,不需要在資料型別前加上說明符private。

5內聯函式的介紹

在標頭檔案中,函式的內容較少,直接給出定義;

此外還可以在函式外給函式定義是用說明符 inline修飾為內聯函式。

inline void stock::show()

6建構函式與析構函式

當我們使用class時候,資料的hiding是其中的乙個基本屬性,private宣告的資料成員

意味著你不能直接得到,必須通過成員函式間接使用。

7如何宣告乙個物件。

普遍有兩種方法:

假設有乙個class:student

(1)student student(lilei,18,2);

(2) student student1 = student(wanglei,20,2)

可把物件複製給另乙個具有相同結構的物件

student1 = student

c++11新特性

可以通列表初始化物件

如:student student2 = ;

student srtudent3;

8在class中定義常亮;

class abc

; static const int day = 365;

}

9列舉型別名字衝突

c++11之前;

enum class a;

enum class b(small,long);

這是不行的,因為 a small 與 b small在同乙個作用域中

c++11 解決了這個衝突

物件導向過程與物件導向

物件導向過程與物件導向 1 程式的發展經歷了兩個階段 面向過程 物件導向。2 對於物件導向與面向過程可以用乙個例子解釋,如乙個木匠要做乙個盒子,那麼這個盒子的出發點會有兩種方式 物件導向 先想好要做的盒子,之後在去找相應的工具去做。面向過程 不去想要做什麼樣的盒子,隨需取工具。物件導向三大特徵 封裝...

物件導向與面向過程

分析出解決問題所需要的步驟,然後用函式把步驟分解開,使用時再呼叫這些函式。面向過程強調流程化 線性化 步驟化的思考方式 把構成問題事務分解成各個物件,描述各個事務在問題中的行為。強調整體性和差異性。具有抽象 封裝,繼承,多型 面向過程效率高 流程明確,具體步驟清楚 但耗費精力,重用率低 擴充套件能力...

物件導向與面向過程

一 面向過程程式設計 面向過程程式設計是一種以過程為中心的程式設計思想,分析出解決問題的步驟,然後用函式把這些步驟一步一步實現。面向過程程式設計,資料和對資料的操作是分離的。二 物件導向程式設計 物件導向程式設計是將事物物件化,通過物件通訊來解決問題。物件導向程式設計,資料和對資料的操作是繫結在一起...