Java 類和物件
類和物件是物件導向程式設計的基本元件。通常,類和物件之間存在混淆。在本教程中,我們嘗試告訴你類和物件之間的區別。
首先,讓我們瞭解它們是什麼,
什麼是類?
類是一個實體,用於確定物件的行為方式以及物件將包含的內容。換句話說,它是構建特定型別物件的藍圖或一組指令。
語法
class <class_name>{
field;
method;
}
什麼是物件?
物件只不過是一個自包含的元件,它由方法和屬性組成,以使特定型別的資料有用。物件確定類的行為。向物件傳送訊息時,你要求物件呼叫或執行其中一種方法。
從程式設計的角度來看,物件可以是資料結構,變數或函式。它分配了一個記憶體位置。該物件被設計為類層次結構。
語法
ClassName ReferenceVariable = new ClassName();
物件和類有什麼區別?
類是藍圖或原型,它定義了某種型別的所有物件共有的變數和方法(函式)。
物件是一個類的標本。軟體物件通常用於模擬你在日常生活中發現的現實世界中的物件。
通過一個例子來理解 Java 類和物件的概念。
我們舉一個開發寵物管理系統的例子,尤其是專門用於狗的管理系統。你將需要有關狗的各種資訊,如不同品種的狗、年齡、大小等。
你需要對真實生物建模,將狗的模型輸入進軟體實體。
以下是解決方案 -
你可能列出的一些狗的差異可能是品種、年齡、大小、顏色等。如果再你想一分鐘,這些差異也是這些狗共有的一些共同特徵。這些特徵(品種、年齡、大小、顏色)可以形成物件的資料成員。
接下來,列出這些狗的常見行為,如睡眠、坐、吃飯等。所以這些將是我們的軟體物件的行為。
到目前為止,我們定義了以下內容,
- 類 - 狗
- 資料成員或物件 - 大小、年齡、顏色、品種等
- 方法 - 吃、睡、坐、跑。
現在,對於 Java 類中不同的資料成員值(品種大小,年齡和顏色),你將獲得不同的狗物件。
你可以使用此物件導向程式設計方法設計任何程式。
在建立類時,必須遵循以下原則。
- **單一責任原則(SRP) - **一個類應該只有一個改變的理由
- **開發封閉責任(OCP)- **它應該能夠擴充套件任何類而無需修改它
- **Liskov 替代責任(LSR)- **派生類必須可替代其基類
- **依賴倒置原則(DIP)- **取決於抽象,而不依賴於具體結果
- **介面隔離原則(ISP)- **準備客戶特定的介面。
類和物件的示例程式碼
//Class Declaration
public class Dog {
//Instance Variables
String breed;
String size;
int age;
String color;
//method 1
public String getInfo() {
return ("Breed is: "+breed+" Size is:"+size+" Age is:"+age+" color is: "+color);
}
public static void main(String[] args) {
Dog maltese = new Dog();
maltese.breed="Maltese";
maltese.size="Small";
maltese.age=2;
maltese.color="white";
System.out.println(maltese.getInfo());
}
}
輸出:
Breed is: Maltese Size is:Small Age is:2 color is: white
物件和類示例: 主外部類
在之前的程式中,我們在類中建立 main()
方法。現在,我們建立類並在另一個類中定義 main()
方法。這比以前更好。
//Class Declaration
class Dog {
//Instance Variables
String breed;
String size;
int age;
String color;
//method 1
public String getInfo() {
return ("Breed is: "+breed+" Size is:"+size+" Age is:"+age+" color is: "+color);
}
}
public class Execute{
public static void main(String[] args) {
Dog maltese = new Dog();
maltese.breed="Maltese";
maltese.size="Small";
maltese.age=2;
maltese.color="white";
System.out.println(maltese.getInfo());
}
}
輸出:
Breed is: Maltese Size is:Small Age is:2 color is: white
概要:
- Java 類是一個實體,用於確定物件的行為方式以及物件將包含的內容
- Java 物件是一個獨立的元件,它由方法和屬性組成,以使某些型別的資料有用
- 類系統允許程式通過使用繼承、覆蓋和擴充等技術,根據現有類(超類)定義新類(派生類)。