Τι είναι η Abstract Class στο C#; | Ορισμός, Ιδιότητες vs Παραδείγματα

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

Η αφηρημένη κλάση στη C# είναι ουσιαστικά μια κλάση που δεν επιτρέπει τη δημιουργία αντικειμένων. Το "Abstract" είναι μια λέξη-κλειδί ή ένας τροποποιητής που προκαλεί τη συγκεκριμένη κλάση ή μέθοδο να είναι αφηρημένη ή περιορισμένη. Μια αφηρημένη κλάση μπορεί να προσπελαστεί μόνο μέσω κληρονομιάς από διαφορετική κλάση.

Βασικές τακτικές

  1. Οι αφηρημένες κλάσεις είναι ημιτελείς κλάσεις που δεν μπορούν να δημιουργηθούν, αλλά χρησιμεύουν ως βάση για να κληρονομήσουν άλλοι.
  2. Περιέχουν τουλάχιστον μία καθαρή εικονική συνάρτηση, που σημαίνει ότι δεν έχει υλοποίηση και πρέπει να οριστεί από οποιαδήποτε παραγόμενη κλάση.
  3. Οι αφηρημένες κλάσεις μπορούν να έχουν μεταβλητές μέλους και συναρτήσεις μέλους με υλοποίηση, αλλά δεν είναι δυνατή η πρόσβαση σε αυτά μέσω αντικειμένων της αφηρημένης κλάσης.

Ιδιότητες και Στοιχεία της κλάσης Abstract σε C#

Πρέπει να υπάρχουν ορισμένοι παράγοντες για την έναρξη ή την πρόσβαση σε μια αφηρημένη τάξη. Έχουν καταγραφεί ως εξής.

  1. Μια αφηρημένη κλάση δημιουργεί μια βασική κλάση στην οποία έχουν πρόσβαση πολλές παραγόμενες κλάσεις. Οι προγραμματιστές πρέπει να δημιουργήσουν μια παράγωγη κλάση για να χρησιμοποιήσουν ή να εφαρμόσουν μια αφηρημένη κλάση.
  2. Η αφηρημένη κλάση επομένως, πρέπει να κληρονομηθεί από υποκλάσεις, οι οποίες μπορεί ακόμη και να παρακάμψουν τη συνάρτηση.
  3. Κάθε αφηρημένη κλάση απαιτεί τουλάχιστον μία αφηρημένη μέθοδο.

Παράδειγμα αφηρημένης τάξης σε C#

Επειδή ο μηχανισμός είναι πολύπλοκος και κατανοητός μόνο σε όσους γνωρίζουν τον προγραμματισμό Γλώσσα, είναι καλύτερα να ξεκινήσετε με ένα απλό παράδειγμα που θα σας βοηθήσει να εξηγήσετε την έννοια.

Διαβάστε επίσης:  Phishing vs Spoofing: Διαφορά και σύγκριση

Ας υποθέσουμε ότι υπάρχει μια κλάση 'Tree', με μια υπάρχουσα σχεδιασμένη μέθοδο γνωστή ως 'type'. Τίποτα άλλο δεν ορίζεται και δεν παρέχονται άλλες συγκεκριμένες πληροφορίες – δεν γνωρίζουμε το είδος του δέντρου ή τους πιθανούς τύπους.

Εάν είναι διαθέσιμο ένα συγκεκριμένο παράδειγμα δέντρου, τότε δημιουργείται μια ξεχωριστή κλάση μέσω της κληρονομιάς της βασικής κλάσης, Tree. Η ιδέα είναι ότι η νέα τάξη, ας πούμε Pine ή Δρυς, δεν μπορεί να τροποποιήσει την κατασκευή ή τον ορισμό της βασικής κλάσης, δηλαδή το δέντρο. Πρέπει να δημιουργήσει την κλάση του, που προέρχεται από την κλάση Tree, και να ορίσει μια άλλη μέθοδο που κληρονομείται από τη βάση.

