Καλώς ορίσατε στο dotNETZone.gr - Σύνδεση | Εγγραφή | Βοήθεια
σε

 

Αρχική σελίδα Ιστολόγια Συζητήσεις Εκθέσεις Φωτογραφιών Αρχειοθήκες

object-class

Îåêßíçóå áðü ôï ìÝëïò pitsi1990. Τελευταία δημοσίευση από το μέλος pitsi1990 στις 14-11-2005, 19:10. Υπάρχουν 3 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  13-11-2005, 16:42 7058

    object-class

    Αντίστοιχα, και εγώ ο κακομοίρης δεν εχω ιδέα για το τι είναι τα object και class. Μπορεί να με βοηθήσει κάποιος?
  •  13-11-2005, 18:58 7060 σε απάντηση της 7058

    Απ: object-class

    Ας ξεκινήσουμε λίγο από τον πραγματικό κόσμο:

    Ας υποθέσουμε λοιπόν οτι έχουμε ένα ...χαρτόκουτο.

    Τι μπορεί να περιλαμβάνει η έννοια "χαρτόκουτο"; Πολλά πράγματα. Ενα χαρτόκουτο έχει: Μήκος, πλάτος, ύψος, χρώμα, και άλλες τετοιες ιδιοτητες.
    Ωπ, τι ειπα; "Ιδιότητες"; Ας το κρατήσουμε αυτό στην άκρη και ας δούμε τι άλλο μπορεί να κάνει κανείς με ένα χαρτόκουτο.

    Ενα χαρτόκουτο λοιπόν μπορεί να αδειάσει, να γεμίσει, να κλείσει, να ανοίξει, να σχιστεί, να καεί, και χίλια δύο άλλα ενδιαφέροντα πράγματα. Σωστά;
    Μπορούμε λοιπόν να το κάνουμε ο,τι θέλουμε με διαφορες μεθόδους.
    Ωπ, είπα "μεθόδους";

    Ωραία.

    Αρα ένα χαρτόκουτο έχει ιδιότητες.
    Για το χαρτόκουτο μπορούν να εφαρμοστούν διάφορες δυνατές ενέργειες, οι οποίες ονομάζονται και μέθοδοι.

    Τι είναι για εμάς το χαρτόκουτο;
    Ειναι ένα πράγμα που έχει μήκος, πλάτος, ύψος, χρώμα, μπορεί να ανοιχτεί, να κλειστεί, να σχιστεί, να καεί.

    Ενα πράγμα που έχει μήκος, πλάτος, χρώμα, άνοιγμα φτερών, αριθμό κινητήρων, και μπορεί να πετάξει είναι χαρτόκουτο;
    Μαλλον οχι.
    Ξερετε γιατί;
    Γιατί ανήκει σε άλλη ΚΛΑΣΗ.

    Μήπως έδωσα μια απλή εξήγηση του πράγματος;
    Η κλάση είναι ένας ορισμός που αποτελείται από ιδιότητες (properties) και μεθόδους (methods) και βάσει της οποίας μπορούμε να δημιουργούμε αντικείμενα.

    Τι είναι όμως αντικείμενο;

    Αντικείμενο είναι το κουτί από τα σοκολατάκια μάρκας "Φαετωρακανεδιαιτααύριο" που έχω μπροστά μου. Το ΣΥΓΚΕΚΡΙΜΕΝΟ κουτί.
    Εχει ύψος (καποια cm), βάρος (καποια γραμμάρια), χρώμα (π.χ. κίτρινο) και γενικώς έχει συγκεκριμένα πράγματα ως τιμές στις ιδιότητες που ορίζονται από την κλάση του. Επίσης, όταν θα ανοίξεις το κουτί αυτό, δεν θα ανοίξεις οποιοδήποτε κουτί. Θα ανοίξεις το ΣΥΓΚΕΚΡΙΜΕΝΟ κουτί.

    Αντικείμενο είναι ένα instance (στιγμιότυπο) μιας κλάσης. Σκέψου την κλάση ως τον ορισμό και το αντικείμενο ως το συγκεκριμένο πράγμα που προκύπτει βάσει αυτού. Σκέψου, για να το πούμε διαφορετικά, την κλάση ως "καλούπι" μέσω του οποίου δημιουργείς αντικείμενα.

    Φυσικά και μπορείς να δημιουργήσεις πολλά αντικείμενα από την ίδια κλάση. Ενα κουτί σοκολατάκια, και ένα κουτί κουλουράκια. Μπορείς επίσης να δημιουργήσεις πολλά ίδια κουτιά σοκολατάκια. Οταν όμως πεις "ανοίγω το κουτί τάδε" θα ανοίξεις μόνο το κουτί τάδε και οχι ο,τι κουτί υπάρχει μπροστά σου. Αρα, τι θα έχεις; Μια μέθοδο που εφαρμόζεται επάνω σε ένα instance της κλάσης "χαρτόκουτο". Ποιό instance; Μα το συγκεκριμένο κουτί!

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

    Το εξετάσαμε μόνο θεωρητικα σε αυτό το post, επιφυλάσσομαι και για την προγραμματιστική του απόδοση.


    Σωτήρης Φιλιππίδης

    DotSee Web Services

    View Sotiris Filippidis's profile on LinkedIn

    DotNetNuke them!
  •  13-11-2005, 19:36 7061 σε απάντηση της 7060

    Απ: object-class

    Ή φαντάσου ένα μηχανολογικό σχέδιο ενός αυτοκινήτου. Από αυτό το σχέδιο μπορούν να κατασκευαστούν πολλαπλά αυτοκίνητα που όλα έχουν συγκεκειμένα χαρακτηριστικά. Για παράδειγμα, όλα έχουν μηχανή τύπου ΧΥΖ. Ας πούμε ότι κατασκευάζουμε βάσει αυτού του σχεδίου δύο αυτοκίνητα. Και τα δύο  θα έχουν μηχανή XYZ, το ένα με 1200cc και άλλο με 1600cc. Δηλαδή το σχέδιο (class/κλάση) καθορίζει ότι πρέπει να έχουν συγκεκριμένη μηχανή (property/ιδιότητα) αλλά κατά την υλοποίηση, κάθε αυτοκίνητο που κατασκευάζεται (στιγμιότυπο/instance) έχει μηχανή (property/ιδιότητα) με διαφορετικά ενδεχομένως χαρακτηριστικά (τιμές ιδιότητας). Παρομοίως, ιδιότητα είναι το "χρώμα" όπου παράγονται παρτίδες με κόκκινο χρώμα, με μαύρο, κοκ. Ως προς τη μέθοδο, φαντάσου ότι το αυτοκίνητο μπορεί να κάνει μια ενέργεια (μέθοδο/method) που ονομάζεται "αλλαγή ταχύτητας", πράγμα που καθορίζεται στο σχέδιο (κλάση) του. Πολλές ενέργειες, επιδρούν στις ιδιότητες, πχ. η ενέργεια "φρενάρισμα" αλλάζει την ιδιότητα "ταχύτητα".

    Κάθε αυτοκίνητο που βγαίνει από την γραμμή παραγωγής είναι και ένα αντικείμενο/object. Δηλαδή τα αντικείμενα είναι οντότητες που στο σύνολό τους εμπεριέχουν κατάσταση/state και μεθόδους μέσω των οποίων εμείς μπορούμε να επιδράσουμε στην κατάσταση.


    Vir prudens non contra ventum mingit
  •  14-11-2005, 19:10 7077 σε απάντηση της 7058

    Απ: object-class

    Επειδή εγώ έχω δουλέψει μόνο την Turbo Pascal, μπορώ να πώ οτι το σχέδιο (class) είναι μια εξίσωση στα μαθηματικά,αλλα απο τα 2 προγράμματα που θα φτιάξω (να τολμήσω να τα πώ objects?) το ένα θα λύνει τα χ προβλήματα ενω το άλλο θα λύνει y τύπου προβλήματα? (ενοώντας οτι το κάθε πρόβλημα θα έχει την δική του λειτουργία).

    Ευχαριστώ για τον χρόνο σας!!! :)
Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems