透過實例了解Java中的繼承
繼承是物件導向程式設計(OOP)的核心概念,它允許一個類別取得另一個類別的屬性(屬性和方法)。在Java中,繼承是使用extends關鍵字實現的,並表示「is-a」關係。本文透過一個實際例子解釋了Java中的繼承。
程式碼範例
// Defining a class class Animal { // General attributes protected String colour; protected String breed; protected int age; // General methods public String sleep() { return "Both cats and dogs sleep"; } public String eat() { return "They also eat"; } // Constructor public Animal(String colour, String breed, int age) { this.colour = colour; this.breed = breed; this.age = age; } // Getters and setters public String getColour() { return colour; } public void setColour(String colour) { this.colour = colour; } public String getBreed() { return breed; } public void setBreed(String breed) { this.breed = breed; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } } // Cat class inheriting from Animal class class Cat extends Animal { private String catName; public Cat(String colour, String breed, int age, String catName) { super(colour, breed, age); // Call the parent class constructor this.catName = catName; } public String getCatName() { return catName; } public void setCatName(String catName) { this.catName = catName; } public String catSound() { return "Cat meows!"; } } // Dog class inheriting from Animal class class Dog extends Animal { private String dogName; public Dog(String colour, String breed, int age) { super(colour, breed, age); } public String getDogName() { return dogName; } public void setDogName(String dogName) { this.dogName = dogName; } public String dogSound() { return "Dog barks!"; } } public class Demo { public static void main(String[] args) { Cat myCat = new Cat("Brown", "Persian", 2, "Tom"); Dog myDog = new Dog("Black", "Labrador", 3); // Display Cat details System.out.println("Cat's Name: " + myCat.getCatName()); System.out.println("Cat's Colour: " + myCat.getColour()); System.out.println("Cat's Breed: " + myCat.getBreed()); System.out.println("Cat's Age: " + myCat.getAge()); System.out.println("Cat Sound: " + myCat.catSound()); System.out.println("Cat Behavior: " + myCat.eat() + " and " + myCat.sleep()); // Display Dog details System.out.println("Dog's Colour: " + myDog.getColour()); System.out.println("Dog's Breed: " + myDog.getBreed()); System.out.println("Dog's Age: " + myDog.getAge()); System.out.println("Dog Sound: " + myDog.dogSound()); } }
程式碼中的關鍵概念
父類(動物):
- 定義所有動物共有的共同屬性(顏色、品種、年齡)和方法(睡眠、進食)。
- 提供建構子來初始化這些屬性。
- 包含用於封裝的 getter 和 setter。
兒童課程(貓和狗):
- 擴展Animal類別並繼承其屬性和方法。
- 新增特定屬性(catName、dogName)和行為(catSound、dogSound)。
- 使用super關鍵字呼叫父類別建構子並初始化繼承的屬性。
示範課程:
- 作為程式的入口點。
- 示範如何建立 Cat 和 Dog 類別的物件並存取它們的屬性和方法。
繼承的好處
- 程式碼可重複使用性:Cat 和 Dog 類別重複使用 Animal 類別中的程式碼。
- 可擴充性:可以透過擴充 Animal 類別輕鬆地新增新的子類別(例如 Bird、Fish)。
- 多態性:可以在子類別中重寫 sleep 和 eat 等共享方法,以提供特定的行為。
程式的輸出
Cat's Name: Tom Cat's Colour: Brown Cat's Breed: Persian Cat's Age: 2 Cat Sound: Cat meows! Cat Behavior: They also eat and Both cats and dogs sleep Dog's Colour: Black Dog's Breed: Labrador Dog's Age: 3 Dog Sound: Dog barks!
我的 GitHub
java 倉庫
以上是透過實例了解Java中的繼承的詳細內容。更多資訊請關注PHP中文網其他相關文章!
陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章
R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 個月前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
1 個月前By尊渡假赌尊渡假赌尊渡假赌
刺客信條陰影:貝殼謎語解決方案
3 週前ByDDD
Windows 11 KB5054979中的新功能以及如何解決更新問題
2 週前ByDDD
威爾R.E.P.O.有交叉遊戲嗎?
1 個月前By尊渡假赌尊渡假赌尊渡假赌

熱工具

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

Dreamweaver CS6
視覺化網頁開發工具

WebStorm Mac版
好用的JavaScript開發工具

ZendStudio 13.5.1 Mac
強大的PHP整合開發環境

記事本++7.3.1
好用且免費的程式碼編輯器