1,本節課開始進入 C++ 中的面向對象,面向對象是 C++ 中最核心也是體現 C++ 價 值的一個部分;
2,日常生活當中我們都習慣對事物進行分類,那么這種分類的思想是否可以引入到 程序設計中?
1,可以;
2,面向對象就是將分類的思想直接引入到程序設計當中;
3,面向對象的意義在於:
1,將日常生活中習慣的思維方式引入程序設計中;
1,避免錯誤;
2,順序、選擇、循環這三種 C 中的編程泛型不能滿足非科學計算中的軟件開發問題,引來了軟件災難;
2,將需求中的概念直觀的映射到解決方案中;
1,引起軟件災難的原因就是需求變更;
2,少許的需求改變對應着少許的軟件更改;
3,將分類的思想引入到軟件設計中,獲得成功,由此面向對象誕生;
3,以模塊為中心構建可復用的軟件系統;
4,提高軟件產品的可維護性和可擴展性;
4,類和對象是面向對象中的兩個基本概念:
1,類:指的是一類事物,是一個抽象的概念;
1,類是一個類別,抽象的;
2,對象:指的是屬於某個類的具體實體;
3,類是一種模型,這種模型可以創建出不同的對象實體;
1,模型存在不一定存在實體;
2,實體存在則一定存在模型;
4,對象實體是類模型的一個具體實例;
5,一個類可以有很多對象,而一個對象必然屬於某個類;


1,語言分為程序設計語言和自然語言兩個類;
2,程序設計語言和自然語言又能夠分別分類;
6,生活中的類和對象:

1,將分類思想帶入程序設計中,這很重要;
7,類和對象的意義:
1,類用於抽象的描述一類事物所持有的屬性和行為;
1,如:電腦有 CPU、內存和硬盤,並且可以開機和運行程序;
2,對象是具體的事物,擁有所屬類中描述的一切屬性和行為;
1,不同的對象屬性和行為上有差異;
2,每一只老虎都有不同的體重,不同食量以及不同的性情;
3,每一個子類對象都擁有父類的一切屬性和行為,因為其也屬於父類;
8,一些有趣的問題:
1,類一定存在實際的對象嗎?
1,不一定,純虛類;
2,類是分別出來的,恐龍類就沒有對象;
2,類的對象數目是確定的嗎?
1,不一定;
2,老虎的數目是不確定的;
3,皇帝這個類對象數只有一個;
3,類一定都來源於現實生活中嗎?
1,不一定,純虛類;
4,類都是獨立的嗎?類之間存在關系嗎?
1,不都是獨立的,類之間可以繼承也可以組合;
5,對象實例一定只屬於一個類嗎?
1,不一定,其也屬於這個類的父類;
2,多重繼承;
6,對象實例可能完全相同嗎?
1,不可能;
2,不可能出現兩個完全相同的樹葉;
9,小結:
1,面向對象是當今軟件開發中的重要方法;
2,類和對象是面向對象理論中的基本概念;
3,類和對象均來源於日常生活中;
4,每個類可以有多個對象;
5,每個對象必然屬於某個類;
