Java是種物件導向為基礎的程式語言,物件導向有3大特性:封裝、繼承、多型,但是在介紹3大特性以前,必須先談談何謂類別和物件。
類別:
類別可以把它想像成為一張藍圖,藍圖是為了做出我們想要的物件而設計的,裡面會定義好我們所需要的屬性和方法,其中方法又大概可以分為一般的方法、類別方法和建構子。
物件:
物件則是具體的東西,是藉由定義好的類別(藍圖)來建立的。
封裝:
物件導向概念中,「封裝」可說是物件狀態的隱藏過程,或指程式實作的隱藏
(implementation hiding)。所謂的封裝是透過統一方法或介面實作來取得那些類別
中不允許被外部直接存取的內部資料,以維謢物件資源的完整性與存取安全。
簡單地說:就是將類別(class)內部的屬性(data)和方法(method)包裝起來。
public class Encapsulation {
public static void main(String[] args) {
MyAccount account = new MyAccount();
account.setMoney(1000);
System.out.println(“$” + account.getMoney());
}
}
class MyAccount {
private int money;
public void setMoney(int money) {
this.money = money;
}
public int getMoney(){
return money;
}
}
//執行結果: $1000
繼承:
繼承是指類別物件的資源可以延伸和重複使用,在程式中可利用 extends 關鍵
字來表達類別的繼承關係,這種延伸類別(extends class ) 的關係也就是 “is a “的
概念。
class Father {
public int money = 1000000;
public void undertaking() {
System.out.println(“父親的事業”);
}
}
class Son extends Father {
}
Public class Extends {
public static void main(String[] args) {
Son son = new Son();
son.undertaking();
System.out.println(“金額:” + son.money);
}
}
/*
執行結果:
父親的事業
金額:1000000
*/
多形:
簡單來說就是同名的方法。多個相同名稱的方法,傳入不同的參數,會執行不同的敘述。
要實現java再多型方面的功能,可以使用2種技巧多載(overloading)和覆寫(overriding)。
關於多型的介紹會在寫下一篇文章。
如果我的觀念有錯的話錯誤歡迎指教!~
多型的部分可能講錯了,多型應該是指類別衍生彼此的關係,有時可以替換抽用或覆蓋
回覆刪除