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 對於物件導向與面向過程可以用乙個例子解釋,如乙個木匠要做乙個盒子,那麼這個盒子的出發點會有兩種方式 物件導向 先想好要做的盒子,之後在去找相應的工具去做。面向過程 不去想要做什麼樣的盒子,隨需取工具。物件導向三大特徵 封裝...
物件導向與面向過程
分析出解決問題所需要的步驟,然後用函式把步驟分解開,使用時再呼叫這些函式。面向過程強調流程化 線性化 步驟化的思考方式 把構成問題事務分解成各個物件,描述各個事務在問題中的行為。強調整體性和差異性。具有抽象 封裝,繼承,多型 面向過程效率高 流程明確,具體步驟清楚 但耗費精力,重用率低 擴充套件能力...
物件導向與面向過程
一 面向過程程式設計 面向過程程式設計是一種以過程為中心的程式設計思想,分析出解決問題的步驟,然後用函式把這些步驟一步一步實現。面向過程程式設計,資料和對資料的操作是分離的。二 物件導向程式設計 物件導向程式設計是將事物物件化,通過物件通訊來解決問題。物件導向程式設計,資料和對資料的操作是繫結在一起...