Στη γλώσσα C#, τα μέλη μιας κλάσης αναφέρονται στις μεταβλητές, τις ιδιότητες (properties) και τις μεθόδους που ανήκουν σε αυτήν την κλάση.
Οι μεταβλητές είναι μεταβλητές δεδομένων που χρησιμοποιούνται για την αποθήκευση τιμών και πληροφοριών σχετικά με το αντικείμενο της κλάσης. Οι μεταβλητές μπορούν να είναι δηλωμένες με διάφορους τύπους δεδομένων, όπως ακέραιους αριθμούς, δεκαδικούς αριθμούς, αλφαριθμητικά κλπ.
Οι ιδιότητες (properties) είναι μεθόδοι πρόσβασης που επιτρέπουν την ανάγνωση και την εγγραφή τιμών σε μεταβλητές της κλάσης. Οι ιδιότητες παρέχουν μια επιπλέον επίπεδη αφαιρετική στρώση πάνω από τις μεταβλητές και επιτρέπουν τον έλεγχο της πρόσβασης και της εγκυρότητας των τιμών που διαβάζονται ή αντιστοιχίζονται.
Οι μέθοδοι είναι συναρτήσεις που εκτελούν ενέργειες ή επιστρέφουν αποτελέσματα σχετικά με το αντικείμενο της κλάσης. Οι μέθοδοι μπορούν να δέχονται παραμέτρους και να επιστρέφουν τιμές, και μπορούν να εκτελούν ενέργειες στα δεδομένα της κλάσης.
Η χρήση μελών κλάσης μας επιτρέπει να οργανώσουμε τα δεδομένα και τη λειτουργικότητα σε μια κλάση και να τα χρησιμοποιήσουμε για τη δημιουργία αντικειμένων και την εκτέλεση λειτουργιών σε αυτά.
Τα πεδία (fields) και οι μέθοδοι (methods) αποτελούν σημαντικά “Μέλη Κλάσης” (Class Members) σε μια κλάση:
Πεδία (Fields):Τα πεδία είναι μεταβλητές που ανήκουν σε μια κλάση και αναπαριστούν τα δεδομένα που σχετίζονται με ένα αντικείμενο της κλάσης. Μπορούν να δηλωθούν με διάφορους τύπους δεδομένων και μπορεί να τους ανατεθούν τιμές κατά τη διάρκεια της δημιουργίας ή της εκτέλεσης του προγράμματος.
Μέθοδοι (Methods):Οι μέθοδοι αναπαριστούν τις λειτουργίες που μπορεί να εκτελέσει ένα αντικείμενο της κλάσης. Ορίζονται εντός της κλάσης και περιλαμβάνουν ένα σύνολο εντολών που ορίζουν τη συμπεριφορά του αντικειμένου. Οι μέθοδοι μπορούν να δέχονται ορίσματα, να εκτελούν ενέργειες και να επιστρέφουν αποτελέσματα, ανάλογα με την ορισμένη λειτουργικότητά τους.
Εδώ είναι ένα παράδειγμα με μέλη κλάσης:
using System; class Person { string name; // Μεταβλητή για το όνομα του ατόμου int age; // Μεταβλητή για την ηλικία του ατόμου public void SayHello() { Console.WriteLine("Γεια σου! Το όνομά μου είναι " + name + " και είμαι " + age + " ετών."); } } class Program { static void Main(string[] args) { Person person = new Person(); // Δημιουργία ενός αντικειμένου της κλάσης Person person.name = "Γιάννης"; // Ορισμός του ονόματος του ατόμου person.age = 25; // Ορισμός της ηλικίας του ατόμου person.SayHello(); // Κλήση της μεθόδου SayHello για να εμφανιστεί το μήνυμα } }
Ο παραπάνω κώδικας σε C# δημιουργεί μια κλάση με όνομα “Person” που περιέχει δύο μεταβλητές (name και age) και μια μέθοδο με όνομα “SayHello”. Η μέθοδος “SayHello” εκτυπώνει ένα μήνυμα που περιλαμβάνει το όνομα και την ηλικία του ατόμου.
Στην κλάση “Program” υπάρχει η μέθοδος “Main” που είναι η εκκίνηση του προγράμματος. Μέσα στη μέθοδο “Main” δημιουργείται ένα αντικείμενο της κλάσης “Person” με όνομα “person”. Στη συνέχεια, ορίζονται οι τιμές των μεταβλητών “name” και “age” του αντικειμένου “person”. Τέλος, καλείται η μέθοδος “SayHello” του αντικειμένου “person”, η οποία εκτυπώνει το μήνυμα “Γεια σου! Το όνομά μου είναι [όνομα] και είμαι [ηλικία] ετών.” όπου αντικαθίστανται οι αντίστοιχες μεταβλητές με τις τιμές που έχουν οριστεί.
Συνολικά, ο κώδικας δημιουργεί ένα αντικείμενο τύπου “Person”, ορίζει τιμές για το όνομα και την ηλικία του ατόμου, και εκτυπώνει ένα μήνυμα που παρουσιάζει αυτές τις πληροφορίες.
Όταν εκτελέσετε τον παραπάνω κώδικα σε C#, θα παραχθεί το παρακάτω αποτέλεσμα:
Γεια σου! Το όνομά μου είναι Γιάννης και είμαι 25 ετών.
Αυτό συμβαίνει επειδή ο κώδικας δημιουργεί ένα αντικείμενο τύπου “Person” με όνομα “person” και ορίζει τιμές για τις μεταβλητές “name” και “age” του αντικειμένου. Έπειτα, καλείται η μέθοδος “SayHello” του αντικειμένου “person”, η οποία εκτυπώνει το μήνυμα “Γεια σου! Το όνομά μου είναι Γιάννης και είμαι 25 ετών.”
Με τη χρήση των μελών της κλάσης, μπορείτε να αποθηκεύσετε και να επεξεργαστείτε δεδομένα σχετικά με ένα αντικείμενο και να εκτελέσετε ενέργειες που το αντικείμενο μπορεί να πραγματοποιήσει.
[adinserter block=”2″]
Αυτό είναι ιδιαίτερα χρήσιμο όταν δημιουργείτε πολλά αντικείμενα μιας κλάσης.
Όταν δημιουργείτε πολλά αντικείμενα της ίδιας κλάσης, μπορείτε να αφήσετε τα πεδία των αντικειμένων κενά αρχικά και να τα τροποποιήσετε ανάλογα με τις ανάγκες.
Παρακάτω είναι ένα παράδειγμα:
using System; class Person { string name; int age; public void SayHello() { Console.WriteLine("Γεια σου! Το όνομά μου είναι " + name + " και είμαι " + age + " ετών."); } } class Program { static void Main(string[] args) { // Δημιουργία ενός αντικειμένου της κλάσης Person Person person1 = new Person(); // Ορισμός των ιδιοτήτων name και age του αντικειμένου person1 person1.name = "Γιάννης"; person1.age = 25; // Κλήση της μεθόδου SayHello() για το αντικείμενο person1 person1.SayHello(); // Δημιουργία ενός δεύτερου αντικειμένου της κλάσης Person Person person2 = new Person(); // Ορισμός των ιδιοτήτων name και age του αντικειμένου person2 person2.name = "Μαρία"; person2.age = 30; // Κλήση της μεθόδου SayHello() για το αντικείμενο person2 person2.SayHello(); } }
Οι μέθοδοι αντικειμένου χρησιμοποιούνται για να εκτελέσουν συγκεκριμένες ενέργειες. Ανήκουν συνήθως σε μια κλάση και καθορίζουν τον τρόπο λειτουργίας ενός αντικειμένου της κλάσης.
Για να αποκτήσουμε πρόσβαση σε μια μέθοδο, χρησιμοποιούμε τη σύνταξη τελείας (dot notation). Πρέπει να θυμόμαστε ότι η μέθοδος πρέπει να είναι δημόσια (public). Επίσης, για να καλέσουμε (να εκτελέσουμε) τη μέθοδο, χρησιμοποιούμε το όνομά της, ακολουθούμενο από δύο παρενθέσεις () και ένα ερωτηματικό (;).
using System; class Person { public void SayHello() { Console.WriteLine("Γεια σου! Καλώς ήρθες!"); } } class Program { static void Main() { // Δημιουργία ενός αντικειμένου τύπου Person Person person = new Person(); // Κλήση της μεθόδου SayHello() στο αντικείμενο person person.SayHello(); } }
Ο παραπάνω κώδικας σε C# δημιουργεί δύο κλάσεις: την κλάση Person
και την κλάση Program
. Η κλάση Person
περιέχει μια μέθοδο με όνομα SayHello
που εκτυπώνει το μήνυμα “Γεια σου! Καλώς ήρθες!” στην κονσόλα.
Στην κλάση Program
, η στατική μέθοδος Main
είναι η είσοδος του προγράμματος. Μέσα στη μέθοδο Main
, δημιουργείται ένα αντικείμενο τύπου Person
με την εντολή Person person = new Person();
. Στη συνέχεια, καλείται η μέθοδος SayHello
στο αντικείμενο person
με τη γραμμή κώδικα person.SayHello();
.
Συνολικά, ο κώδικας δημιουργεί ένα αντικείμενο τύπου Person
και εκτελεί τη μέθοδο SayHello
, που εκτυπώνει ένα μήνυμα καλωσορίσματος στην κονσόλα.
Το αποτέλεσμα εκτέλεσης του παραπάνω κώδικα θα είναι η εκτύπωση του μηνύματος “Γεια σου! Καλώς ήρθες!” στην κονσόλα. Αφού δημιουργηθεί ένα αντικείμενο τύπου Person
με τη γραμμή κώδικα Person person = new Person();
, η μέθοδος SayHello()
καλείται με την εντολή person.SayHello();
. Αποτέλεσμα αυτής της κλήσης είναι η εκτύπωση του μηνύματος “Γεια σου! Καλώς ήρθες!” στην κονσόλα.
Με τη χρήση μεθόδων αντικειμένου, μπορείτε να καλέσετε ενέργειες που έχουν οριστεί στην κλάση και να επιτελέσετε εργασίες πάνω στο αντικείμενο.
[adinserter block=”3″]
Η χρήση πολλαπλών κλάσεων μας επιτρέπει να οργανώσουμε καλύτερα τον κώδικά μας. Μπορούμε να δημιουργήσουμε μία κλάση για την αναπαράσταση των πεδίων και των μεθόδων μας, και μία άλλη κλάση για την εκτέλεση του προγράμματος.
Με αυτόν τον τρόπο, μπορούμε να έχουμε μία κλάση που αντιπροσωπεύει τα δεδομένα και τις λειτουργίες του προβλήματος μας, και μία άλλη κλάση που χρησιμοποιεί αυτά τα δεδομένα και εκτελεί τον κώδικα.
Αυτή η προσέγγιση μας επιτρέπει να έχουμε μια καθαρή διαχωρισμένη αρχιτεκτονική και να διαχειριζόμαστε πιο αποτελεσματικά τον κώδικά μας. Επιπλέον, μας δίνει τη δυνατότητα να επαναχρησιμοποιούμε τις κλάσεις που δημιουργούμε σε άλλα μέρη του προγράμματος μας ή ακόμα και σε άλλα προγράμματα.
Συνολικά, η χρήση πολλαπλών κλάσεων μας επιτρέπει να οργανώσουμε και να διαχειριστούμε καλύτερα τον κώδικά μας, καθώς και να επιτύχουμε μεγαλύτερη επαναχρησιμοποίηση και ευελιξία.
Person.cs
using System; class Person { string name; // Μεταβλητή για το όνομα του προσώπου int age; // Μεταβλητή για την ηλικία του προσώπου public void SetName(string personName) { name = personName; // Ορίζει το όνομα του προσώπου } public void SetAge(int personAge) { age = personAge; // Ορίζει την ηλικία του προσώπου } public void SayHello() { Console.WriteLine("Γεια σου! Το όνομά μου είναι " + name + " και είμαι " + age + " ετών."); // Εκτυπώνει ένα μήνυμα καλωσορίσματος με το όνομα και την ηλικία του προσώπου } }
Program.cs
using System; class Program { static void Main() { // Δημιουργία αντικειμένου τύπου Person Person person = new Person(); // Ορισμός ονόματος του ατόμου person.SetName("Γιάννης"); // Ορισμός ηλικίας του ατόμου person.SetAge(25); // Εμφάνιση χαιρετισμού person.SayHello(); } }
Στο παραπάνω παράδειγμα, έχουμε δύο αρχεία προγράμματος. Το αρχείο Person.cs περιέχει την κλάση Person
, η οποία έχει τα πεδία name
και age
, καθώς και τις μεθόδους SetName()
, SetAge()
και SayHello()
. Οι μεθόδοι SetName()
και SetAge()
χρησιμοποιούνται για να ορίσουν τιμές στα πεδία name
και age
αντίστοιχα, ενώ η μέθοδος SayHello()
εκτυπώνει ένα μήνυμα καλωσορίσματος.
Στο αρχείο Program.cs, έχουμε την κλάση Program
με τη μέθοδο Main()
. Εκεί, δημιουργούμε ένα αντικείμενο person
της κλάσης `Person και χρησιμοποιούμε τις μεθόδους του αντικειμένου για να ορίσουμε το όνομα και την ηλικία του ατόμου και να εκτυπώσουμε το μήνυμα καλωσορίσματος.
Η χρήση πολλαπλών κλάσεων σας επιτρέπει να οργανώσετε και να διαχωρίσετε τη λειτουργικότητα των κλάσεων και την εκτέλεση του προγράμματος. Έτσι, ο κώδικάς σας γίνεται πιο οργανωμένος και ευανάγνωστος.