Αντικειμενοστραφή προγραμματισμος

Ξεκίνησε από theoni, 05 Ιουν 2023, 07:02:17 ΜΜ

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

theoni

Καλησπέρα  να κάνω μια ερώτηση γιατί έχω δει διαφορετικές απαντήσεις και έχω μπερδευτεί όταν μας δίνεται μια κλάση και μας ζητούν τον κατασκευαστή της γράφουμε σκέτο __init__ ή ολόκληρη την πρώτη γραμμή def __init__ και τις παραμέτρους που έχει μέσα στην παρένθεση?????

NIKOS_KALYVAS

Πράγματι αυτό που αναφέρεις συμβαίνει και σε πολλές ενδεικτικές λύσεις υπάρχει παρανόηση.

Από το σχολικό βιβλίο σελ. 199
"Οπότε, όταν καλούμε την κλάση, έχουμε φροντίσει να καλείται η μέθοδος-συνάρτηση αρχικοποίησης __init__  η οποία κατασκευάζει αντικείμενα, λόγος για τον οποίο η μέθοδος __init__ ονομάζεται κατασκευαστής."

Άρα αναφέροντας μόνο τη μέθοδο __init__ είσαι ΟΚ.
Βέβαια και κάποιος μαθητής που θα γράψει def __init__(self ....κλπ) και αυτό πιάνεται σωστό.
ΝΙΚΟΣ ΚΑΛΥΒΑΣ
Καθηγητής Πληροφορικής (ΠΕ86)

evry

Δεν κατάλαβα την ερώτηση.
Όταν ορίζεις την __init__ πρέπει να έχεις και def μπροστά, όταν θέλεις να την καλέσεις όχι.
Που ακριβώς είναι το πρόβλημα;
What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

theoni

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

evry

Αν κάποιος στην ερώτηση "ποιος είναι ο κατασκευαστής" βάζει μαζί και το def τότε θα έλεγα ότι δεν έχει καταλάβει και δεν μπορεί να πάρει όλες τις μονάδες.
What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

theoni

Υπάρχουν όμως απαντήσεις με το def μπροστά και αν δεν κάνω λάθος πρέπει να το είδα και στην τράπεζα θεματων

theoni

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

evry

Δεν έχω δει την τράπεζα θεμάτων αλλά φαντάσου να σε ρωτήσει κάποιος :
Ποια συνάρτηση υπολογίζει το ημίτονο στη ΓΛΩΣΣΑ ?
και αντί να απαντήσεις η ΗΜ(χ) ή η ΗΜ
να απαντήσεις η
ΣΥΝΑΡΤΗΣΗ ΗΜ(Χ) : ΑΚΕΡΑΙΑ

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

Μπορείτε να μου στείλετε ποιο ακριβώς θέμα είναι στην τράπεζα θεμάτων ώστε να το δω και αν έχει πρόβλημα να επικοινωνήσω μαζί τους, μήπως μπορεί να διορθωθεί?
What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

NIKOS_KALYVAS

Από την Τράπεζα Θεμάτων Προγραμματισμός Γ ΕΠΑΛ..
ενδεικτικα τα θέματα :
27800
29529
ΝΙΚΟΣ ΚΑΛΥΒΑΣ
Καθηγητής Πληροφορικής (ΠΕ86)

evry

Το είδα.
Η σωστή απάντηση είναι να πεις απλά __init__ και τέλος. Δεν χρειάζεται κάτι άλλο.
Άντε να βάλεις και τις παραμέτρους αν θέλεις, αλλά όχι και το def.
Το def δεν είναι μέρος του ονόματος της συνάρτησης.

Θα πρέπει να το διορθώσουν.

Όπως και να έχει πάντως αυτό δε σημαίνει απολύτως τίποτα γιατί το διαγώνισμα το διορθώνει ο/η καθηγητής/τρια, οπότε από τη στιγμή που ο μαθητής αναφέρει την init το δέχεται.
What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr