Junior
რა არის აბსტრაქცია და პოლიმორფიზმი?
sobes.tech AI
პასუხი AI-სგან
აბსტრაქცია კონცენტრირებულია რეალიზაციის დეტალების დამალვაზე და ობიექტის მარტივ წარმოდგენაზე. პოლიმორფიზმი საშუალებას აძლევს სხვადასხვა კლასის ობიექტების დამუშავებას როგორც ერთი ბაზის კლასის ან ინტერფეისის ობიექტების, რომლებიც ახორციელებენ თითოეული ობიექტისთვის სპეციფიკურ მოქმედებებს.
| მახასიათებელი | აბსტრაქცია | პოლიმორფიზმი |
|---|---|---|
| მნიშვნელობა | დეტალების დამალვა, საერთო ხედვის მიწოდება | სხვადასხვა ტიპის ობიექტების ერთგვაროვანი დამუშავება |
| მიზანი | გამარტივება, სირთულის შემცირება | მოქნილობა, გაფართოებადობა, კოდის უნივერსალურობა |
| როგორ მიიღწევა | აბსტრაქტული კლასი, ინტერფეისი | მეთოდების გადატვირთვა, მეთოდების გადაფარვა, ინტერფეისები |
| მაგალითი | კლასი ავტომობილი გარეშე ძრავის დეტალების |
მეთოდი მოძრაობა() სხვადასხვა კლასებში (საშუალო, ტვირთი) |
აბსტრაქციის მაგალითი (აბსტრაქციის გამოყენება):
ინტერფეისი Shape {
// აბსტრაქტული მეთოდი
double calculateArea();
}
კლასი Circle implements Shape {
კერძო double radius;
საჯარო Circle(double radius) {
this.radius = radius;
}
@Override
public double calculateArea() {
// რეალიზაციის დეტალები დაფარულია ინტერფეისის მეთოდით
return Math.PI * radius * radius;
}
}
პოლიმორფიზმის მაგალითი:
// პოლიმორფიზმის გამოყენება
Shape myShape = new Circle(5);
// calculateArea() მეთოდის გამოძახება ბაზის ტიპის (ინტერფეისის Shape) მეშვეობით
// სინამდვილეში შესრულდება `Circle` კლასის calculateArea() მეთოდი
double area = myShape.calculateArea();
System.out.println("მიწის ფართობი: " + area);