Sobes.tech
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);