6.2 Κλάσεις και αντικείμενα στην γλώσσα C++

Οι κλάσεις και τα αντικείμενα αποτελούν βασικά στοιχεία της γλώσσας προγραμματισμού C++. Ορίζοντας μια κλάση, δημιουργούμε ένα νέο τύπο δεδομένων που μπορεί να περιέχει δεδομένα και συναρτήσεις που λειτουργούν πάνω σε αυτά τα δεδομένα.

Μια κλάση ορίζει τη δομή και τις λειτουργίες ενός αντικειμένου. Ένα αντικείμενο είναι μια συγκεκριμένη εκδοχή μιας κλάσης και μπορεί να δημιουργηθεί με βάση αυτήν την κλάση. Κάθε αντικείμενο έχει τη δυνατότητα να κρατάει και να επεξεργάζεται τα δεδομένα της κλάσης, καθώς και να καλεί τις μεθόδους που έχουν οριστεί για αυτήν την κλάση.

Οι κλάσεις στη C++ επιτρέπουν τη χρήση δημόσιων (public), ιδιωτικών (private) και προστατευμένων (protected) μελών για τον έλεγχο της πρόσβασης στα δεδομένα και τις μεθόδους. Επίσης, η C++ υποστηρίζει την κληρονομικότητα, όπου μια κλάση μπορεί να κληρονομεί τις ιδιότητες μιας άλλης κλάσης, καθώς και την πολυμορφισμό, όπου μπορούμε να χρησιμοποιήσουμε αντικείμενα διαφορετικών κλάσεων με μία κοινή βάση.

Οι κλάσεις και τα αντικείμενα στη C++ μας επιτρέπουν να οργανώνουμε τον κώδικα μας σε λογικές μονάδες, να απομονώνουμε τις λειτουργίες και τα δεδομένα, και να δημιουργούμε ευέλικτες και επαναχρησιμοποιήσιμες εφαρμογές.

Για να δημιουργήσετε μια κλάση στη C++, χρησιμοποιήστε τη λέξη-κλειδί “class” ακολουθούμενη από το όνομα της κλάσης και τις παρενθέσεις {}. Μέσα στις παρενθέσεις προσθέτουμε τις μεταβλητές και τις μεθόδους που ανήκουν στην κλάση:

class Car {
  public:
    string brand;
    string model;
    int year;
};

Στο παραπάνω παράδειγμα, δημιουργούμε μια κλάση με όνομα “Car”. Η κλάση αυτή έχει τρεις δημόσιες (public) μεταβλητές: brand, model και year. Η λέξη-κλειδί public σημαίνει ότι οι μεταβλητές αυτές μπορούν να προσπελαστούν από οποιοδήποτε τμήμα κώδικα εκτός της κλάσης.

Για να δημιουργήσετε ένα αντικείμενο στη C++, πρέπει να δηλώσετε μια μεταβλητή με το όνομα της κλάσης. Για παράδειγμα, αν η κλάση σας ονομάζεται Car, μπορείτε να δηλώσετε ένα αντικείμενο της κλάσης ως εξής:

Car myCar;

Στο παραπάνω παράδειγμα, δηλώνουμε ένα αντικείμενο της κλάσης Car με το όνομα myCar.

Για να ορίσετε τιμές για τα χαρακτηριστικά ενός αντικειμένου, μπορείτε να χρησιμοποιήσετε τον τελεστή “.” στο αντικείμενο, όπως στο παρακάτω παράδειγμα:

myCar.brand = "BMW";
myCar.model = "X5";
myCar.year = 1999;

Στο παραπάνω παράδειγμα, ορίζουμε τις τιμές των χαρακτηριστικών του αντικειμένου myCar χρησιμοποιώντας τον τελεστή “.” για να προσπελάσουμε τις μεταβλητές brand, model και year της κλάσης Car.

[adinserter block=”2″]

Ας δούμε ένα παράδειγμα δημιουργίας αντικειμένου και ορισμού τιμών στα χαρακτηριστικά του στη C++:

#include <iostream>
using namespace std;

class Car {
  public:
    string brand; // Μεταβλητή για το brand του αυτοκινήτου
    string model; // Μεταβλητή για το μοντέλο του αυτοκινήτου
    int year; // Μεταβλητή για το έτος κατασκευής του αυτοκινήτου
};

int main() {
  Car myCar; // Δημιουργία ενός αντικειμένου της κλάσης Car με όνομα myCar
  myCar.brand = "BMW"; // Ανάθεση τιμής "BMW" στη μεταβλητή brand του αντικειμένου myCar
  myCar.model = "X5"; // Ανάθεση τιμής "X5" στη μεταβλητή model του αντικειμένου myCar
  myCar.year = 1999; // Ανάθεση τιμής 1999 στη μεταβλητή year του αντικειμένου myCar
  cout << "My car is a " << myCar.year << " " << myCar.brand << " " << myCar.model << endl; // Εκτύπωση των χαρακτηριστικών του αυτοκινήτου
  return 0;
}

Ο κώδικας δημιουργεί μια κλάση με το όνομα “Car”, η οποία έχει τρία δημόσια μέλη: μια μεταβλητή “brand” τύπου string για τη μάρκα του αυτοκινήτου, μια μεταβλητή “model” τύπου string για το μοντέλο του αυτοκινήτου, και μια μεταβλητή “year” τύπου int για το έτος κατασκευής του αυτοκινήτου.

Στη συνέχεια, ο κώδικας στη συνάρτηση “main” δημιουργεί ένα αντικείμενο της κλάσης “Car” με το όνομα “myCar”. Στο αντικείμενο αυτό ανατίθενται τιμές για τα μέλη “brand”, “model” και “year” με τη χρήση του τελεστή “.”. Συγκεκριμένα, η μεταβλητή “brand” λαμβάνει την τιμή “BMW”, η μεταβλητή “model” λαμβάνει την τιμή “X5”, και η μεταβλητή “year” λαμβάνει την τιμή 1999.

Τέλος, ο κώδικας χρησιμοποιεί την εντολή “cout” για να εκτυπώσει το κείμενο “My car is a”, ακολουθούμενο από την τιμή του μέλους “year”, την τιμή του μέλους “brand” και την τιμή του μέλους “model” του αντικειμένου “myCar”. Το αποτέλεσμα εκτυπώνεται στην οθόνη.

Ο κώδικας ολοκληρώνεται με την επιστροφή της τιμής 0 από τη συνάρτηση “main”, υποδηλώνοντας ότι ο κώδικας ολοκληρώθηκε με επιτυχία.

Μπορείτε να δημιουργήσετε πολλά αντικείμενα μίας κλάσης στη C++:

#include <iostream>
using namespace std;

// Ορισμός της κλάσης Car
class Car {
  public:
    string brand;  // Μεταβλητή για τον κατασκευαστή του αυτοκινήτου
    string model;  // Μεταβλητή για το μοντέλο του αυτοκινήτου
    int year;      // Μεταβλητή για το έτος κατασκευής του αυτοκινήτου
};

int main() {
  Car car1;  // Δημιουργία αντικειμένου της κλάσης Car με όνομα car1
  car1.brand = "BMW";       // Ανάθεση τιμής "BMW" στη μεταβλητή brand του αντικειμένου car1
  car1.model = "X5";        // Ανάθεση τιμής "X5" στη μεταβλητή model του αντικειμένου car1
  car1.year = 1999;         // Ανάθεση τιμής 1999 στη μεταβλητή year του αντικειμένου car1

  Car car2;  // Δημιουργία αντικειμένου της κλάσης Car με όνομα car2
  car2.brand = "Mercedes";  // Ανάθεση τιμής "Mercedes" στη μεταβλητή brand του αντικειμένου car2
  car2.model = "C-Class";   // Ανάθεση τιμής "C-Class" στη μεταβλητή model του αντικειμένου car2
  car2.year = 2005;         // Ανάθεση τιμής 2005 στη μεταβλητή year του αντικειμένου car2

  // Εκτύπωση πληροφοριών των αυτοκινήτων στην οθόνη
  cout << "My cars are a " << car1.year << " " << car1.brand << " " << car1.model << " and a " << car2.year << " " << car2.brand << " " << car2.model << endl;

  return 0;
}

Ο παραπάνω κώδικας δημιουργεί μια κλάση με όνομα “Car”, η οποία περιέχει μεταβλητές για την μάρκα, το μοντέλο και το έτος κατασκευής ενός αυτοκινήτου. Στη συνέχεια, στη συνάρτηση main(), δημιουργούνται δύο αντικείμενα της κλάσης “Car”, car1 και car2, και αναθέτονται τιμές στις μεταβλητές τους (μάρκα, μοντέλο, έτος).

Τέλος, εκτυπώνονται πληροφορίες για τα αυτοκίνητα στην οθόνη με τη χρήση της συνάρτησης cout της βιβλιοθήκης <iostream>. Τα δεδομένα των αυτοκινήτων εκτυπώνονται με τη χρήση των μελών των αντικειμένων car1 και car2.

Συνολικά, ο κώδικας δημιουργεί δύο αντικείμενα τύπου “Car” που αντιστοιχούν σε δύο αυτοκίνητα, αναθέτει τιμές στα χαρακτηριστικά τους και τυπώνει τις πληροφορίες των αυτοκινήτων στην οθόνη.

26 Ιουνίου, 2023
top
error: Content is protected !!
Μετάβαση σε γραμμή εργαλείων