日常學習 8.03 面向對象
8.03
java面向對象編程 (封裝,繼承,多態(tài))
#編程思想的對比
1.面向過程
從頭編寫到尾,之間穿插一些方法
更接近計算機的運行方式
所有的事情都親歷親為
適合小型項目 代表語言:C
2.面向對象
更接近人類的思維(偷懶)
比起面向過程,它更注重誰能幫我做這個事情
適合中大型項目,代表語言:Java c++ python js php
#面向對象的含義
大量/經常性 的使用 對象 進行編程
1.使用Java提供的對象編程
2.使用自定義的對象進行編程(重點)
對象的作用:
1.存儲數據(可以儲存不同數據類型的數據)
2.實現(xiàn)功能(有多少功能寫多少方法)
#自定義對象
1.自定義模板(類)
-成員屬性(變量)
修飾符 數據類型 屬性名;
public int hello;
public char name;
-構造方法
作用:
1.創(chuàng)建對象
2.初始化數據
特殊:
1.絕對沒有返回值的位置
2.方法名就是類名
-成員方法
調用方式一定是使用對象名.方法名()
且絕對沒有static
2.根據模板(類)創(chuàng)建 對象/實例
類名 對象名 = new 構造方法();
#存儲數據
對象名.屬性名 = 數據;
#實現(xiàn)功能
對象名.方法名()
#方法的重載
出現(xiàn)在同一個類中
方法名相同
參數列表不同(個數不同 or 數據類型不同 or 順序不同)
與返回值無關
#對象與數組的結合
1.對象中存數組
-學生類有一個屬性:愛好,將愛好定義為數組,可以儲存多個”愛好“
-初始化屬性時,要創(chuàng)建數組(靜態(tài),動態(tài))
2.數組中存對象
在同類型的對象數量多的情況下,不方便一個一個調用
可以將這些對象存在數組中,通過數組去遍歷
心得:從面向對象很考驗思維方式與思維能力,一旦考慮不周,很容易崩盤,bug滿天飛,一定要認真思考