Junior — Middle
შეგიძლიათ გამოიტანოთ ობიექტზე ორიენტირებული პროგრამირების აბსტრაქტული კლასი?
sobes.tech AI
პასუხი AI-სგან
აბსტრაქტული კლასი არის კლასი, რომელიც არ არის განკუთვნილი პირდაპირი ინიციალიზაციისთვის, არამედ serve როგორც სხვა კლასების ბაზის კლასი. მას შეუძლია შეიცავდეს როგორც განხორციელებულ მეთოდებს, ასევე აბსტრაქტულ (მონიშნულ) მეთოდებს, რომლებიც უნდა განხორციელდეს ქვესკლასებში.
Java (Android) მაგალითი აბსტრაქტული კლასი:
public abstract class Animal {
// აბსტრაქტული მეთოდი — უნდა განხორციელდეს ქვესკლასებში
public abstract void makeSound();
// ჩვეულებრივი მეთოდი განხორციელებით
public void sleep() {
System.out.println("ცხოველი სძინავს");
}
}
public class Dog extends Animal {
@Override
public void makeSound() {
System.out.println("ჰაუ!");
}
}
// გამოყენება
Animal dog = new Dog();
dog.makeSound(); // გამოიტანს: ჰაუ!
dog.sleep(); // გამოიტანს: ცხოველი სძინავს
ამ მაგალითში, Animal არის აბსტრაქტული კლასი და აქვს აბსტრაქტული მეთოდი makeSound(). კლასი Dog იშლება Animal-დან და ახორციელებს ამ მეთოდს.