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

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

Δημοσ.

Γεια σας,

Έχω μια απορία σχετική με αντικειμενοστραφή προγραμματισμό και σχέσεις κλάσεων.

Όταν έχουμε δύο κλάσεις πχ Α και Β και η Α έχει ως πεδίο ένα αντικείμενο της κλάσης Β τότε λέμε ότι η κλάση Α χρησιμοποιεί την κλάση Β και η σχέση που έχουν μεταξύ τους αυτές οι δύο κλάσεις λέγεται Συσχέτιση(Assosiation).

Η απορία μου όμως είναι:

Αν η κλάση Α έχει μία μέθοδο η οποία δέχεται σαν όρισμα ένα αντικείμενο της κλάσης Β τότε τι σχέση έχουν οι 2 κλάσεις μεταξύ τους?

Θεωρείται και αυτό Συσχέτιση?

Ευχαριστώ.

Δημοσ.

Καλημέρα,

 

Ίσως το ακολουθο Link σε βοηθήσει να κατανοήσεις καλύτερα τις διάφορες σχέσεις των κλάσεων. Νομίζω ότι το παράδειγμά σου είναι Usage Relationship.

Δημοσ.

Καλημέρα,

 

Ίσως το ακολουθο Link σε βοηθήσει να κατανοήσεις καλύτερα τις διάφορες σχέσεις των κλάσεων. Νομίζω ότι το παράδειγμά σου είναι Usage Relationship.

 

Πιστεύεις πως είναι καλή πρακτική αυτή γενικά ή περιπλέκει πολύ τα πράγματα στον αντικειμενοστραφή προγραμματισμό?

Δημοσ.

Πιστεύεις πως είναι καλή πρακτική αυτή γενικά ή περιπλέκει πολύ τα πράγματα στον αντικειμενοστραφή προγραμματισμό?

 

Δεν είμαι σίγουρος ότι κατάλαβα σε τι αναφέρεσαι ως πρακτική, γενικά το medelling με UML concepts ή συγκεκριμένα το usage relationship;

 

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

 

Το usage relationship είναι μια πολύ χρήσιμη μέθοδος για την αλληλεπίδραση ανάμεσα στις κλάσεις, δεν θεωρώ ότι αυξάνει την πολυπλοκότητα.

Δημοσ.

Με πολύ πολύ μικρή επιφύλαξη μήπως και κάπου δεν είμαι 100% technically correct:

 

Όταν η κλάση A έχει σαν member ένα αντικείμενο κλάσης B, τότε λέμε ότι η σχέση είναι composition. Στην πολύ συνηθισμένη περίπτωση όπου η "ζωή" του αντικειμένου B τελειώνει μαζί με αυτή του αντικειμένου Α, τότε έχουμε μια υποπερίπτωση του composition που ονομάζεται aggregation.

 

Αν τώρα το αντικείμενο απλώς δέχεται ένα αντικείμενο της κλάσης B σαν όρισμα σε κάποια μέθοδο, τότε έχουμε μια εμφανώς πιο "χαλαρή" σχέση για την οποία δε νομίζω ότι υπάρχει κάποιος συγκεκριμένος όρος (την έχω συναντήσει ως usage).

 

Η τελευταία σου ερώτηση είναι τόσο γενική που δεν έχει νόημα. Από τη στιγμή που έχουμε βγάλει ονόματα για τις 2 αυτές πρακτικές είναι προφανές ότι έχουν τη χρήση τους σίγουρα σε κάποιες περιπτώσεις -- και πιο συγκεκριμένα, σε αντίθεση με άλλα πράγματα που έχουν κι αυτά όνομα (I 'm looking at you, singleton) οι σχέσεις αυτές είναι πολύ πολύ χρήσιμες και κατάλληλες σε ευρεία γκάμα περιπτώσεων.

 

Τώρα όσον αφορά το τι είναι το "σωστό", αυτό για να το πει κανείς χρειάζεται πολύ περισσότερα και συγκεκριμένα δεδομένα για τις κλάσεις αυτές και το ρόλο τους. Αν γίνεις πιο συγκεκριμένος θα μπορούσαμε να κάνουμε και μεις το ίδιο.

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

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

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

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

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

Σύνδεση

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

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