Ο αντικειμενοστραφής προγραμματισμός είναι ένα από τα πιο δημοφιλή παραδείγματα προγραμματισμού. Αυτό συμβαίνει επειδή μοντελοποιεί δεδομένα και λειτουργίες και σας επιτρέπει να σκεφτείτε με όρους πραγματικών αντικειμένων. Οι κλάσεις είναι μια θεμελιώδης πτυχή του αντικειμενοστρεφούς προγραμματισμού, καθώς παρέχουν το σχέδιο που χρειάζεστε για να δημιουργήσετε αντικείμενα.
Η C# είναι μια δημοφιλής γλώσσα προγραμματισμού πολλαπλών παραδειγμάτων, η οποία χρησιμοποιεί το αντικειμενοστραφή παράδειγμα. Σε αυτό το άρθρο, θα μάθετε πώς να δημιουργείτε και να χρησιμοποιείτε τάξεις σε C#.
Δημιουργία δήλωσης τάξης
Στην C#, μια κλάση είναι ένας τύπος αναφοράς, ο οποίος θα περιέχει το μηδενικό τιμή μέχρι να δημιουργήσετε ένα νέο αντικείμενο της κλάσης. Για να δημιουργήσετε μια νέα κλάση στην C# θα χρειαστείτε πολλά στοιχεία:
- Ένας τροποποιητής πρόσβασης.
- ο τάξη λέξη-κλειδί.
- Το όνομα που θέλετε να αντιστοιχίσετε στην τάξη.
- Ένα ζεύγος ανοιχτών και κλειστών σγουρά στηρίγματα (που θα περικλείουν τα χαρακτηριστικά, τους κατασκευαστές και τις μεθόδους της κλάσης).
εσωτερικός τάξηΠελάτης{ }
Ο παραπάνω κώδικας δημιουργεί μια νέα κλάση που είναι προσβάσιμη από άλλες κλάσεις στο ίδιο συγκρότημα (αρχείο μεταγλώττισης). Το C# έχει ακριβώς έξι τροποποιητές πρόσβασης που μπορείτε να χρησιμοποιήσετε για να ελέγξετε τα επίπεδα προσβασιμότητας των κλάσεων, των μεταβλητών και των μεθόδων σας. Οι έξι τροποποιητές πρόσβασης είναι:
- δημόσιο: κάθε κλάση (ανεξάρτητα από τη συναρμολόγηση της) μπορεί να έχει πρόσβαση στη δημόσια κλάση και στα δημόσια μέλη της (χαρακτηριστικά, κατασκευαστές και μεθόδους).
- ιδιωτικός: μόνο η ιδιωτική τάξη και τα μέλη της έχουν πρόσβαση σε αυτήν.
- προστατεύονται: μόνο παραγόμενες κλάσεις (τάξεις παιδιών και εγγονιών) μπορούν να έχουν πρόσβαση στην προστατευμένη τάξη.
- εσωτερικός: μόνο οι κλάσεις στην ίδια διάταξη μπορούν να έχουν πρόσβαση στην εσωτερική κλάση.
- προστατευμένο εσωτερικό: μόνο κλάσεις στο ίδιο συγκρότημα ή μια παράγωγη κλάση από άλλο συγκρότημα μπορούν να έχουν πρόσβαση στην προστατευμένη εσωτερική κλάση.
- ιδιωτική προστασία: μόνο παραγόμενες κλάσεις στην ίδια διάταξη μπορούν να έχουν πρόσβαση στην ιδιωτική προστατευμένη κλάση.
Δήλωση και πρόσβαση στα χαρακτηριστικά
Τα χαρακτηριστικά είναι τα δομικά στοιχεία για τις κλάσεις που δημιουργείτε. Διατηρούν ευαίσθητα δεδομένα και συνήθως διαθέτουν έναν ιδιωτικό ή προστατευμένο τροποποιητή πρόσβασης. Επομένως, για να αποκτήσετε πρόσβαση σε αυτές τις κλάσεις από εξωτερικές κλάσεις, θα χρειαστεί να χρησιμοποιήσετε Accessors και mutators (getters και setters).
Το C# σάς επιτρέπει να δηλώσετε τα χαρακτηριστικά, τους μεταλλάκτες και τα προσπελάσματά σας ως εξής:
εσωτερικός τάξηΠελάτης
{
// ιδιότητες
ιδιωτικόςενθ Αριθμό ταυτότητας;
ιδιωτικός συμβολοσειρά Όνομα;
ιδιωτικόςδιπλό Σύνολο;// ρυθμιστές
δημόσιοκενόςSetIdNumber(ενθ Αριθμό ταυτότητας){ Αυτό.IdNumber = IdNumber; }
δημόσιοκενόςSetName(Όνομα συμβολοσειράς){ Αυτό.Όνομα = Όνομα; }
δημόσιοκενόςSetTotal(διπλό Σύνολο){ Αυτό.Σύνολο = Σύνολο; }
// λήπτες
δημόσιοενθGetIdNumber(){ ΕΠΙΣΤΡΟΦΗΑυτό.Αριθμό ταυτότητας; }
δημόσιο σειρά GetName(){ ΕΠΙΣΤΡΟΦΗΑυτό.Ονομα; }
δημόσιοδιπλόGetTotal(){ ΕΠΙΣΤΡΟΦΗΑυτό.Σύνολο; }
}
Άλλα δημοφιλή αντικειμενοστρεφείς γλώσσες χρησιμοποιήστε επίσης την παραπάνω προσέγγιση. Αν μάλιστα θέλεις δημιουργία τάξεων Java, θα πρέπει να χρησιμοποιήσετε την παραπάνω δομή. Ωστόσο, η C# έχει πλέον έναν ευκολότερο τρόπο δημιουργίας χαρακτηριστικών και προσπελάσεων. Στην C#, αυτή η κλάση έχει την ίδια λειτουργία με την παραπάνω:
εσωτερικός τάξηΠελάτης
{
δημόσιος αριθμός IdNumber { παίρνω; σειρά; }
Όνομα δημόσιας συμβολοσειράς { παίρνω; σειρά; }
δημόσιο διπλό Σύνολο { παίρνω; σειρά; }
}
Η παραπάνω κλάση περιέχει αυτό που καλεί η C# ιδιότητες, που είναι ένας συνδυασμός χαρακτηριστικών (πεδίων) και μεθόδων. Με ιδιότητες, μπορείτε να μειώσετε τη δήλωση χαρακτηριστικών, τους μεταλλάκτες και τον κωδικό πρόσβασης στο μισό.
Δηλώνοντας Κατασκευαστές
Οι κατασκευαστές είναι μια άλλη θεμελιώδης πτυχή μιας τάξης. Για να δημιουργήσετε ένα αντικείμενο από μια κλάση θα πρέπει να καλέσετε έναν από τους κατασκευαστές του. Κάθε κατασκευαστής έχει έναν προαιρετικό τροποποιητή πρόσβασης και το ίδιο όνομα με την κλάση του. Για αντικειμενοστρεφείς γλώσσες προγραμματισμού, υπάρχουν γενικά τρεις τύποι κατασκευαστών:
- Προεπιλεγμένος κατασκευαστής: δεν δέχεται ορίσματα και παρέχει σε κάθε χαρακτηριστικό μια προεπιλεγμένη τιμή.
- Πρωτεύων κατασκευαστής: παίρνει ένα ή περισσότερα ορίσματα (ανάλογα με τον αριθμό των μεταβλητών στην κλάση).
- Κατασκευαστής αντιγραφής: παίρνει έναν άλλο κατασκευαστή ως όρισμα.
Το C# έχει έναν όρο ομπρέλα για τους προεπιλεγμένους και κύριους κατασκευαστές παραπάνω—κατασκευαστές παράδειγμα. Αυτή η γλώσσα προγραμματισμού έχει επίσης δύο άλλους κατασκευαστές (ιδιωτικό και στατικό). Αυτό το άρθρο εστιάζει στους τρεις παραδοσιακούς κατασκευαστές.
Προεπιλεγμένος κατασκευαστής
// προεπιλεγμένος κατασκευαστής
δημόσιο Πελάτης()
{
IdNumber = 0;
Όνομα = "άγνωστος";
Σύνολο = 0;
}
Πρωτεύων Κατασκευαστής
// πρωτεύων κατασκευαστής
δημόσιοΠελάτης(ενθ IdNumber, Όνομα συμβολοσειράς, Τύπος πελάτη συμβολοσειράς, διπλό Σύνολο)
{
Αυτό.IdNumber = IdNumber;
Αυτό.Όνομα = Όνομα;
Αυτό.Σύνολο = Σύνολο;
}
Κατασκευαστής αντιγράφων
// κατασκευαστής αντιγραφής
δημόσιο Πελάτης (Πελάτης προηγούμενος Πελάτης)
{
Αυτό.IdNumber = προηγούμενος πελάτης. Αριθμό ταυτότητας;
Αυτό.Όνομα = προηγούμενος πελάτης. Ονομα;
Αυτό.Σύνολο = προηγούμενος πελάτης. Σύνολο;
}
Μέθοδοι Δημιουργίας
Οι μέθοδοι δεν είναι ένα κρίσιμο συστατικό της κατηγορίας, αλλά είναι χρήσιμες. Μια κλάση μπορεί να έχει μία ή περισσότερες μεθόδους. Μια μέθοδος έχει έναν τροποποιητή πρόσβασης, έναν τύπο επιστροφής, ένα όνομα και ένα σώμα.
// μέθοδος
δημόσιο συμβολοσειρά CustomerDetail()
{
ΕΠΙΣΤΡΟΦΗ " ΤΑΥΤΟΤΗΤΑ: " + IdNumber + " Ονομα: " + Όνομα + " Σύνολο: " + Σύνολο;
}
Ο παραπάνω κώδικας επιστρέφει μια παράσταση συμβολοσειράς του αντικειμένου πελάτη.
Δημιουργία Αντικειμένων
Αφού δημιουργήσετε μια πλήρη κλάση, την εξοπλίσετε με χαρακτηριστικά, κατασκευαστές και μια μέθοδο, μπορείτε να ξεκινήσετε τη δημιουργία αντικειμένων χρησιμοποιώντας τους διαφορετικούς κατασκευαστές. Για να δημιουργήσετε ένα αντικείμενο χωρίς χαρακτηριστικά, μπορείτε να χρησιμοποιήσετε τον προεπιλεγμένο κατασκευαστή:
Πελάτης Γιάννης = νέος Πελάτης();
Η γραμμή κώδικα παραπάνω δημιουργεί έναν προεπιλεγμένο πελάτη και τον εκχωρεί σε μια μεταβλητή που ονομάζεται Γιάννης. Με Γιάννης, μπορείτε να αποκτήσετε πρόσβαση στην προεπιλεγμένη τιμή κάθε χαρακτηριστικού πελάτη.
Κονσόλα.WriteLine(Γιάννης.Ονομα);
Η εκτέλεση του παραπάνω κώδικα εκτυπώνει τα ακόλουθα στην κονσόλα:
Αγνωστος
Μπορείτε επίσης να χρησιμοποιήσετε το Γιάννης μεταβλητή για πρόσβαση σε οποιαδήποτε μέθοδο στην κατηγορία πελατών.
Κονσόλα.WriteLine(Γιάννης.Λεπτομέρεια πελάτη());
Η εκτέλεση της γραμμής κώδικα παραπάνω εκτυπώνει την ακόλουθη έξοδο στην κονσόλα:
ID: 0 Όνομα: άγνωστο Σύνολο: 0
Για να δημιουργήσετε ένα αντικείμενο με χαρακτηριστικά, θα χρησιμοποιούσατε τον κύριο κατασκευαστή:
Πελάτης John = νέος πελάτης (1001, "John Doe", 250.20);
Κονσόλα.WriteLine(Γιάννης.Λεπτομέρεια πελάτη());
Η εκτέλεση του παραπάνω κώδικα εκτυπώνει την ακόλουθη έξοδο στην κονσόλα:
ταυτότητα: 1001 Ονομα: ΓιάννηςΕλαφίναΣύνολο: 250.2
Για να δημιουργήσετε ένα αντίγραφο του παραπάνω αντικειμένου, μπορείτε να χρησιμοποιήσετε τον κατασκευαστή αντιγραφής:
Πελάτης Johnny = νέος Πελάτης (John);
Κονσόλα.WriteLine(γιαννάκης.Λεπτομέρεια πελάτη());
Η εκτέλεση του παραπάνω κώδικα εκτυπώνει την ακόλουθη έξοδο στην κονσόλα:
ταυτότητα: 1001 Ονομα: ΓιάννηςΕλαφίναΣύνολο: 250.2
Όπως μπορείτε να δείτε ο κατασκευαστής αντιγραφής είναι ένα αντίγραφο του κύριου κατασκευαστή. Ο κατασκευαστής αντιγραφής μπορεί επίσης να λάβει ως όρισμα έναν προεπιλεγμένο κατασκευαστή:
Πελάτης Γιάννης = νέος Πελάτης();
Πελάτης Johnny = νέος Πελάτης (John);
Κονσόλα.WriteLine(γιαννάκης.Λεπτομέρεια πελάτη());
Η εκτέλεση του παραπάνω κώδικα εκτυπώνει την ακόλουθη έξοδο στην κονσόλα:
ID: 0 Όνομα: άγνωστο Σύνολο: 0
Τώρα μπορείτε να δημιουργήσετε και να χρησιμοποιήσετε κλάσεις C#
Μπορείτε να χρησιμοποιήσετε το αντικειμενοστραφή παράδειγμα στη C# για να ορίσετε κλάσεις και να δημιουργήσετε αντικείμενα από αυτές. Μπορείτε να δημιουργήσετε μεθόδους για κάθε κλάση, οι οποίες στη συνέχεια μπορούν να λειτουργήσουν στις ιδιότητες των αντικειμένων τους.
Ωστόσο, το αντικειμενοστραφή παράδειγμα δεν είναι το μόνο με το οποίο πρέπει να εξοικειωθείτε. Τα τρία κορυφαία παραδείγματα προγραμματισμού είναι επιτακτικά, αντικειμενοστραφή και λειτουργικά.