Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

Δημοσ.

Αρα ουσιαστηκα... μια κλασση μπορει να γινει αντικειμενο, και τοτε μπορει να την "βαλεις" σε μια μεταβλητη τυπου(για να μην μπερδευομαστε) object. Καταλαβα. Αρα η κλασση ουσιαστηκα ομαδοποιει μεθοδους. Αλλη ερωτηση τωρα. Τα buttons στα windows forms εχουν μια μεταβλητη τυπου object. Με αυτο τι παιζει ??

Δημοσ.

Τα αντικείμενα είναι σαν προγράμματα, έχουν μεταβλητές και κώδικα. Σε άλλες γλώσσες η ομαδοποίηση μεθόδων γίνεται σε modules. Δεν χρειάζεται εκεί να έχεις αντικείμενο.

Ο λόγος που φτιάχνεις αντικείμενο είναι ότι αυτό δημιουργείται και πεθαίνει, όταν θέλουμε, και αναφερόμαστε σε αυτό με μια μεταβλητή που κρατάει την αναφορά στο αντικείμενο. Σε αντίθεση τα modules υπάρχουν σε όλη τη διάρκεια που τρέχει το πρόγραμμα. Με μια έννοια σαν να έχουμε ένα αντικείμενο χωρίς να κάνουμε νέο, όπως τα στατικά αντικείμενα (έχουμε στατικά αντικείμενα αν δεν έχουμε modules, για να παίξουν τον ίδιο ρόλο). Μια μεταβλητή που δείχνει ένα νέο αντικείμενο την λέμε αντικείμενο, αλλά δεν είναι. Είναι ο τρόπος να έχουμε πρόσβαση σε αυτό. Αν χαθεί η πρόσβαση, ένας μετρητής για κάθε αντικείμενο δείχνει πόσες αναφορές υπάρχουν και στη περίπτωση εδώ θα είναι 0. Στη C# το καθάρισμα μπορεί να αργήσει. Αν η μεταβλητή βγεί εκτός σκοπού, ύστερα θα διαγραφεί, άρα θα αφαιρεθεί μια αναφορά από το αντικείμενο.

Γιατί μας βοηθάει η χρήση αντικείμενων; Ένας λόγος είναι ότι μπορούμε να προσθέτουμε λειτουργικότητα αναβαθμίζοντας το πρόγραμμα χωρίς να περάσουμε κώδικα που ήδη χρησιμοποιεί ιδιότητες και μεθόδους που έχουμε βάλει.

Επισκέπτης
Δημοσ.

@MeGustasTU
 

Φιλική συμβουλή. Αγνόησε οτιδήποτε λέει ο M2000 γιατί είναι παντελώς άσχετος από C#.

 

Το τελευταίο του post για παράδειγμα αφορά το garbage collection, τουλάχιστον όπως το καταλαβαίνει αυτός (δηλαδή χέσε μέσα Πολυχρόνη κατάσταση), το οποίο δεν έχει καμία απολύτως σχέση με αυτό που ρώτησες.

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...