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

java κλάσεις -κάτι απλό


cyber_katsarida

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

Δημοσ.

ένα προβληματάκι με τη δημιουργία κάποιων κλάσεων

για να μην τα πολυλογώ θέλουμε μια εφαρμογή καταστήματος διάθεσης εισιτηρίων.

το κατάστημα έχει κάποια χαρακτηριστικά:

έστω α,β,γ.

τα εισιτήρια κάποια άλλα χαρακτηριστικά

εστω κ,λ.μ

όσον αφορά τα εισιτήρια έχουμε επιπλέον την περίπτωση του φοιτιτικού με την έκπτωση.

δηλαδή: fitiko extends eisitiria ....

 

πως θα συνδιάσω όμως την κλάση καταστημα με τα εισιτήρια, μέσω μιας άλλης κλάσης;

 

το έγραψα λίγο στα γρήγορα ελπίζω να πιάσατε το νόημα

 

απλό είναι αλλά κόλλησα τώρα

Δημοσ.

δεν πολυκατάλαβα τι θέλεις να πεις, αλλά απο τα συμφραζόμενα πιστεύω οτι απλά ρωτάς πως ενα κατάστημα θα ξέρει τα εισιτήρια του??? (υποθέτω)

 

εγώ θα έκανα το εξής, το κατάστημα θα είχε μια λίστα από εισιτήρια (implementing the List interface) και το κάθε εισιτήριο θα κρατούσε ένα instance του καταστήματος που ανήκει.

 

πχ.

 

Katastima {

List tickets;

...

}

 

Ticket {

Katastima parent;

....

}

 

αν θες διατύπωσε λίγο καλύτερα το ερώτημα για να βοηθήσουμε παραπάνω

Δημοσ.

ευχαριστώ για την απάντηση.

να τα ξεκαθαρίσω λίγο.

θέλω να φτιάξω τις κλάσεις για την εφαρμογή μου

 

έχω : ένα κατάστημα πώλησης εισιτηρίων.

 

το κατάστημα έχει χαρακτηριστικά:

ονομα,αφμ....

τα εισιτήρια έχουν:

τιμή, θέση.....

και έχω τα φοιτιτικά τα οποία έχουν επιπλέον την έκπτωση (σαν χαρακτηριστικό) .

 

κάνω λοιπον

 

1)

class katastima{

 

......

}

 

2)

class eisitiria{

.....

}

 

3)

class fititika extends eisitiria{

...

}

 

αυτό δεν είναι πλήρες όμως. δεν συνδέονται τα εισιτήρια με το κατάστημα.

λογικά θέλει κάτι του στυλ:

 

class something{

private katastima kt;

private eisitiria eis;

 

......

}

Δημοσ.

Νομίζω ότι αυτό που προτείνει ο zozeo στο ποστ 2 είναι καλύτερο. Επίσης αν τα εισιτήρια είναι fixed σε αριθμό θα μπορούσες να έχεις πίνακα αντί για λίστα.

Δημοσ.

Γενικά αν είναι να χρησιμοποιήσεις κληρονομικότητα τότε φτιάξε το abstract εισιτήριο και επέκτεινε το σε ολόκληρο και σπουδαστικό. Δεν σκέφτικα την γενική εικόνα του τι θες να κάνεις αλλά αυτή η προσσέγιση που θα είχα εγώ βάσει αυτών που κατάλαβα ότι είπες.

 

Καλή επίλυση :)

 

edit: διαβάζοντας περισσότερο χρειάζεσαι μια δομή δεδομένων (μάλλον λίστα ή vector) το οποίο να είναι του τύπου εισιτηριού και τα ειδικευμένα εισιτήρια σου να γίνονται upcast σε αυτό. Παρόλα αυτά δεν αντιλαμβάνομαι τι διαφορά έχει ένα φοιτητικό εισιτήριο σε σχέση με ενα κανονικό όσον αφορά το είδος του αντικειμένου παρά μόνον στην τιμή τους (πράγμα που θα μπορούσες να αλλάζεις για παράδειχμα στην αρχικοποίηση των πεδίων). Άν κάποιος καθηγητής σου είπς να το λύσεις με κληρονομικότητα κατά τον τρόπο που περιγράφεις κάνει το θεμελιώδες, κατά την γνώμη μου, λάθος να διδάσκει αντικειμενοστρέφεια με χαζά παραδείγματα... θα πρότεινα να λύσεις την άσκηση όπως λεεί αλλά παράλληλα να είσαι σκεπτικός για ότι και να σου λεεί (όσο καλό παιδί, exper, λεμές ή μεταδοτικός και να είναι).

Αρχειοθετημένο

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

  • Δημιουργία νέου...