java:abstract_classes_vs_interfaces

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revision Both sides next revision
java:abstract_classes_vs_interfaces [2015/03/02 07:21]
gthanos
java:abstract_classes_vs_interfaces [2017/02/16 15:05]
gthanos
Line 1: Line 1:
 ====== Συγκρίνοντας Abstract Κλάσεις και Interfaces ​ ====== ====== Συγκρίνοντας Abstract Κλάσεις και Interfaces ​ ======
  
-Σε αυτή τη σελίδα συγκρίνουμε τις διαφορές Abstract Κλάσεων και Διεπαφών (Interfaces). Όπως έχουμε δει μέχρι τώρα μία κλάση μπορεί να υλοποιεί ένα Interface ή να κληρονομεί μία Abstract κλάση. Ποιες είναι οι διαφορές μεταξύ των δύο προσεγγίσεων;​+Σε αυτή τη σελίδα συγκρίνουμε τις διαφορές Abstract Κλάσεων και Διεπαφών (Interfaces). Όπως έχουμε δει μέχρι τώρα μία κλάση μπορεί να υλοποιεί ένα Interface ή να κληρονομεί μία Abstract κλάση. Ποιες είναι ​όμως ​οι διαφορές μεταξύ των δύο προσεγγίσεων;​
  
 ^  Χαρακτηριστικό ​ ^  Interface ​ ^  Abstract Class  ^ ^  Χαρακτηριστικό ​ ^  Interface ​ ^  Abstract Class  ^
Line 12: Line 12:
 | **Ταχύτητα** | Λιγότερο ταχύ | Ταχύτερο |  | **Ταχύτητα** | Λιγότερο ταχύ | Ταχύτερο | 
 | **Επεκτασιμότητα** | Θεωρείται κακή προγραμματιστική πρακτική η επέκταση ενός Interface. Ένα Interface δεν θα πρέπει να σχεδιάζεται με γνώμονα την μελλοντική του επέκταση. | Μία abstract κλάση μπορεί να αλλάξει την υλοποίηση της και να επεκταθεί,​ αρκεί να περιέχει default υλοποιήσεις για τις νέες μεθόδους που ορίζει. | | **Επεκτασιμότητα** | Θεωρείται κακή προγραμματιστική πρακτική η επέκταση ενός Interface. Ένα Interface δεν θα πρέπει να σχεδιάζεται με γνώμονα την μελλοντική του επέκταση. | Μία abstract κλάση μπορεί να αλλάξει την υλοποίηση της και να επεκταθεί,​ αρκεί να περιέχει default υλοποιήσεις για τις νέες μεθόδους που ορίζει. |
 +
 +
 +|Προηγούμενο:​ [[ :​java:​abstract_classes | Abstract Κλάσεις ]] | [[ :toc | Περιεχόμενα ]] | Επόμενο:​ [[ :​java:​exceptions_intro | Εξαιρέσεις ]]|
  
java/abstract_classes_vs_interfaces.txt · Last modified: 2019/04/05 17:34 by gthanos