ΙΔΙΟΤΗΤΕΣ ΑΝΤΙΚΕΙΜΕΝΟΥ

Ξεκίνησε από parsenopoulou, 12 Μαΐου 2023, 01:43:14 ΜΜ

« προηγούμενο - επόμενο »

parsenopoulou

Συνάδελφοι καλησπέρα. 
Θα ήθελα τη γνώμη σας πάνω σε μια πρόταση που πρέπει να χαρακτηριστεί Σωστή ή Λανθασμένη :
<<Δύο αντικείμενα μιας κλάσης μπορούν να έχουν διαφορετικές μεθόδους>>. 
Ήταν απορία ενός μαθητή στο σχολείο. Αρχικά απάντησα ότι η πρόταση είναι Λάθος. Μου απάντησε  όμως ότι στο σχολικό βιβλίο στο παράδειγμα με τα λουλούδια, το αντικείμενο Μαμά έχει μέθοδο ΚΑΝΕΙΠΑΡΑΓΓΕΛΙΑ() και το αντικείμενο Άννα έχει μέθοδο ΛΑΜΒΑΝΕΙΠΑΡΑΓΓΕΛΙΑ(), που σημαίνει ότι 2 αντικείμενα της ίδιας κλάσης (ΠΕΛΑΤΗΣ ) έχουν μεταξύ τους διαφορετικές ιδιότητες. 
Θα εκτιμούσα τη γνώμη σας γιατί ομολογώ ότι προβληματίστηκα.

Καραμαούνας Πολύκαρπος

Καταλαβαίνω ότι και οι δύο μέθοδοι: ΚΑΝΕΙΠΑΡΑΓΓΕΛΙΑ() και ΛΑΜΒΑΝΕΙΠΑΡΑΓΓΕΛΙΑ() είναι μέθοδοι της κλάσης ΠΕΛΑΤΗΣ άρα και των αντικειμένων της Μαμά και Άννα. Επομένως η πρόταση είναι όντως Λάθος.

kdimitris

Μια κλάση περιγράφει γενικά το αντικείμενο (πχ πελάτης). Όλα τα αντικείμενα που προέρχονται από την κλάση έχουν όλες τις ιδιότητες και όλες τις μεθόδους της κλάσης, απλά μπορεί να μην τα χρησιμοποιούν όλα ανάλογα με τον ρόλο τους στην εφαρμογή. Πχ αν η παραγγελία γίνει ανάποδα (η Αννα θέλει να στείλει λουλούδια στην Μαμά) τότε το κάθε αντικείμενο θα χρησιμοποιήσει τις αντίστοιχες μεθόδους που του χρειάζονται.
Άρα λοιπόν το σενάριο απλά αναφέρει τις ιδιότητες και τις μεθόδους του κάθε αντικειμένου που απαιτείται εκείνη την στιγμή.
Ένα παράδειγμα φαντάσου είναι ένας πελάτης σε ένα e-shop. Μπορεί ο κύριος Α (αντικείμενο της κλάσης Πελάτης) να έχει καταχωρήσει μόνο μια διεύθυνση παράδοσης και ο κύριος Β (αντικείμενο και αυτός της ίδιας κλάσης) να έχει 3 διευθύνσεις παράδοσης. Στον Α θα φαίνεται μόνο μία στον Β και οι 3. Δεν σημαίνει ότι επειδή ο Β θα έχει άλλες ιδιότητες (επιπλέον διευθύνσεις που δεν έχει ο Α) προήρθε από άλλη κλάση

akalest0s

Ο αντίλογος σε αυτό που σου είπε ο μαθητής, είναι σελ. 92, συμπληρωματικό μαθητή:
"Μια κλάση (...) μπορεί να παράγει ένα απεριόριστο πλήθος δομικά ίδιων αντικειμένων."
Εξηγείς ότι το διάγραμμα των αντικειμένων που αναφέρει ο μαθητής, παρουσιάζει (και βασίζεται) στο σενάριο "αποστολή λουλουδιών", οπότε δεν είναι πλήρες, αλλά παρουσιάζει την ανάλυση της μεθόδου της §4.2.1, όπως αυτή προέκυψε. Υπάρχει ένας συνειρμός σε εξέλιξη σε αυτές τις σελίδες του βιβλίου.
Δες επίσης και το διάγραμμα κλάσεων, του ίδιου παραδείγματος, σελ. 95. Στην κλάση πελάτης ανήκουν και οι δύο μέθοδοι.

