物件導向1
一、物件導向與面向過程的區別
面向過程:先設計一組函式用來解決乙個問題,然後在去確定函式中相應的需要處理的資料的儲存位置,即」演算法+資料結構=程式「。先決定演算法,再去決定使用的資料結構
物件導向:先確定要處理的資料,然後再設計處理資料的演算法,最後將資料和演算法封裝在一起構成物件。
二、物件導向的優點
1.更接近人們對客觀世界事務的認識
2.對資料和演算法的封裝更有利於陣列安全
3.使程式更簡單,更易於維護
類與物件:類是物件的模板,物件是類的具體實現
三、基礎
成員變數和區域性變數的區別
1、成員變數定義在類中,整個類都可以訪問;區域性變數定義在函式語
句、區域性**塊中,只在所屬的區域有效。
2、成員變數存在於對記憶體的物件中;區域性變數存在於棧中。
3、成員變數隨著物件的建立而存在,物件消失則消失;區域性變數隨所
屬區域的執行而存在,隨著所屬區域結束而釋放。
4、成員變數預設初始化值;區域性變數則沒有預設初始化值。
對應初始化值 整型—0;浮點型別—0.0或者0.0f;boolean—false
;char—『\u0000』
關鍵字——this:當成員變數和區域性變數重名,可以用this區分,代表著當前物件。
this可以用於在建構函式中呼叫其他建構函式
注意:對this的呼叫必須是建構函式的第一行,因為初始化要先執行。
——static(靜態):被static修飾的資料,是物件的共享資料;可以被類和物件直接呼叫。
特點:1、是乙個修飾符,用於修飾成員(成員變數,成員函式);該成員被所有物件共享。
2、static優先於物件存在,這與成員變數不同,成員變數隨著物件建立存在,隨著物件**而釋放,成員變數也稱為例項變數;因為static成員隨著類的載入存在,隨著類消失而消失,靜態變數稱為類變數;即兩者的生命週期不同。
3、靜態資料儲存在方法區的靜態區。
注意:1、靜態方法只能訪問靜態成員(非靜態既可以訪問靜態,也可以訪問非靜態)。
2、靜態方法中不可使用this、super關鍵字
3、主函式是靜態!!!
——final:可以修飾類、函式、變數。
1、被final修飾的類不能被繼承。
2、被final修飾的方法不能被覆蓋。
3、被final修飾的便變數就是乙個常量,只能賦值一次。
物件導向設計原則的個人學習總結
斷斷續續看了些設計原則的文章,通過寫下來加深下個人的記憶和理解 理解不一定很透徹,歡迎指正 學習的部落格 個人感覺這些設計原則都是類似的,目的都是實現松耦合 強內聚 少修改 多擴充套件的 遵循面向抽象或面向介面程式設計的原則。1 黎克特制替換 子類能夠完全替換父類,程式功能不受影響。說白了就是在呼叫...
持有物件(個人學習總結)
1.list arraylist與linkedlist區別 前者在隨機訪問元素方面有優勢,後者可以通過較低的代價進行插入與刪除。2.iterator迭代器iteratorit pets.inerator while it.hasnext 迭代器只能單向移動,迭代器統一了對容器的訪問 listiter...
HTML個人學習總結 1
作為乙個計算機零基礎的小白,到今天為止自學已有90天。是時候開始對這段時間所學內容進行總結 歸納了。web前端知識的總結自然是要從html的知識點開始。html全稱hyper text markup language,即超文字標記語言,它只是一種標記語言,並不算程式語言。我們通過html來編寫htm...