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"基類
用基類的指針調用任何方法,c++都能找到相應的派生類的方法