Polymorphism به معنای "شکل های متعدد" است و زمانی رخ می دهد که ما کلاس های زیادی داشته باشیم که از طریق وراثت به یکدیگر مرتبط هستند.
همانطور که در فصل قبل مشخص کردیم.
ارث به ما اجازه می دهد
ویژگی ها و متدها را از کلاس دیگری به ارث می برند. چند شکلی
از آن روش ها برای انجام وظایف مختلف استفاده می کند. این به ما امکان می دهد یک تک آهنگ را اجرا کنیم
به روش های مختلف عمل کنید.
به عنوان مثال، به یک سوپرکلاس به نام Animal
فکر کنید که متدی به نام animalSound()
دارد. زیرمجموعههای حیوانات میتوانند خوکها، گربهها، سگها، پرندگان باشند - و آنها همچنین اجرای خود را از صدای حیوانات دارند (خوک جوک میزند و گربه میو میکند و غیره):
class Animal {
public void animalSound() {
System.out.println("The animal makes a sound");
}
}
class Pig extends Animal {
public void animalSound() {
System.out.println("The pig says: wee wee");
}
}
class Dog extends Animal {
public void animalSound() {
System.out.println("The dog says: bow wow");
}
}
از فصل وراثت به خاطر داشته باشید که از کلمه کلیدی extends
برای به ارث بردن از یک کلاس استفاده میکنیم. p>
اکنون میتوانیم Pig
و ایجاد کنیم.
را می بینید و روش
DoganimalSound()
را روی هر دوی آنها فراخوانی کنید:
class Animal {
public void animalSound() {
System.out.println("The animal makes a sound");
}
}
class Pig extends Animal {
public void animalSound() {
System.out.println("The pig says: wee wee");
}
}
class Dog extends Animal {
public void animalSound() {
System.out.println("The dog says: bow wow");
}
}
class MyMainClass {
public static void main(String[] args) {
Animal myAnimal = new Animal(); // Create a Animal object
Animal myPig = new Pig(); // Create a Pig object
Animal myDog = new Dog(); // Create a Dog object
myAnimal.animalSound();
myPig.animalSound();
myDog.animalSound();
}
}
- برای قابلیت استفاده مجدد کد مفید است: هنگامی که یک کلاس جدید ایجاد می کنید، از ویژگی ها و روش های یک کلاس موجود استفاده مجدد کنید.