1 花錢教育訓練不是賣工作,而是學習知識技能
2 做事情需要全力以赴
3 做過什麼項目部重要,重要的是學會了什麼
4 敢于去做事情 價值就會提高
如何學習c++
1 c++ 文法基礎(熟練掌握)
2 面向對象程式設計的概念與能力
3 大量的程式設計實踐(a 熟練閱讀複雜的c++源碼 b 獨立的設計與完成面向對象的c++程式)
Block Structured language
結構化分析:針對資料流建立資料模型,功能模型和行為模型,結構化設計業就是基于資料流的設計方法
encapsulation
Flexible data scoping
modularization
Object-Oriented Language
面向對象:使開發軟體的方法與過程盡可能的接近人類認識世界解決問題的方法與過程,使描述問題的問題空間與實際解法的解空間在結構上盡可能一緻。将資料與施加在該資料之上的操作封裝成類來模拟現實生活中的"對象"
ineritance
Polymorphism
Abstract data types
打個比方:
結構化程式設計:你要出門坐車,先寫個穿鞋出門的方法,然後是走路的方法,然後是等車的方法,然後是上車買票的方法,做到哪寫到哪
面向對象:把以上各種方法寫成類,存起來。你出去坐車可以依次調用這些方法,下次你出去坐火車,飛機都可以直接調用這些方法
标準c++
1 頭檔案不帶.h
2 main 預設傳回int
面向對象程式設計方法
1 分析并分解出某個問題中的種種對象
2 準确的描述所有對象之間的種種關系
3 找到他們之間的所有互相作用
4 用程式設計語言與工具來描述他們
5 用程式開發語言來表達(實作)他們
結構化程式設計
程式=資料+算法
算法=函數+控制流程
特點
結構化封裝,但無法隐藏
算法依賴于資料,更改與維護困難
重用性差
面向對象
封裝(類實作):資料隐藏,操作屏蔽,把特定的資料與相應的操作組合起來,把可見的與不可見的部分很理想的分離開來
繼承: 更好的可重用性
多态:
本質
c++允許把派生類對象的位址賦給基類的指針
所有的派生類的本質上都"is a"基類