Φυσικά δεν είναι επαρκές αυτό, όφειλε διευκρίνιση το βιβλίο σε αυτό το σημείο. Αλλά.. γνωστά και χιλιοειπωμένα.
"Abstraction is not the first stage, but the last stage, in a mathematical development." MK
"I don't want to write about a high level thing, unless I fully understand about a low level thing" DK

parsenopoulou

Συνάδελφοι ευχαριστώ πολύ για τις απαντήσεις και το χρόνο σας! 

Γιαννούλης Γιώργος

Νομίζω το μεγαλύτερο πρόβλημα σε αυτή την ερώτηση το έχουμε όταν μιλάμε για ιεραρχίες κλάσεων όπως π.χ.:


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

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

Foto

Ένα αντικείμενο κλάσης ΑντΑ και ΑντΒ, λέμε ότι είναι (is a) ΑντΑ και ΑντΒ. Το ρήμα Έχω το λέμε για το αντοκειμενο που έχει ένα άλλο αντικείμενο, όπως μια ιδιότητα,, πχ το ΑντΑ έχει το ΑντΓ (has a). Η διαφορά του είναι με το έχει, είναι μεγάλη. Στη περίπτωση του είναι, σημαίνει ότι η διεπαφή που ορίζει η κλάση ΑντΑ υπάρχει σε ένα αντικείμενο που είναι ΑντΑ ανεξάρτητα από αλλά αντικείμενα που μπορεί να είναι ανεξάρτητα από άλλες διεπαφές (interfaces) που μπορεί να έχει. Στη περίπτωση που έχουμε το Έχει, το αντικείμενο πχ ΑντΑ να έχει το αντικείμενο ΑντΓ, σημαίνει ότι δεν είναι ΑντΓ, δηλαδή δεν έχει τέτοια διεπαφή, απλά μια ιδιότητα του είναι ένα αντικείμενο ΑντΓ.. θα μπορούσε να υπάρξει ένα αντικείμενο Βιβλιοθήκη με 100 αντικείμενα Βιβλία, δηλαδή η Βιβλιοθήκη Έχει Βιβλία, ως ιδιότητα, πίνακα Βιβλίων . Κανείς δεν θα έφτιαχνε ένα αντικείμενο με δύο διεπαφές Βιβλιοθήκη και Βιβλίο, αυτά τα δύο δεν μπορούν να Είναι ένα αντικείμενο.

Endlessly

Να ρωτήσω με τη σειρά μ κάτι, με αυτό το παράδειγμα που θέσατε, η κλάση έχει όλες τις ιδιότητες και μεθόδους και στο κάθε αντικείμενο στο διάγραμμα αναγράφονται μόνο οι δικές του;

NIKOS_KALYVAS

#8
Παράθεση από: Endlessly στις 15 Απρ 2025, 12:24:41 ΜΜΝα ρωτήσω με τη σειρά μ κάτι, με αυτό το παράδειγμα που θέσατε, η κλάση έχει όλες τις ιδιότητες και μεθόδους και στο κάθε αντικείμενο στο διάγραμμα αναγράφονται μόνο οι δικές του;
Σύμφωνα με τη διαγραμματική αναπαράσταση των αντικειμένων, το βιβλίο αναγράφει στα αντικείμενα τις μεθόδους που χρησιμοποιεί το αντίκειμενο για το εν λόγω σενάριο.
Δεν είναι λάθος όμως κατά τη γνώμη μου να αναγραφούν και όλες οι μέθοδοι του αντικειμένου (αυτές που υπάρχουν στην κλάση). Απλά το βιβλίο επισημαίνει αυτές που χρησιμοποιεί το κάθε αντικείμενο για αυτό το συγκεκριμένο στιγμιότυπο του προβλήματος (σεναρίου).
Άρα και η Μαμά και η Άννα θα έχουν έτσι κι αλλιώς και οι 2 ως μεθόδους  ΚάνειΠαραγγελία() και ΠαραλαµβάνειΑνθοδέσµη()
Αν πέσει όμως μια τετοια άσκηση στις Πανελλαδικές το σημείο είναι λίγο θολο. Σωστοί θα πρέπει να ληφθούν και οι 2 τρόποι απεικόνισης των αντικειμένων σε μια διαγραμματική αναπαράσταση.
Το εμπόδιο αυτό ξεπερνιέται και το θέμα γίνεται πιο σαφές, με τη διαγραμματική αναπαράσταση κλάσεων. Η εκφώνηση όμως ενός τέτοιου θέματος πρέπει να μην επιδέχεται καμία παρερμηνεία. Και αυτή η δυσκολία που έχουν να αντιμετωπίσουν οι θεματοδέτες το κάνει τελικά απλό και εύκολο θέμα.  Άλλωστε ο αντικεινοστρεφής προγραμματισμός απλά ως θεωρία πρέπει να εξετάζει βασικές έννοιες. Με απλά πράγματα.
ΝΙΚΟΣ ΚΑΛΥΒΑΣ
Καθηγητής Πληροφορικής (ΠΕ86)

