標籤:android java 使用 問題 工作 c++ 伺服器 .net
作為一個電子專業的人,在學習了將近3年的嵌入式技術後,決定投奔移動互連網,在互連網大潮中急流勇進!
為了學習OOP(Object-oriented Programming),為了轉向移動互連網,我決定開始學習android開發,那麼就從Java開始吧!
Java的學習資料很多,在研究幾天之後,決定從《Java編程思想》這本書開始。
而在這本書之前,我已經看完了一個培訓導師的Java4Android的Java教學視頻,看的很快,因為我學過C和C++。
但我的Java水平依舊很差,主要在於物件導向的編程方式和編程思想沒有完全轉換過來,話不多說,開始吧!
----------------------------------------------------------------------
1.1 抽象過程
所以語言都提供抽象機制,如組合語言是對底層機器的輕微抽象;C語言是對組合語言的抽象;但它們所做的主要抽象仍是求在解決問題時要基於電腦的結構,而不是基於所要解決的問題的結構來考慮。所以OOP允許根據問題來描述問題,而不是根據運行解決方案的電腦來描述問題。
純粹的物件導向程式設計有5個基本特性:
1)萬物皆為對象;
2)程式是對象的集合,它們通過發送訊息來告訴彼此所要做的;
3)每個對象都有自己的由其它對象所構成的儲存;
4)每個對象都擁有其類型;
5)某一特定類型的所有對象都可以接收同樣的訊息;
1.2 每一個對象都有一個介面
UML(Unified Modelling Language,整合模組化語言)
1.3 每個對象都提供服務
將對象看作是服務者有助於提高對象的內聚性。高內聚是軟體設計的基本品質要求之一。
1.4 被隱藏的具體實現
將程式開發人員按照角色分為類建立者和用戶端程式員。
將實現隱藏起來可以減少程式BUG,因此存取控制的第一個存在原因就是讓用戶端程式員無法觸及他們不應該觸及的部分,這對用戶端程式員來說其實是一項服務。
控制訪問的第二個存在原因就是允許庫設計者可以改變類內部的工作方式而不用擔心會影響到用戶端程式員。
1.5 複用具體實現
在建立新類時,應該首先考慮組合,因為它更加簡單靈活。
1.6 繼承
有兩種方法可以使基類與匯出類(父類與子類):
一:直接在匯出類(子類)中添加新方法。
二:改變基類(父類)的方法,稱之為複寫(voerriding)。
1.7 伴隨多態的可互換對象
把將匯出類(子類)看做是它的基類(父類)的過程稱為向上轉型(upcasting)。
反之為向下轉型。
1.8 單根繼承結構
所有的類都有一個終極的基類(父類),這個基類的名字就是Object。
1.9 容器
參數化型別,即泛型。這一塊貌似比較複雜,我還沒看懂太多。。。
1.10 對象的建立和生命期
1.11 異常處理
try...catch...final
1.12 並發編程
在多線程編程當中,應當注意的是公用資源的訪問,在使用期間應該要被鎖定。
1.13 Java與Internet
Web
1)客戶、伺服器計算技術
2)Web就是一台巨型伺服器
3)用戶端編程
①外掛程式
②指令碼語言
③Java
④備選方法Java applet
⑤.NET和C#
⑥Internet和Intranet
4)伺服器端編程
總結:
目前我還處於從過程型語言編程思想到物件導向型編程思想的轉換過程,掌握現有的資源,深入淺出。
《==================END=================》