java:data_encapsulation

This is an old revision of the document!


A PCRE internal error occured. This might be caused by a faulty plugin

====== Απόκρυψη δεδομένων και εσωτερικής υλοποίησης ====== Ένα από τα βασικά χαρακτηριστικά του Αντικειμενοστραφούς Προγραμματισμούς είναι η απόκρυψη των δεδομένων και της εσωτερικής υλοποίησης των κλάσεων σε άλλες κλάσεις που τις χρησιμοποιούν. Κατά κάποιο τρόπο, συνηθίζουμε να παρέχουμε ένα σύνολο από μεθόδους (interface), το οποίο μπορούν αν χρησιμοποιήσουν άλλοι προγραμματιστές προκειμένου να χρησιμοποιήσουν την κλάση μας. Ο λόγος που αποκρύπτουμε τα εσωτερικά δεδομένα είναι ότι αν δεν γίνεται απευθείας χρήση των εσωτερικών δεδομένων μία κλάσης ή βοηθητικών συναρτήσεων αυτής τότε η εσωτερική υλοποίηση της κλάσης μπορεί να αλλάξει, χωρίς όμως να πρέπει να αλλάξουν και οι υπόλοιπες κλάσεις που χρησιμοποιούν την κλάση αυτή. Η παραπάνω πρακτική συναντάται στην βιβλιογραφία ως **data encapsulation** ή **information hiding**. Ακολουθώντας την παραπάνω πρακτική θα επαναορίσουμε την κλάση του ποδηλάτου, ώστε να υπακούει στον παραπάνω κανόνα. <code java> public class Bicycle { private int cadence; private int gear; private int speed; public Bicycle(int startCadence, int startSpeed, int startGear) { gear = startGear; cadence = startCadence; speed = startSpeed; } public int getCadence() { return cadence; } public void setCadence(int newValue) { cadence = newValue; } public int getGear() { return gear; } public void setGear(int newValue) { gear = newValue; } public int getSpeed() { return speed; } public void applyBrake(int decrement) { speed -= decrement; } public void speedUp(int increment) { speed += increment; } } </code>

java/data_encapsulation.1421846319.txt.gz · Last modified: 2016/02/26 11:15 (external edit)