petrosp13

Παράθεση από: NIKOS_KALYVAS στις 15 Απρ 2025, 09:57:13 ΜΜΚαι αυτή η δυσκολία που έχουν να αντιμετωπίσουν οι θεματοδέτες το κάνει τελικά απλό και εύκολο θέμα.  Άλλωστε ο αντικεινοστρεφής προγραμματισμός απλά ως θεωρία πρέπει να εξετάζει βασικές έννοιες. Με απλά πράγματα.

Γι'αυτό και τα δυο θέματα δημιουργίας διαγραμμάτων που έχουν ζητηθεί μέχρι τώρα (και μάλιστα σε επαναληπτικές εξετάσεις) ήταν στα όρια του γελοίου
Ίσως τα επόμενα χρόνια να ανεβάσουν τα επίπεδα δυσκολίας, αλλά να μην κινηθούμε ποτέ σε όρια ασάφειας
Η ιδέα να δίνονται υπογραμμισμένοι οι όροι που θα χρησιμοποιηθούν στο διάγραμμα ήταν εξαιρετική
Παπαδόπουλος Πέτρος
Καθηγητής Πληροφορικής

George Eco

Παράθεση από: petrosp13 στις 16 Απρ 2025, 10:19:37 ΠΜΓι'αυτό και τα δυο θέματα δημιουργίας διαγραμμάτων που έχουν ζητηθεί μέχρι τώρα (και μάλιστα σε επαναληπτικές εξετάσεις) ήταν στα όρια του γελοίου
Ίσως τα επόμενα χρόνια να ανεβάσουν τα επίπεδα δυσκολίας, αλλά να μην κινηθούμε ποτέ σε όρια ασάφειας
Η ιδέα να δίνονται υπογραμμισμένοι οι όροι που θα χρησιμοποιηθούν στο διάγραμμα ήταν εξαιρετική
Ίσως τα επόμενα χρόνια να διδάσκουμε και σε python3 για να μπορούμε να εξηγούμε κι ευκολότερα.
Θα συμφωνήσω για το θέμα με τα υπογραμμισμένα.

Foto

Ή μπορεί να μην υπάρχει καν το μάθημα, και να μπει η χρήση του Word και του Excel...
Που είναι και περισσότερο επιθυμητό στο Δημόσιο.

George Eco

Παράθεση από: Foto στις 18 Απρ 2025, 05:33:33 ΜΜΉ μπορεί να μην υπάρχει καν το μάθημα, και να μπει η χρήση του Word και του Excel...
Που είναι και περισσότερο επιθυμητό στο Δημόσιο.

Αυτά διδάσκονται ήδη Γυμνάσιο και με τα νέα βιβλία focus γίνεται σε Libre Office.

Foto

#13
Τα συστήματα με linux σπάνια αναβαθμιζοντσι. Ένα  πρόβλημα που υπάρχει σε όλες τις υπηρεσίες. Και το δεύτερο ότι το Writer δεν είναι συμβατό με το Word, εκτός αν το χρησιμοποιείς ως Wordpad.
Πιάσε δέκα χρήστες Word/Writer στο δημόσιο να σου πουν αν το αρχείο doc είναι ο προβλεπόμενος τύπος αρχείου. Ρώτα αν γνωρίζουν τι είναι το docx, από τι αποτελείται και πόσες παραλλαγές υπάρχουν.



mandarinos

"...το Writer δεν είναι συμβατό με το Word..."

Πρώτη φορά διαβάζω κάτι τέτοιο και μου φαίνεται πολύ περίεργο. Μέσα από LibreOffice, έχω κάνει έγγραφα "save as docx" αμέτρητες φορές. Επίσης, το LibreOffice διαβάζει μιά χαρά και εκτελεί παρουσιάσεις του PowerPoint.

- Αν δεν κάνω λάθος, και το Libre, και το Microsoft, έχουν από κάτω την ίδια "μηχανή", την XML.
- Αν δεν κάνω λάθος (δίς), σύμφωνα με τις προδιαγραφές του Web 2.0, κάθε πρόγραμμα υποχρεούται να διαβάζει / τροποποιεί / σώζει τα αρχεία όλων των ομοειδών· πχ ένας κειμενογράφος τα κείμενα των υπολοίπων, κλπ.