Java ขยายคำหลักคืออะไร
class ParentClass{ ...}
class ChildClass extends ParentClass { ... }
มรดกอะไรใน Java?
เพื่อให้เข้าใจถึงการใช้ คำหลัก แบบขยายใน Java สิ่งสำคัญอันดับแรกคือต้องเข้าใจแนวคิดของการสืบทอด Java เป็นภาษาการเขียนโปรแกรมเชิงวัตถุ (OOP) OOP เป็นวิธีการออกแบบโปรแกรมโดยใช้คลาสและวัตถุ เมื่อต้องจัดการกับคลาสและออบเจกต์ อาจมีความสัมพันธ์บางอย่างระหว่างคลาสต่างๆ ซึ่งจำเป็นต้องแสดง การสืบทอดเป็นหนึ่งในความสัมพันธ์ระหว่างคลาส การสืบทอดหมายถึง Is-A-Relationship ระหว่างวัตถุ การสืบทอดสามารถกำหนดเป็นกลไกที่คลาสหนึ่งได้รับคุณสมบัติของคลาสอื่น คลาสที่สืบทอดเรียกว่าคลาสลูกหรือคลาสย่อยในขณะที่คลาสที่สืบทอดมาเรียกว่าคลาสพาเรนต์หรือซูเปอร์คลาส ขยายใน Java เป็นคีย์เวิร์ดที่ใช้ในการสืบทอดระหว่างคลาสตัวอย่าง
ตัวอย่างของคีย์เวิร์ดขยาย Java มีดังนี้:
class Animal {
// fields of the parent class
String name;
String sound;
int noOfLegs;
// default constructor of the parent class
public Animal (){}
// parameterized constructor of the parent class
public Animal (String name, String sound, int legs){
this.name = name;
this.sound = sound;
this.noOfLegs = legs;
}
// method of the parent class
public void display() {
System.out.println("My name is " + name);
System.out.println("My sound is " + sound);
System.out.println("My no. of legs is " + noOfLegs);
}
}
// inherit from Animal
class Dog extends Animal {
String color;
String breed;
// new method in subclass
public Dog(String name, String sound ,int legs, String color, String breed){
super(name,sound,legs);
this.color = color;
this.breed = breed;
}
public void display() {
super.display();
System.out.println("My color is " + color);
System.out.println("My breed is " + breed);
}
}
public class Main {
public static void main(String[] args) {
// create an object of the subclass
Dog dog1 = new Dog("Billy","Bark",4,"Brown","Labrador");
dog1.display();
System.out.println("------------------");
Dog dog2 = new Dog("Grace","Bark",4,"Black","Husky");
dog2.display();
System.out.println("------------------");
Dog dog3 = new Dog("Hugo","Bark",4,"Gray","Poodle");
dog3.display();
}
}
เอาต์พุต
ฉันชื่อบิลลี่ เสียงของฉันคือเห่า ฉันไม่มี มีขา 4 ขา สีของฉันคือสีน้ำตาล สายพันธุ์ของฉันคือลาบราดอร์ ------------------ ฉันชื่อเกรซ เสียงของฉันคือเห่า ขามี 4 ตัว สีของฉันคือสีดำ สายพันธุ์ของฉันคือฮัสกี้ ------------------ ฉันชื่อฮิวโก้ เสียงของฉันคือเห่า ขาของฉันคือ 4 สีของฉันคือสีเทา สายพันธุ์ของฉันคือพุดเดิ้ล
GO TO FULL VERSION