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 物件是一個獨立的元件,它由方法和屬性組成,以使某些型別的資料有用
  • 類系統允許程式通過使用繼承、覆蓋和擴充等技術,根據現有類(超類)定義新類(派生類)。