Sobes.tech
Junior — Middle

Μπορείτε να εξηγήσετε τι εννοείται με την έννοια της αφαιρετικότητας στον προγραμματισμό;

sobes.tech AI

Απάντηση από AI

Η αφαιρετικότητα στον προγραμματισμό είναι η διαδικασία ανάδειξης των ουσιωδών χαρακτηριστικών ενός αντικειμένου ή συστήματος και η απόκρυψη των λεπτομερειών υλοποίησης που δεν είναι σημαντικές για το τρέχον πλαίσιο. Αυτό επιτρέπει την εργασία με αντικείμενα σε ένα υψηλότερο επίπεδο, χωρίς να εισέρχεται σε πολύπλοκες λεπτομέρειες.

Στη C#, η αφαιρετικότητα υλοποιείται μέσω αφηρημένων κλάσεων και διεπαφών. Για παράδειγμα, μπορείτε να ορίσετε μια αφηρημένη κλάση με μεθόδους χωρίς υλοποίηση, και οι συγκεκριμένες κλάσεις θα υλοποιούν αυτές τις μεθόδους με τον δικό τους τρόπο:

abstract class Animal
{
    public abstract void MakeSound();
}

class Dog : Animal
{
    public override void MakeSound()
    {
        Console.WriteLine("Γαβ-γαβ");
    }
}

class Cat : Animal
{
    public override void MakeSound()
    {
        Console.WriteLine("Μιαου");
    }
}

Εδώ, ο χρήστης αλληλεπιδρά με την αφηρημένη κλάση Animal, χωρίς να ανησυχεί για τις λεπτομέρειες υλοποίησης των ήχων των ζώων.