Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision |
java:interface [2020/02/21 19:12] – gthanos | java:interface [2021/03/21 20:06] (current) – external edit 127.0.0.1 |
---|
Γνωρίζοντας ότι όλες οι εναλλακτικές κλάσεις που θα χρησιμοποιήσει θα υλοποιούν υποχρεωτικά το συγκεκριμένο //interface//, αρκεί να σχεδιάσει και να υλοποιήσει το λογισμικό του ώστε να χρησιμοποιεί το //interface// αυτό. Σε αυτή την περίπτωση, σχεδιάζει και γράφει το λογισμικό με γνώμονα το interface και όχι την κλάση που θα επιλέξει να χρησιμοποιήσει τελικά. | Γνωρίζοντας ότι όλες οι εναλλακτικές κλάσεις που θα χρησιμοποιήσει θα υλοποιούν υποχρεωτικά το συγκεκριμένο //interface//, αρκεί να σχεδιάσει και να υλοποιήσει το λογισμικό του ώστε να χρησιμοποιεί το //interface// αυτό. Σε αυτή την περίπτωση, σχεδιάζει και γράφει το λογισμικό με γνώμονα το interface και όχι την κλάση που θα επιλέξει να χρησιμοποιήσει τελικά. |
| |
Υιοθετώντας την έννοια του //interface// και γράφοντας κώδικα που χρησιμοποιεί //interfaces//, γράφουμε κώδικα που είναι ανεξάρτητος από την οποιαδήποτε υλοποίηση των //interfaces// που χρησιμοποιεί. Γενικότερα, ισχύει η αρχή ότι οι υλοποιήσεις ενός interface μπορεί να αλλάξουν, τα interfaces όμως συνιστάται να παραμένουν σταθερά. | Υιοθετώντας την έννοια του //interface// και γράφοντας κώδικα που χρησιμοποιεί //interfaces//, γράφουμε κώδικα που είναι ανεξάρτητος από την οποιαδήποτε υλοποίηση των //interfaces// που χρησιμοποιεί. Γενικότερα, ισχύει η αρχή ότι οι υλοποιήσεις ενός interface μπορεί να αλλάξουν, το interface όμως πρέπει να παραμένει σταθερο. |
| |
Οποιοσδήποτε προγραμματιστής χρησιμοποιεί το παραπάνω //interface// δεν χρειάζεται να γνωρίζει το παραμικρό για την εσωτερική υλοποίηση των κλάσεων που το υλοποιούν. Η επιλογή της κλάσης που το υλοποιεί μπορεί να μεταβάλλεται χωρίς να επηρεάζεται ο κώδικας που το χρησιμοποιεί. | Οποιοσδήποτε προγραμματιστής χρησιμοποιεί το παραπάνω //interface// δεν χρειάζεται να γνωρίζει το παραμικρό για την εσωτερική υλοποίηση των κλάσεων που το υλοποιούν. Η επιλογή της κλάσης που το υλοποιεί μπορεί να μεταβάλλεται χωρίς να επηρεάζεται ο κώδικας που το χρησιμοποιεί. |