物件導向和封裝

2021-10-01 22:39:07 字數 2272 閱讀 4893

面向過程(強調步驟):當需要實現乙個功能的時候,每乙個具體的步驟都要親歷親為,詳細處理每乙個細節

物件導向(強調物件):當需要實現乙個功能的時候,不關心具體步驟,而是找乙個已經具有該功能的人來實現

//面向過程

public

class

print

; system.out.

print(""

);}else

system.out.

print

(array[i]

+",");

//使用物件導向

//找乙個jdk提供好的arrays類

//其中有乙個tostring方法,直接就能把陣列變成想要的格式的字串

system.out.

println

(arrays.

tostring

(array));}}}

物件導向的語言中,包含了三大基本特徵:封裝、繼承、多型

屬性:該事物的狀態資訊

行為:該事物能夠做什麼

乙個物件的記憶體空間

對於乙個物件,成員方法實際上儲存的是位址值

方法被呼叫後進棧(也叫壓棧),一旦執行完後立即出棧(也叫彈棧)

兩個物件使用同乙個方法的記憶體

兩個物件引用指向同乙個物件空間

private的使用

package demo;

/*問題描述:定義person的年齡時,無法阻止不合理的數值的設定

解決方法:用private關鍵字將需要保護的成員進行修飾

間接訪問private成員變數,就是定義一對getter/setter方法

命名必須是set***或get***

對於getter來說不能有引數,返回值型別和成員變數對應

對於setter來說不能有返回值,引數型別和成員變數對應

*/public

class

person

//此成員方法專門用於對age進行設定資料

public

void

setage

(int num)

else

}//用於獲取資料

public

intgetage()

}

package demo;

public

class

method

}

private的練習
package demo;

/*對於基本型別當中的boolean值,getter方法一定要寫成is***的形式,而setter不變

*/public

class

student1

public

boolean

ismale()

public

void

setname

(string str)

public string getname()

public

void

setage

(int num)

public

intgetage()

}

package demo;

public

class

student2

public

student2

(string name,

int age)

public string getname()

public

void

setname

(string name)

public

intgetage()

public

void

setage

(int age)

}

物件導向和封裝

用面向過程思想 system.out.print for i 0 i array.length i else 物件導向思想 找乙個jdk給我們提供很多arrays類,其中有乙個tostring方法可以直接列印成我們需要的 system.out.println arrays.tostring arra...

物件導向 封裝

面向過程就是分析出解決問題所需要的步驟,然後用函式把這些步驟一步一步實現,使用的時候乙個乙個依次呼叫就可以了 物件導向是把構成問題事務分解成各個物件,建立物件的目的不是為了完成乙個步驟,而是為了描敘某個事物在整個解決問題的步驟中的行為。面向過程 優點 效能比物件導向高,因為類呼叫時需要例項化,開銷比...

物件導向(封裝)

物件導向 封裝 封裝可以被認為是乙個保護屏障,防止該類的 和資料被外部類定義的 隨機訪問。如下 public class test public int getage public string getname public string getidnum public void setage in...