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(), შესრულდება ობიექტის მეთოდი, არა მიმთითებლის ტიპი.