Βίντεο: SCP-2816 Nuclear Forgery | safe | Transfiguration / artistic scp 2024
Μια αφηρημένη κλάση στην Java είναι μια κλάση που περιέχει ένα ή περισσότερα αφηρημένες μεθόδους , οι οποίες είναι απλώς δηλώσεις μεθόδου χωρίς σώμα - δηλαδή, χωρίς εκτελέσιμο κώδικα που υλοποιεί την κλάση ή τη μέθοδο. Μια αφηρημένη μέθοδος είναι σαν ένα πρωτότυπο για μια μέθοδο, δηλώνοντας τον τύπο επιστροφής της μεθόδου και τη λίστα παραμέτρων, χωρίς όμως να παρέχει μια πραγματική εφαρμογή της μεθόδου. Δεν μπορείτε να εμφανίσετε μια αφηρημένη κλάση. Ωστόσο, μπορείτε να δημιουργήσετε μια υποκατηγορία που επεκτείνει μια αφηρημένη κλάση και παρέχει μια εφαρμογή των αφηρημένων μεθόδων που ορίζονται από την αφηρημένη κλάση. Μπορείτε να εμφανίσετε την υποκατηγορία.
δημόσιο αφηρημένο τύπο μεθόδου επιστροφής (λίστα παραμέτρων).
Ακολουθεί ένα παράδειγμα:
δημόσιο αφηρημένο int hit (int batSpeed);
Για να δημιουργήσετε μια αφηρημένη κλάση, χρησιμοποιείτε την περίληψη στην τάξη και συμπεριλαμβάνετε τουλάχιστον μία αφηρημένη μέθοδο. Για παράδειγμα:
δημόσια αφηρημένη κλάση Ball {public abstract int hit (int batSpeed);}
Μπορείτε να δημιουργήσετε μια υποκατηγορία από μια αφηρημένη κλάση όπως αυτή:η δημόσια τάξη BaseBall επεκτείνει την μπάλα {public int hit (int batSpeed) {// κώδικας που εφαρμόζει τη μέθοδο hit πας εδώ}}
Όταν υποκλάζετε μια αφηρημένη κλάση, η υποκατηγορία πρέπει να παρέχει εφαρμογή για κάθε αφηρημένη μέθοδο στην αφηρημένη κλάση. Με άλλα λόγια, πρέπει να παρακάμπτει κάθε αφηρημένη μέθοδο.
Οι αφηρημένες κλάσεις είναι χρήσιμες όταν θέλετε να δημιουργήσετε ένα γενικό τύπο που χρησιμοποιείται ως υποκατάστημα για δύο ή περισσότερες υποκατηγορίες, αλλά η ίδια η superclass δεν αντιπροσωπεύει πραγματικό αντικείμενο. Εάν όλοι οι εργαζόμενοι είτε είναι μισθωτοί είτε ωριαίοι, για παράδειγμα, είναι λογικό να δημιουργήσουμε μια αφηρημένη κλάση Employee και στη συνέχεια να την χρησιμοποιήσουμε ως βάση για τις υποκλάσεις SalariedEmployee και HourlyEmployee.
Δεν είναι όλες οι μέθοδοι σε μια αφηρημένη κλάση να είναι αφηρημένες. Μια τάξη μπορεί να προσφέρει μια εφαρμογή για μερικές από τις μεθόδους της, αλλά όχι για άλλους. Στην πραγματικότητα, ακόμη και αν μια τάξη δεν έχει αφηρημένες μεθόδους, μπορείτε ακόμα να την δηλώσετε ως αφηρημένη. (Σε αυτή την περίπτωση, ωστόσο, η κλάση δεν μπορεί να παρουσιαστεί σε παράδοση.)
-
Μια ιδιωτική μέθοδος δεν μπορεί να είναι αφηρημένη. Όλες οι αφηρημένες μέθοδοι πρέπει να είναι δημόσιες.
-
Μια τάξη δεν μπορεί να είναι τόσο αφηρημένη όσο και τελική.