Πλεονεκτήματα της αφηρημένης τάξης σε C#

  1. Ενώ οι υποκλάσεις μπορούν να επιλέξουν είτε να εφαρμόσουν είτε να παρακάμψουν μια αφηρημένη κλάση, σίγουρα τροποποιήσεις μπορούν να γίνουν που απαιτούν την υλοποίηση μιας συγκεκριμένης λειτουργίας.
  2. Υπάρχει, επομένως, μεγάλος βαθμός ευελιξίας κατά το σχεδιασμό μιας αφηρημένης κλάσης σχετικά με το ποιες μέθοδοι πρέπει να εφαρμοστούν επιτακτικά.
  3. Ο προγραμματιστής μπορεί να επιλέξει πόσες αφηρημένες μεθόδους θέλει σε μια αφηρημένη τάξη. Είναι επίσης δυνατό να γράψετε τον κώδικα χωρίς να συμπεριλάβετε αφηρημένες μεθόδους.
  4. Μια αφηρημένη κλάση πρέπει να οριστεί μόνο μία φορά και μπορεί να προσπελαστεί ή να προέλθει από όσες φορές χρειάζεται.
  5. Μια αφηρημένη κλάση είναι πολύ χρήσιμη όταν υπάρχει ένα σύνολο κλάσεων που έχουν έναν βαθμό κοινότητας αλλά διαφέρουν ως προς την εφαρμογή της αφηρημένης κλάσης.

Μειονεκτήματα της αφηρημένης τάξης σε C#

  1. Μια αφηρημένη κλάση μπορεί να προστεθεί στην ιεραρχία κλάσεων μόνο εάν δεν υπάρχουν αφηρημένες κλάσεις.
  2. Αντικείμενα οποιασδήποτε αφηρημένης κλάσης μπορούν μόνο να αναφερθούν, χωρίς να δημιουργηθούν ποτέ.
  3. Παρόλο που οι αφηρημένες κλάσεις δεν μπορούν να δημιουργηθούν, δεν επιτρέπει στατικές μεταβλητές ή μεθόδους.
αναφορές
  1. https://books.google.co.in/books?hl=en&lr=&id=UbJa11wLcqYC&oi=fnd&pg=PA125&dq=Abstract+Class+in+C%23&ots=y9lmboLlHj&sig=kk5oYAJSHpmo-FyHphcAlkUh4cc&redir_esc=y#v=onepage&q=Abstract%20Class%20in%20C%23&f=false
  2. https://books.google.co.in/books?hl=en&lr=&id=-w9ftEtwPGwC&oi=fnd&pg=PP8&dq=Abstract+Class+in+C%23&ots=XXCx6-5nlm&sig=CYfs0myaTnm1anSz4QUGcZ65uS4&redir_esc=y#v=onepage&q=Abstract%20Class%20in%20C%23&f=false
Διαβάστε επίσης:  Blender vs Maya: Difference and Comparison

Τελευταία ενημέρωση: 11 Ιουνίου 2023

dot 1
Ένα αίτημα;

Έχω καταβάλει τόση προσπάθεια γράφοντας αυτήν την ανάρτηση ιστολογίου για να σας προσφέρω αξία. Θα είναι πολύ χρήσιμο για μένα, αν σκέφτεστε να το μοιραστείτε στα μέσα κοινωνικής δικτύωσης ή με τους φίλους/την οικογένειά σας. Η ΚΟΙΝΟΠΟΙΗΣΗ ΕΙΝΑΙ ♥️

23 σκέψεις σχετικά με το «Τι είναι το Abstract Class στην C#; | Ορισμός, Ιδιότητες vs Παραδείγματα»

  1. Το άρθρο περιγράφει όμορφα τα πλεονεκτήματα και τα μειονεκτήματα. Μια ολοκληρωμένη αναφορά για όποιον ενδιαφέρεται να μάθει για τα αφηρημένα μαθήματα στη C#.

    απάντηση
  2. Αυτό το άρθρο όχι μόνο υπογραμμίζει τα πλεονεκτήματα, αλλά καλύπτει και τα μειονεκτήματα μιας αφηρημένης τάξης στην C#. Πραγματικά εμπεριστατωμένη ανάλυση!

    απάντηση
  3. Βρίσκω την ευελιξία του σχεδιασμού μιας αφηρημένης τάξης πολύ ενδιαφέρουσα. Αυτό το άρθρο παρουσίασε τόσο τα πλεονεκτήματα όσο και τα μειονεκτήματα με σαφή και κατανοητό τρόπο.

    απάντηση
  4. Νομίζω ότι τα πλεονεκτήματα που αναφέρονται εδώ καταδεικνύουν πραγματικά τη χρησιμότητα μιας αφηρημένης τάξης. Παρέχονται υπέροχες ιδέες.

    απάντηση

Αφήστε ένα σχόλιο

Θέλετε να αποθηκεύσετε αυτό το άρθρο για αργότερα; Κάντε κλικ στην καρδιά στην κάτω δεξιά γωνία για αποθήκευση στο δικό σας πλαίσιο άρθρων!