ΜΠΟΡΕΙ η διεπαφή CAN να έχει μη αφηρημένες μεθόδους;
ΜΠΟΡΕΙ η διεπαφή CAN να έχει μη αφηρημένες μεθόδους;

Βίντεο: ΜΠΟΡΕΙ η διεπαφή CAN να έχει μη αφηρημένες μεθόδους;

Βίντεο: ΜΠΟΡΕΙ η διεπαφή CAN να έχει μη αφηρημένες μεθόδους;
Βίντεο: Gregory Chaitin: Complexity, Metabiology, Gödel, Cold Fusion 2024, Ενδέχεται
Anonim

Μέθοδοι διεπαφής είναι εξ ορισμού δημόσια και αφηρημένη άρα δεν μπορείτε δεν έχουν - αφηρημένες μεθόδους στο δικό σου διεπαφή . Στην Java, μεθόδους διεπαφής είναι δημόσιες και αφηρημένη από προεπιλογή. Επομένως, η πρώτη επιλογή είναι η κακή πρακτική. Το θέμα είναι ότι εσύ μπορώ μη χρησιμοποιείς μη - αφηρημένες μεθόδους μέσα σε διεπαφή , επειδή είναι αφηρημένη από προεπιλογή.

Επιπλέον, μπορεί μια διεπαφή να έχει αφηρημένες μεθόδους;

Ενα διεπαφή είναι σαν ένα "καθαρά" αφηρημένη τάξη. Η τάξη και όλα της μεθόδους είναι αφηρημένη . Ενα αφηρημένη τάξη μπορώ να έχω εφαρμόστηκε μεθόδους αλλά η ίδια η κλάση δεν μπορεί να δημιουργηθεί (χρήσιμο για κληρονομικότητα και μετά από DRY). Εάν εφαρμόσετε το Διεπαφή τότε πρέπει να εφαρμόσετε το μεθόδους στο διεπαφή.

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

Επιπλέον, μπορούμε να ορίσουμε μεθόδους στη διεπαφή;

Σαν τάξη, ένα διεπαφή μπορεί έχω μεθόδους και μεταβλητές, αλλά το μεθόδους δηλώνεται σε ένα διεπαφή είναι από προεπιλογή αφηρημένα (μόνο μέθοδος υπογραφή, χωρίς σώμα). Διεπαφές προσδιορίστε τι πρέπει να έχει μια τάξη κάνω και όχι πώς. Εάν μια τάξη το εφαρμόσει αυτό διεπαφή , τότε αυτό μπορώ να χρησιμοποιηθεί για την ταξινόμηση μιας συλλογής.

Πρέπει να εφαρμοστούν όλες οι μέθοδοι σε μια διεπαφή;

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

Συνιστάται: