Στη γλώσσα C#, οι κλάσεις και τα αντικείμενα είναι βασικά στοιχεία της αντικειμενοστραφούς προγραμματισμού. Μια κλάση αντιπροσωπεύει έναν ορισμό για έναν τύπο αντικειμένου, ενώ ένα αντικείμενο είναι μια συγκεκριμένη εμφάνιση μιας κλάσης στη μνήμη κατά την εκτέλεση του προγράμματος.
Μια κλάση περιέχει μέλη, όπως μεταβλητές και μεθόδους, που καθορίζουν την κατάσταση και τη συμπεριφορά των αντικειμένων που δημιουργούνται από αυτήν την κλάση. Τα αντικείμενα δημιουργούνται με βάση την κλάση, και κάθε αντικείμενο έχει τις δικές του μοναδικές τιμές για τις μεταβλητές της κλάσης.
Οι κλάσεις μπορούν να χρησιμοποιηθούν για την οργάνωση και την αφαίρεση του κώδικα, καθώς και για την απομόνωση λειτουργικοτήτων σε μονάδες που μπορούν να επαναχρησιμοποιηθούν. Τα αντικείμενα, από την άλλη πλευρά, μας επιτρέπουν να δημιουργήσουμε προγράμματα που λειτουργούν με συγκεκριμένα σύνολα δεδομένων και εκτελούν συγκεκριμένες εργασίες.
Συνολικά, οι κλάσεις και τα αντικείμενα στη γλώσσα C# μας επιτρέπουν να δομήσουμε τον κώδικα μας σε πιο οργανωμένες μονάδες και να δημιουργήσουμε προγράμματα που ανταποκρίνονται σε συγκεκριμένες ανάγκες και λειτουργίες.
Για παράδειγμα, μπορούμε να δημιουργήσουμε μια κλάση με το όνομα “Car” που ορίζει τα χαρακτηριστικά και τις μεθόδους ενός αυτοκινήτου:
class Car { string color; int weight; void Drive() { // Κώδικας για την οδήγηση του αυτοκινήτου } void Brake() { // Κώδικας για το φρενάρισμα του αυτοκινήτου } }
Η παραπάνω κλάση ορίζει τα χαρακτηριστικά color
και weight
του αυτοκινήτου και τις συναρτήσεις Drive()
και Brake()
που εκτελούν την οδήγηση και το φρενάρισμα του αυτοκινήτου αντίστοιχα.
Για να δημιουργήσετε ένα αντικείμενο από την κλάση Car
, μπορείτε να χρησιμοποιήσετε την εξής σύνταξη:
Car myCar = new Car();
Το παραπάνω κομμάτι κώδικα δημιουργεί ένα νέο αντικείμενο με τη χρήση της κλάσης Car
και το αποθηκεύει στη μεταβλητή myCar
. Από εκεί και πέρα, μπορείτε να χρησιμοποιήσετε το αντικείμενο για να αποκτήσετε πρόσβαση στα χαρακτηριστικά και τις μεθόδους του:
myCar.color = "Red"; myCar.weight = 1500; myCar.Drive();
Στο παραπάνω παράδειγμα, ορίζουμε το χρώμα και το βάρος του αυτοκινήτου myCar
και καλούμε τη μέθοδο Drive()
για να ξεκινήσει την οδήγηση.
[adinserter block=”2″]
Με τη χρήση κλάσεων και αντικειμένων, μπορείτε να οργανώσετε τον κώδικά σας σε λογικές οντότητες και να επαναχρησιμοποιήσετε κομμάτια κώδικα που ανήκουν σε αυτές τις οντότητες.
Για να δημιουργήσετε μια κλάση, χρησιμοποιήστε τη λέξη-κλειδί class.
Εδώ είναι ένα παράδειγμα που δημιουργεί μια κλάση με το όνομα “Person”:
class Person { // Μέλη της κλάσης (χαρακτηριστικά και μέθοδοι) θα οριστούν εδώ }
Στο παραπάνω παράδειγμα, έχουμε δημιουργήσει μια κλάση με το όνομα “Person”. Μπορείτε να προσθέσετε τα χαρακτηριστικά και τις μεθόδους που επιθυμείτε εντός των αγκύλων.
Παρακάτω παρουσιάζω ένα παράδειγμα με ένα χαρακτηριστικό (attribute) και μια μέθοδο (method) στην κλάση “Person”:
class Person { // Χαρακτηριστικό (attribute) string name; // Μέθοδος (method) public void SayHello() { Console.WriteLine("Γεια σας!"); } }
Σε αυτό το παράδειγμα, ορίζουμε ένα χαρακτηριστικό με το όνομα “name” που είναι τύπου string και μια μέθοδο με το όνομα “SayHello()” που εκτυπώνει το μήνυμα “Γεια σας!”.
Μπορείτε να προσθέσετε περισσότερα χαρακτηριστικά και μεθόδους στην κλάση “Person” ανάλογα με τις ανάγκες σας.
Ένα αντικείμενο δημιουργείται από μια κλάση. Ήδη έχουμε δημιουργήσει την κλάση με το όνομα “Car”, οπότε τώρα μπορούμε να χρησιμοποιήσουμε αυτήν για να δημιουργήσουμε αντικείμενα.
Για να δημιουργήσετε ένα αντικείμενο της κλάσης Car, πρέπει να καθορίσετε το όνομα της κλάσης, ακολουθούμενο από το όνομα του αντικειμένου και να χρησιμοποιήσετε τη λέξη-κλειδί new:
Car myCar = new Car();
Στο παραπάνω παράδειγμα, δημιουργούμε ένα νέο αντικείμενο με τη χρήση της κλάσης Car και το αποθηκεύουμε στη μεταβλητή myCar. Το αντικείμενο είναι τύπου Car και μπορούμε να το χρησιμοποιήσουμε για να αποκτήσουμε πρόσβαση στα χαρακτηριστικά και τις μεθόδους της κλάσης Car.
Αφού δημιουργήσετε ένα αντικείμενο, μπορείτε να χρησιμοποιήσετε τη σύνταξη dot (.) για να αποκτήσετε πρόσβαση στα μέλη του αντικειμένου. Για παράδειγμα:
myCar.color = "Red"; myCar.weight = 1500; myCar.Drive();
Στο παραπάνω παράδειγμα, αναθέτουμε το χρώμα “Red” και το βάρος 1500 στο αυτοκίνητο myCar και καλούμε τη μέθοδο Drive() για να ξεκινήσουμε την οδήγηση του αυτοκινήτου.
Μπορείτε να δημιουργήσετε περισσότερα αντικείμενα από την κλάση Car, ακολουθώντας την ίδια σύνταξη:
Car secondCar = new Car(); secondCar.color = "Blue"; secondCar.weight = 2000; secondCar.Drive();
Σε αυτό το παράδειγμα, δημιουργούμε ένα δεύτερο αντικείμενο αυτοκινήτου με το χρώμα “Blue” και το βάρος 2000, και καλούμε τη μέθοδο Drive() για να ξεκινήσουμε την οδήγηση του δεύτερου αυτοκινήτου.
[adinserter block=”3″]
Με τη χρήση κλάσεων και αντικειμένων, μπορείτε να δημιουργήσετε πολλά αντικείμενα που ανήκουν στην ίδια κλάση, αλλά έχουν διαφορετικές τιμές για τα χαρακτηριστικά τους.
Η γλώσσα προγραμματισμού C# υποστηρίζει τη δυνατότητα χρήσης πολλαπλών κλάσεων και αντικειμένων, προσφέροντας έναν οργανωμένο τρόπο διαχείρισης του κώδικα και της λογικής του προγράμματος. Με τη χρήση πολλαπλών κλάσεων, μπορούμε να οργανώσουμε τον κώδικά μας σε λογικά μονάδες και να αναπτύξουμε περισσότερο περίπλοκες εφαρμογές.
Κάθε κλάση αντιπροσωπεύει έναν τύπο δεδομένων και περιλαμβάνει μεταβλητές και μεθόδους που περιγράφουν τις ιδιότητες και τις λειτουργίες του τύπου αυτού. Μπορούμε να δημιουργήσουμε αντικείμενα από αυτές τις κλάσεις, τα οποία αντιπροσωπεύουν συγκεκριμένα παραδείγματα ή στιγμιότυπα των τύπων αυτών. Κάθε αντικείμενο έχει τις δικές του μοναδικές τιμές για τις μεταβλητές της κλάσης και μπορεί να εκτελέσει τις μεθόδους που ορίζονται σε αυτήν την κλάση.
Η χρήση πολλαπλών κλάσεων και αντικειμένων μας επιτρέπει να οργανώσουμε τον κώδικα μας σε λειτουργικές μονάδες, να αντιμετωπίσουμε πιο περίπλοκες απαιτήσεις και να αποκτήσουμε καλύτερη διαχείριση της πολυπλοκότητας. Επίσης, η χρήση πολλαπλών κλάσεων και αντικειμένων μας παρέχει τη δυνατότητα επαναχρησιμοποίησης του κώδικα και τη διατήρηση μιας καλής δομής και οργάνωσης του προγράμματος.
Μπορείτε να δημιουργήσετε πολλαπλά αντικείμενα από μια κλάση:
using System; class Car { string color; // Χρώμα του αυτοκινήτου int weight; // Βάρος του αυτοκινήτου public Car(string carColor, int carWeight) { color = carColor; // Αρχικοποίηση του χρώματος με την τιμή της παραμέτρου carColor weight = carWeight; // Αρχικοποίηση του βάρους με την τιμή της παραμέτρου carWeight } public void Drive() { Console.WriteLine("Το αυτοκίνητο κινείται."); // Εκτύπωση μηνύματος ότι το αυτοκίνητο κινείται } }
Ο παραπάνω κώδικας περιέχει τον ορισμό μιας κλάσης με όνομα “Car” στη γλώσσα C#. Η κλάση αυτή περιγράφει ένα αντικείμενο αυτοκινήτου και περιλαμβάνει τις μεταβλητές “color” και “weight” για το χρώμα και το βάρος του αυτοκινήτου, αντίστοιχα.
Ο κώδικας περιλαμβάνει έναν κατασκευαστή (constructor) που δέχεται δύο παραμέτρους: το χρώμα του αυτοκινήτου (“carColor”) και το βάρος του (“carWeight”). Ο κατασκευαστής αρχικοποιεί τις μεταβλητές “color” και “weight” με τις τιμές των αντίστοιχων παραμέτρων που περνιούνται κατά τη δημιουργία ενός αντικειμένου της κλάσης “Car”.
Επίσης, ο κώδικας περιέχει μια μέθοδο με όνομα “Drive” που δεν δέχεται παραμέτρους. Η μέθοδος απλά εκτυπώνει ένα μήνυμα στην οθόνη ότι το αυτοκίνητο κινείται.
Ο παραπάνω κώδικας ορίζει τη δομή της κλάσης “Car”, αλλά δεν περιέχει κώδικα που να δημιουργεί ή να χρησιμοποιεί αντικείμενα της κλάσης. Για να δημιουργηθούν αντικείμενα της κλάσης “Car” και να κληθούν οι μέθοδοί της, θα πρέπει να προστεθεί επιπλέον κώδικας.
Για να δημιουργήσετε πολλαπλά αντικείμενα της κλάσης Car
, μπορείτε να καλέσετε τον κατασκευαστή με διαφορετικές τιμές για το χρώμα και το βάρος:
Car car1 = new Car("Κόκκινο", 1500); Car car2 = new Car("Μπλε", 2000);
Σε αυτό το παράδειγμα, δημιουργούμε δύο αντικείμενα car1
και car2
της κλάσης Car
, με διαφορετικές τιμές για το χρώμα και το βάρος τους.
Μπορείτε να χρησιμοποιήσετε τα αντικείμενα για να αποκτήσετε πρόσβαση στα χαρακτηριστικά και τις μεθόδους της κλάσης Car
για κάθε αντικείμενο ξεχωριστά. Για παράδειγμα:
car1.Drive(); car2.Drive(); Console.WriteLine("Το χρώμα του πρώτου αυτοκινήτου είναι " + car1.color); Console.WriteLine("Το χρώμα του δεύτερου αυτοκινήτου είναι " + car2.color);
Σε αυτό το παράδειγμα, καλούμε τη μέθοδο Drive()
για το car1
και το car2
, η οποία εκτελεί την οδήγηση του κάθε αυτοκινήτου. Επίσης, χρησιμοποιούμε την ιδιότητα color
για να εμφανίσουμε το χρώμα του κάθε αυτοκινήτου.
Με τη χρήση πολλαπλών αντικειμένων μιας κλάσης, μπορείτε να δημιουργήσετε πολλά ανεξάρτητα αντικείμενα που μοιράζονται τις ίδιες μεθόδους και χαρακτηριστικά αλλά έχουν διαφορετικές τιμές.
[adinserter block=”4″]
Μπορείτε να χρησιμοποιήσετε πολλαπλές κλάσεις στην προγραμματιστική σας διαδικασία. Αυτό σας επιτρέπει να δημιουργήσετε ένα αντικείμενο μιας κλάσης και να το χρησιμοποιήσετε σε μια άλλη κλάση. Αυτή η πρακτική είναι συχνά χρήσιμη για να οργανώσετε καλύτερα τον κώδικά σας. Μια κλάση μπορεί να περιέχει όλα τα πεδία και τις μεθόδους που αφορούν ένα συγκεκριμένο αντικείμενο, ενώ μια άλλη κλάση μπορεί να περιέχει τη μέθοδο Main(), η οποία είναι η εκκίνηση του προγράμματος και περιλαμβάνει τον κώδικα που εκτελείται.
Εδώ είναι ένα παράδειγμα:
prog2.cs
class Car { string color; public Car(string carColor) { color = carColor; } public void Drive() { Console.WriteLine("Το αυτοκίνητο κινείται."); } }
prog.cs
class Program { static void Main() { Car myCar = new Car("Κόκκινο"); myCar.Drive(); } }
Στο παραπάνω παράδειγμα, έχουμε δύο αρχεία προγράμματος. Το αρχείο prog2.cs περιέχει την κλάση Car
, η οποία έχει ένα χαρακτηριστικό color
, έναν κατασκευαστή που δέχεται το χρώμα του αυτοκινήτου και μια μέθοδο Drive()
που εκτελεί την οδήγηση του αυτοκινήτου.
Στο αρχείο prog.cs, έχουμε την κλάση Program
με τη μέθοδο Main()
. Εκεί, δημιουργούμε ένα αντικείμενο myCar
της κλάσης Car
με το χρώμα “Κόκκινο” και καλούμε τη μέθοδο Drive()
για να ξεκινήσει την οδήγηση του αυτοκινήτου.
Για να εκτελέσετε το πρόγραμμα, πρέπει να συμπεριλάβετε τα δύο αρχεία προγράμματος κατά τη μεταγλώττιση:
csc prog.cs prog2.cs
Αυτή η εντολή μεταγλωττίζει τα δύο αρχεία προγράμματος και δημιουργεί ένα εκτελέσιμο αρχείο.
Όταν εκτελέσετε το πρόγραμμα, θα εκτυπωθεί το μήνυμα “Το αυτοκίνητο κινείται.”
Με τη χρήση πολλαπλών κλάσεων και αντικειμένων, μπορείτε να οργανώσετε τον κώδικά σας σε λογικές οντότητες και να έχετε καθαρή διαχωριστική γραμμή μεταξύ του κώδικα που περιγράφει τη λειτουργικότητα των κλάσεων και του κώδικα που εκτελείται.