cpp:acccess_modifiers

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
cpp:acccess_modifiers [2017/04/20 14:20]
gthanos [Παράδειγμα χρήσης προσδιοριστών πρόσβασης]
cpp:acccess_modifiers [2018/05/02 08:12]
gthanos [Παράδειγμα χρήσης προσδιοριστών πρόσβασης]
Line 3: Line 3:
 Οι προσδιοριστές πρόσβασης επιτρέπουν την απόκρυψη της πληροφορίας που είναι από τις βασικές αρχές του αντικειμενοστραφή προγραμματισμού. Με την έννοια //"απόκρυψη πληροφορίας"// εννοούμε την απόκρυψη της εσωτερικής υλοποίησης της κλάσης. Οι προσδιοριστές πρόσβασης επιτρέπουν την απόκρυψη της πληροφορίας που είναι από τις βασικές αρχές του αντικειμενοστραφή προγραμματισμού. Με την έννοια //"απόκρυψη πληροφορίας"// εννοούμε την απόκρυψη της εσωτερικής υλοποίησης της κλάσης.
  
-Σε μία κλάση μπορούν να οριστούν οι προσδιοριστές πρόσβασης //public//, //protected// και //private//. Οι προσδιοριστές πρόσβασης αφορούν τόσο τα πεδία (μεταβλητές) όσο και τις συναρτήσεις (μεθόδους) της κλάσης. Οι λειτουργικότητα τους συνοψίζεται στα εξής:+Σε μία κλάση μπορούν να οριστούν οι προσδιοριστές πρόσβασης //public//, //protected// και //private//. Οι προσδιοριστές πρόσβασης αφορούν τόσο τα πεδία (μεταβλητές) όσο και τις συναρτήσεις (μεθόδους) της κλάσης. Η λειτουργικότητα τους συνοψίζεται στα εξής:
   - **public:** Ένα μέλος της κλάσης που δηλώνεται ως //public// είναι προσβάσιμο από οποιαδήποτε άλλη κλάση ή συνάρτηση που δεν ανήκει σε κλάση.   - **public:** Ένα μέλος της κλάσης που δηλώνεται ως //public// είναι προσβάσιμο από οποιαδήποτε άλλη κλάση ή συνάρτηση που δεν ανήκει σε κλάση.
   - **protected:** Ένα μέλος της κλάσης που δηλώνεται ως //protected// είναι προσβάσιμο από την κλάση στην οποια δηλώνεται και από τις υποκλάσεις αυτής, καθώς και από τις φιλικές συναρτήσεις (//friend functions//) της κλάσης.   - **protected:** Ένα μέλος της κλάσης που δηλώνεται ως //protected// είναι προσβάσιμο από την κλάση στην οποια δηλώνεται και από τις υποκλάσεις αυτής, καθώς και από τις φιλικές συναρτήσεις (//friend functions//) της κλάσης.
Line 61: Line 61:
 void Cube::setSize(int s) { void Cube::setSize(int s) {
   setWidth(s);   setWidth(s);
 +  //width = s; // this does not compile
   setHeight(s);   setHeight(s);
   setLength(s);   setLength(s);
Line 67: Line 68:
  
 <code cpp CubeUsage.cpp> <code cpp CubeUsage.cpp>
-include "Cube.cpp"+#include "Cube.cpp"
  
 int main() { int main() {
   Cuboid cuboid(1,2,3);   Cuboid cuboid(1,2,3);
 +  //cuboid.color = 0xFF0000 // this does not compile
   Cube cube(1, 0xcccccc);   Cube cube(1, 0xcccccc);
   cuboid.setWidth(5);   cuboid.setWidth(5);
cpp/acccess_modifiers.txt · Last modified: 2021/05/18 06:37 (external edit)