Junior
Маънои мерос ва полиморфизм дар намудҳои маълумоти истинодӣ чист?
sobes.tech AI
Ҷавоб аз AI
Мероси калитим, механизми, ки имкон медиҳад, ки як синф (синфи фарзанд, синфи насл) хусусиятҳо ва рафторҳои синфи дигар (синфи асосӣ, падар)ро қабул кунад. Ин такрори истифодаи коди кӯмак мекунад ва сохтану тартиб додани ҳиерархияҳои синфҳоро дастгирӣ мекунад.
Полиморфизм қобилияти объектҳои синфҳои гуногун аст, ки ба як паём (завқи метод) дар асоси навъи мушаххасашон ҷавобҳои гуногун медиҳанд. Дар контексти калитим, ин аксар вақт тавассути иваз кардани методҳои синфи асосӣ дар синфи фарзандӣ ба вуҷуд меояд.
Масалан (Java):
// Синфи асосӣ
class Animal {
public void makeSound() {
System.out.println("Ҳайвонот садо мебароранд");
}
}
// Синфи фарзанд
class Dog extends Animal {
@Override // Иваз кардани метод
public void makeSound() {
System.out.println("Гав!");
}
}
// Синфи фарзанд
class Cat extends Animal {
@Override // Иваз кардани метод
public void makeSound() {
System.out.println("Мяу!");
}
}
class Main {
public static void main(String[] args) {
Animal myDog = new Dog(); // Объекти Dog, аммо ишора ба типи Animal
Animal myCat = new Cat(); // Объекти Cat, аммо ишора ба типи Animal
myDog.makeSound(); // Методи Dog-ро даъват мекунад
myCat.makeSound(); // Методи Cat-ро даъват мекунад
}
}
Дар ин мисол:
- Калитим: Синфҳои
DogваCatазAnimalмерос мегиранд. - Полиморфизм: тағйирёбандаҳои
myDogваmyCatба объектҳоиDogваCatишора мекунанд, ҳарчанд ки онҳо аз навъиAnimalмебошанд. Вақте киmakeSound()даъват мешавад, методи объект иҷро мешавад, на навъи ишора.