dpa Δημοσιεύτηκε Νοέμβριος 16, 2007 #1 Κοινοποίηση Δημοσιεύτηκε Νοέμβριος 16, 2007 Δεν μπορώ να καταλάβω την είναι μια κλάση και πως λειτουργείτο βιβλίο που έχω δείχνει ένα παράδειγμα αλλά δεν το καταλαβαίνω.Μήπως μπορεί να με βοηθήσει κάποιος;;;το παράδειγμα που έχει το βιβλίο είναι:<?phpclass myClass {var $color = "silver";var $make = "Mazda";var $model = "Protege5";}$car = new myCar();echo "I drive a ".$car->color." ".$car->make." ".$car->model;?>Δεν μπορώ να καταλάβω τι είναι αυτά Αφού πρέπει να γράψεις όλα αυτά για να σου εμφανίσει την μάρκα το μοντέλο και το χρώμα γιατί να μην τα γράψεις σε ένα array()Γιατί βάζει το new μπροστά από το myCar();;;;;;Αν μπορεί κάποιος να με βοηθήσει θα το ευχαριστούσα Link to comment Share on other sites More sharing options...
Wizard! Νοέμβριος 16, 2007 #2 Κοινοποίηση Νοέμβριος 16, 2007 Η κλάση είναι μιά οντότητα. Κάθε οντότητα έχει κάποια χαρακτηριστικά (properties) και κάποιες δυνατότητες (methods)Στο array φυσικά μπορείς να έχεις μόνο properties. Το new είναι constructor. Σημαίνει ότι δημιουργείς ένα καινούριο αμάξι. Μετά του λες ότι είναι κόκκινο, μάρκας Ferrari, μοντέλο F430. Όποια στιγμή αργότερα ζητήσεις αυτή την κλάση, έρχεται μαζί με τις ιδιότητές της. Link to comment Share on other sites More sharing options...
dpa Νοέμβριος 16, 2007 Author #3 Κοινοποίηση Νοέμβριος 16, 2007 Φίλε όταν την ζητάς τα ξαναγράφεις όμως τα χαρακτηριστικά ε?Δώσε μου ένα παράδειγμα αν θεςΕυχαριστώ Link to comment Share on other sites More sharing options...
dpa Νοέμβριος 16, 2007 Author #4 Κοινοποίηση Νοέμβριος 16, 2007 Ξέρει κανείς να μου δώσει ένα αναλυτικό παράδειγμα για τις κλάσεις;Δεν μπορώ να τις καταλάβω Link to comment Share on other sites More sharing options...
magicman Νοέμβριος 16, 2007 #5 Κοινοποίηση Νοέμβριος 16, 2007 Αρχική απάντηση από Wizard! [Σήμερα, στις 17:12] Η κλάση είναι μιά οντότητα. Κάθε οντότητα έχει κάποια χαρακτηριστικά (properties) και κάποιες δυνατότητες (methods)Στο array φυσικά μπορείς να έχεις μόνο properties. Το new είναι constructor. Σημαίνει ότι δημιουργείς ένα καινούριο αμάξι. Μετά του λες ότι είναι κόκκινο, μάρκας Ferrari, μοντέλο F430. Όποια στιγμή αργότερα ζητήσεις αυτή την κλάση, έρχεται μαζί με τις ιδιότητές της. ακριβως! και γω πριν 2 βδομαδες τα εμαθα. java newbie.και κατι που δεν μπορω να καταλαβω εγω ειναι γιατι σε μια κλαση που εκανα μου βγαζει οτι το ^ μου λεει οτι δεν μπορει να δηλωθει ως double ή int. Link to comment Share on other sites More sharing options...
Spyrus Νοέμβριος 16, 2007 #6 Κοινοποίηση Νοέμβριος 16, 2007 Eπειδή με ΡΗΡ δεν έχω ασχοληθεί θα στα γράψω με ψευδοκώδικα: class Car { variable color; variable make; variable model; Car() { color = Blue; make = Opel; model = Astra; }; Car(tempColor,tempMake,tempModel) { color = tempColor; make = tempMake; model = tempModel; }; getColor{return color;}; } Λοιπόν έχεις την κλάση Car. Aυτή έχει ως μέλη της τα color,make,model.Αυτά χαρακτηρίζουν το αυτοκίνητο, δηλαδή την κλάση Car. To γράφεις σε κλάση γιατί δεν θέλεις κάθε φορά να γράφεις όλο το από πάνω + άλλα πολλά που δεν είναι επί του παρόντος. Έστω ότι στο πρόγραμμά σου θέλεις να φτιάξεις ένα νέο αυτοκίνητο. Χρησιμοποιείς το new. Έχω γράψει δύο μεθόδους Car() και Car(x,x,x). Aυτοί είναι οι λεγόμενοι constructors. Δηλαδή δημιουργοί ελληνιστί δηλαδή κάνοντας new αυτούς δημιουργείς ένα νέο αυτοκίνητο. Το new ειναι για να δεσμεύσεις μνήμη. Κάθε φορά που φτιάχνεις ένα αυτοκίνητο χρειάζεσαι μια δυναμική μνήμη να συγκρατεί τα στοιχεία του επομένως τις ιδιότητές του. Mπορείς να φτιάχνεις κάθε φορά το αυτοκίνητο Opel καλώντας new Car() ή να φτιάξεις ένα άλλο καλώντας την new Car(x,x,x) όπου εσύ θα βάλεις το χρώμα,μάρκα και μοντέλο. π.χ. Car temp1 = new Car(); Car temp2 = new Car(black,BMW,Z3); Η μεταβλητή temp1 είναι ένα blue Opel Astra. H temp2 είναι ένα black BMW Z3. Aν θες να δεις το χρώμα (να το εκτυπώσεις) τότε θα καλέσεις temp1.getColor() και temp2.getColor(). Έτσι έχεις πρόσβαση στα μέλη της κλάσης σου.Δηλαδή φτιάχνοντας μια συνάρτηση που θα επιστρέφει ένα μέλος της αυτό που θες. Αυτά για αρχή (μάλλον ασυνείδητα θέλω Ζ3) Και η διαφορά πέρα από αυτά που είπαν τα παιδιά από πίνακα(array) είναι ότι ο πίνακας είναι στατικός δηλαδή για παράδειγμα βάζεις 10 αμάξια και δεν αλλάζει αυτό. Ενώ με τις κλάσεις είσαι πιο ευέλικτος. Μπορείς ας πούμε με ένα Loop να φτιάξεις 1000 αμάξια χρώματος μπλε μάρκας opel άστρα. Με τον πίνακα θα έπρεπε να το γράψεις 1000 φορές :bye: Link to comment Share on other sites More sharing options...
Dr.Paneas Νοέμβριος 20, 2007 #7 Κοινοποίηση Νοέμβριος 20, 2007 Πανε αγορασε το PHP 5 For Dummies, τα εξηγει πολυ καλά. Τώρα δεν μπορω να σου εξηγησω ολοκληρο κεφαλαιο αφού δεν έχεις καταλαβει τα βασικα, δηλαδη τον τροπο σκέψης του OOp και της δόμησής του.Γενικα πάντως δεν είναι κατι δύσκολο και μην απελπιζεσαι. Απλά θέλει μελέτη και να το ψάξεις λιγο.Δεν εχω τωρα τον χρονο, αργοτερα αν μπορεσω θα ποσταρω ξανα. Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.