介紹 Java 物件導向設計

Sharon Peng
Oct 31, 2019

--

相信有在學程式的各位,常常會聽見「物件導向」這幾個字。

所以今天就想要來跟大家好好介紹這個名詞!

什麼是物件(Object)?

物件的範圍很廣泛,你在生活中所看到的任何東西都可以算是一個物件,甚至肉眼看不到的,我們也說他是一個物件。譬如:人類、狗狗、車子、飛機等等。

但如果我們要能明確的辨別不同的物件,就需要靠「物件」上的特徵(Attributes)又或者是他的行為模式(Behaviors)來辨別。

而什麼是「特徵」(Attributes),很直觀的想法,要怎麼描述某個東西且是客觀且明顯的特徵,好比說,bill是一個人,(也是我們所說的物件),而bill的姓名、年紀、身高等等,就是描述他這個人的特徵。

EX: Bill is a boy, his height is 178….

再來是「行為模式」(Behaviors),也可以說是此物件「會做什麼樣的事情」,好比說,人類會走路、唱歌、吃飯、購物等等。狗狗會吃、跑、睡;鳥會飛、吃飯、跳等等。

什麼是類別( Class )?

我們小時候總會有個遊戲,要我們把東西分類,或是收東西也會分門別類地擺放。而這邊的類別和我們平常的類別也有異曲同工之妙。

沿用我們上次的bill這個「物件」好了,我們知道除了bill, 還會有其他的人物 kevin, Amy, John….。如果我們要把這些人物分類的話,用「人」這個類別來是最好不過的吧!所以呢,「類別」可以說是把物件給囊括再一起了。

類別,類似「物件」的模版,用這個模板我們可以做出很多不一樣的物件。類別也就是來定義「資料成員」(特徵)「方法成員」(行為)。因此類別可以說是用來描述物件的統稱。

定義類別:

類別存取修飾元 class 類別名稱 {     存取修飾元  資料型別  資料成員名稱(Attributes)
{
...
}
存取修飾元 資料型別 方法成員名稱 (Behaviors)
{
...
}
}

類別存取修飾元:在這邊有兩種,宣告public或是不宣告(預設階層)兩種方式。

宣告public,可以在不同套件使用。

預設階層:只能在定義的套件下使用,也就是正在用的class裡面。

*一個 Java可以定義多個類別,但是一個程式檔只能宣告一個pulic類別,且 public的檔名必須與程式檔名相同!!

public class Human{  // 定義「人」類別    public float height, weight;  //定義資料成員(特徵)
public float Bmi;

public float health() //定義方法成員(行為)
{
Bmi = (weight / (height * height)) * 10000;
return Bmi;
}
}

建立物件

public class BuildObject{
public static void main(String[] args) {
Human bill = new Human(); // 建立名為Bill的物件 bill.height = 191; // 設定Bill的身高特徵
bill.weight = 75; //設定Bill的體重特徵
double bmi = bill.health(); //呼叫bill的方法,取得bmi值
System.out.println("Height = " + bill.height);
System.out.println("Weight = " + bill.weight);
System.out.println("Bmi = " + bmi);
}
}

介面如下:要開啟兩個class檔才能順利執行。

今天就先介紹到這邊了~~

--

--