面向過程:強調的是功能行為
物件導向:將功能封裝進物件,強調具備了功能的物件。
面向過程:
開啟冰箱
儲存進冰箱
關閉冰箱
物件導向:
冰箱.開啟
冰箱.儲存
冰箱.關閉
物件導向:3個特徵:封裝、繼承、多型。
找物件,建立物件,使用物件。維護物件的關係。
類:描述。
物件:實體。
成員變數和區域性變數:
作用範圍:
成員變數作用於整個類中。
區域性變數作用與函式中,或者語句中。
在記憶體中的位置:
成員變數:在堆記憶體中,因為物件的存在,才在記憶體中存在。
區域性變數:存在棧記憶體中。
class car
}class cardemo
}封裝(encapsulation)
封裝:是指隱藏物件的屬性和實現細節,僅對外提供公共訪問方式。
好處:將變化隔離,便於使用,提高重用性,提高安全性。
封裝原則:
將不需要對外提供的內容都隱藏起來。
把屬性都隱藏,提供公共方法對其訪問。
具體的封裝行為:
/*private:私有,許可權修飾符:用於修飾類中的成員(成員變數,成員函式)。
私有只在本類中有效。
將age私有化以後,類以外即使建立了物件也不能直接訪問。
但是人應該有年齡,就需要在person中提供對應訪問age的方式。
注意:私有僅僅是封裝的一種形式。
*/class person
public void getage()
void speak()
}class persondemo
}建構函式
特點:1.函式名與類名此昂同
2.不用定義返回值型別
3.不可以寫return語句
作用:給物件進行初始化。
注意:1.預設建構函式的特點。
2.多個建構函式是以過載的形式存在的。
/*物件一簡歷就會呼叫與之對應的建構函式。
建構函式的作用:可以用於給物件初始化。
建構函式的小細節:
當乙個類中沒有定義建構函式時,系統會預設給該類加入乙個空引數的建構函式。
建構函式在物件建立時執行且只執行一次。
*/class person
person()
person(string n)
person(string n,int a)
public boolean compare(person p)
}class persondemo2
}this關鍵字
person (string name)
/*this:看上去,適用於區分區域性變數和成員變數同名情況。
this代表它所在函式所屬和物件的應用。
*/...
person(string name)
person(string name,int age)
...
python學習筆記 day5
函式 返回值 描述 pow x,y x y 運算後的結果 sqrt x 返回 x 的平方根 abs x 返回數字的絕對值,如 abs 10 返回 10 fabs x 返回數字的絕對值,如 math.fabs 10 返回 10.0 ceil x 返回數字的上入整數,入 math.ceil 4.1 返回...
matlab cody學習筆記 day5
一些學習筆記 1 陣列的簡單賦值 例如 input n 5 output m is 1 2 3 4 5 2 4 6 8 10 3 6 9 12 15 4 8 12 16 20 5 10 15 20 25 兩個迴圈的源 function m timestables n m ones n,n for i...
js學習筆記 day5
1.作用域 2.變數和函式的宣告提公升 js 的執行過程 3.作用域鏈 4.閉包 一種現象 1.使用閉包返回多個值 2.閉包的作用 3.條件式函式宣告 5.閉包的總結 1.js中的閉包是什麼 1.在函式外部訪問不到函式內部的資料 2.要解決的問題就是需要在外部間接的訪問函式內部的資料 2.閉包的作用...