面向過程(強調步驟):當需要實現乙個功能的時候,每乙個具體的步驟都要親歷親為,詳細處理每乙個細節
物件導向(強調物件):當需要實現乙個功能的時候,不關心具體步驟,而是找乙個已經具有該功能的人來實現
//面向過程
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...