Καλησπέρα,
έχω μια απορία σχετικά με τη χρήση των getters/setters.
Στο βιβλίο των Deitel, συγκεκριμένα στην Παρατήρηση Μηχανικής Λογισμικού 8.4, γράφει:
" Όταν υλοποιείτε μια μέθοδο μιας κλάσης, να χρησιμοποιείτε τις μεθόδους set και get της κλάσης για πρόσβαση στα private δεδομένα της κλάσης. Αυτό απλοποιεί την συντήρηση του κώδικα και μειώνει τις πιθανότητες εισαγωγής σφαλμάτων στον κώδικα."
Σε αντίθεση με αυτό, στις σημειώσεις της ενότητας, η μέθοδος displayCoords()της κλάσης Point (σελ. 118) διαβάζει απευθείας τις private μεταβλητές x και y της κλάσης χωρίς τη χρήση των αντίστοιχων getters.
Εγώ έχω καταλάβει οτι οι getters/ setters προορίζονται για την προσπέλαση των private μεταβλητών μιας κλάσης από μεθόδους έξω από την κλάση αυτή. Είναι σωστό αυτό ή ανήκει στους "κανόνες σωστού προγραμματισμού" να κάνουμε χρήση τους και στις μεθόδους της ίδιας κλάσης, ακόμα και στους constructors;
έχω μια απορία σχετικά με τη χρήση των getters/setters.
Στο βιβλίο των Deitel, συγκεκριμένα στην Παρατήρηση Μηχανικής Λογισμικού 8.4, γράφει:
" Όταν υλοποιείτε μια μέθοδο μιας κλάσης, να χρησιμοποιείτε τις μεθόδους set και get της κλάσης για πρόσβαση στα private δεδομένα της κλάσης. Αυτό απλοποιεί την συντήρηση του κώδικα και μειώνει τις πιθανότητες εισαγωγής σφαλμάτων στον κώδικα."
Σε αντίθεση με αυτό, στις σημειώσεις της ενότητας, η μέθοδος displayCoords()της κλάσης Point (σελ. 118) διαβάζει απευθείας τις private μεταβλητές x και y της κλάσης χωρίς τη χρήση των αντίστοιχων getters.
Εγώ έχω καταλάβει οτι οι getters/ setters προορίζονται για την προσπέλαση των private μεταβλητών μιας κλάσης από μεθόδους έξω από την κλάση αυτή. Είναι σωστό αυτό ή ανήκει στους "κανόνες σωστού προγραμματισμού" να κάνουμε χρήση τους και στις μεθόδους της ίδιας κλάσης, ακόμα και στους constructors;