《Java編程思想》是一本好書,但同時也是晦澀難懂,其一是知識本身的難度,其二這本書是翻譯過來的,而且是直譯,我也是嘗試了好多次才又拿起了這本書啃,沒想到今天突然感覺發現了寶藏,
接下來我就羅列一下今晚的識訓吧:
Sun對Java的設計目標:為程式員減少復雜性,(雖然Sun被收購了,還是謝謝Sun,注意,這里說的不是減少程式的復雜性,而是減少程式員寫代碼的復雜性,Java面向物件的思想毫無疑問解放了編程的生產力,打個比方,Sun負責留守大本營,程式員們利用Java大殺四方)
”人們所能解決問題的復雜性取決于抽象的型別和質量“,這是結論,接下來就聊到抽象機制的問題了,
舉起了一個栗子:
- 匯編語言是對底層機器的抽象
- Basic,C是對匯編語言的抽象
接下來,重點來了:
但它們的抽象都是基于計算機的結構去解決問題,而不是基于所要解決的問題去考慮,
面向程序的特點的本質是啥?是基于計算機的結構解決問題!!!
在面向程序的情況下,程式員需要在機器模型和待解決問題模型之間建立關聯,(當然,這種方式是非常困難的)
在面向程序到面向物件的路上,前人們做了哪些努力呢?
- LISP:所有問題都是串列
- APL:所有問題都是演算法
- Prolog:所有問題都是決策鏈
問題:針對特定領域都是不錯的解決方案,但其通用性太弱,無法脫離領域限制,
面向物件來了,核心思想:所有問題都是物件!!!(物件具有狀態和操作,也就是特性和行為,更專業,更熟悉的說法:屬性和方法)
一句話說明面向程序和面向物件的區別???
面向程序基于計算機的結構解決問題,面向物件基于問題本身(基于問題本身:將問題抽象為物件)解決問題,
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/139920.html
標籤:Java
上一篇:IO流
下一篇:多執行緒并發詳解
