Junior — Middle
განმარტეთ ობიექტზე ორიენტირებული პროგრამირების კონცეფცია პოლიმორფიზმის და როგორ ხორციელდება იგი კოდში.
sobes.tech AI
პასუხი AI-სგან
ობიექტზე ორიენტირებული პროგრამირების სფეროში მრავალფეროვნება — ეს არის უნარი, რომ სხვადასხვა კლასის ობიექტებმა ერთნაირ შეტყობინებებზე (მეთოდების გამოძახილებზე) განსხვავებული რეაგირება მოახდინონ. ეს საშუალებას აძლევს გამოიყენოთ ერთიანი ინტერფეისი სხვადასხვა ტიპის ობიექტებთან მუშაობისთვის.
Java-ში მრავალფეროვნება რეალიზებულია მემკვიდრეობით და მეთოდების გადაწერით. მაგალითად, ძირითადი კლასი აცხადებს მეთოდს, ხოლო ქვესკლასები ახორციელებს მას თავისებურად.
მაგალითი:
class Animal {
void sound() {
System.out.println("რაღაც ხმა");
}
}
class Dog extends Animal {
@Override
void sound() {
System.out.println("ხმობა");
}
}
class Cat extends Animal {
@Override
void sound() {
System.out.println("მიუ");
}
}
public class Main {
public static void main(String[] args) {
Animal a1 = new Dog();
Animal a2 = new Cat();
a1.sound(); // გამოიტანს "ხმობა"
a2.sound(); // გამოიტანს "მიუ"
}
}
აქ, ტიპის Animal ცვლადი შეიძლება მითითება სხვადასხვა ქვესკლასის ობიექტებზე, და მეთოდის sound() გამოძახება შესრულდება ობიექტის რეალურ ტიპზე დამოკიდებული — ეს არის მრავალფეროვნება.