cyber_katsarida Δημοσ. 4 Ιουνίου 2010 Δημοσ. 4 Ιουνίου 2010 ένα προβληματάκι με τη δημιουργία κάποιων κλάσεων για να μην τα πολυλογώ θέλουμε μια εφαρμογή καταστήματος διάθεσης εισιτηρίων. το κατάστημα έχει κάποια χαρακτηριστικά: έστω α,β,γ. τα εισιτήρια κάποια άλλα χαρακτηριστικά εστω κ,λ.μ όσον αφορά τα εισιτήρια έχουμε επιπλέον την περίπτωση του φοιτιτικού με την έκπτωση. δηλαδή: fitiko extends eisitiria .... πως θα συνδιάσω όμως την κλάση καταστημα με τα εισιτήρια, μέσω μιας άλλης κλάσης; το έγραψα λίγο στα γρήγορα ελπίζω να πιάσατε το νόημα απλό είναι αλλά κόλλησα τώρα
zozeo Δημοσ. 4 Ιουνίου 2010 Δημοσ. 4 Ιουνίου 2010 δεν πολυκατάλαβα τι θέλεις να πεις, αλλά απο τα συμφραζόμενα πιστεύω οτι απλά ρωτάς πως ενα κατάστημα θα ξέρει τα εισιτήρια του??? (υποθέτω) εγώ θα έκανα το εξής, το κατάστημα θα είχε μια λίστα από εισιτήρια (implementing the List interface) και το κάθε εισιτήριο θα κρατούσε ένα instance του καταστήματος που ανήκει. πχ. Katastima { List tickets; ... } Ticket { Katastima parent; .... } αν θες διατύπωσε λίγο καλύτερα το ερώτημα για να βοηθήσουμε παραπάνω
cyber_katsarida Δημοσ. 4 Ιουνίου 2010 Μέλος Δημοσ. 4 Ιουνίου 2010 ευχαριστώ για την απάντηση. να τα ξεκαθαρίσω λίγο. θέλω να φτιάξω τις κλάσεις για την εφαρμογή μου έχω : ένα κατάστημα πώλησης εισιτηρίων. το κατάστημα έχει χαρακτηριστικά: ονομα,αφμ.... τα εισιτήρια έχουν: τιμή, θέση..... και έχω τα φοιτιτικά τα οποία έχουν επιπλέον την έκπτωση (σαν χαρακτηριστικό) . κάνω λοιπον 1) class katastima{ ...... } 2) class eisitiria{ ..... } 3) class fititika extends eisitiria{ ... } αυτό δεν είναι πλήρες όμως. δεν συνδέονται τα εισιτήρια με το κατάστημα. λογικά θέλει κάτι του στυλ: class something{ private katastima kt; private eisitiria eis; ...... }
RubiksCube Δημοσ. 4 Ιουνίου 2010 Δημοσ. 4 Ιουνίου 2010 Νομίζω ότι αυτό που προτείνει ο zozeo στο ποστ 2 είναι καλύτερο. Επίσης αν τα εισιτήρια είναι fixed σε αριθμό θα μπορούσες να έχεις πίνακα αντί για λίστα.
ippo00 Δημοσ. 5 Ιουνίου 2010 Δημοσ. 5 Ιουνίου 2010 Γενικά αν είναι να χρησιμοποιήσεις κληρονομικότητα τότε φτιάξε το abstract εισιτήριο και επέκτεινε το σε ολόκληρο και σπουδαστικό. Δεν σκέφτικα την γενική εικόνα του τι θες να κάνεις αλλά αυτή η προσσέγιση που θα είχα εγώ βάσει αυτών που κατάλαβα ότι είπες. Καλή επίλυση edit: διαβάζοντας περισσότερο χρειάζεσαι μια δομή δεδομένων (μάλλον λίστα ή vector) το οποίο να είναι του τύπου εισιτηριού και τα ειδικευμένα εισιτήρια σου να γίνονται upcast σε αυτό. Παρόλα αυτά δεν αντιλαμβάνομαι τι διαφορά έχει ένα φοιτητικό εισιτήριο σε σχέση με ενα κανονικό όσον αφορά το είδος του αντικειμένου παρά μόνον στην τιμή τους (πράγμα που θα μπορούσες να αλλάζεις για παράδειχμα στην αρχικοποίηση των πεδίων). Άν κάποιος καθηγητής σου είπς να το λύσεις με κληρονομικότητα κατά τον τρόπο που περιγράφεις κάνει το θεμελιώδες, κατά την γνώμη μου, λάθος να διδάσκει αντικειμενοστρέφεια με χαζά παραδείγματα... θα πρότεινα να λύσεις την άσκηση όπως λεεί αλλά παράλληλα να είσαι σκεπτικός για ότι και να σου λεεί (όσο καλό παιδί, exper, λεμές ή μεταδοτικός και να είναι).
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.