• Downloads
  • ! Read Me !
  • Μαθήματα
  • Φοιτητικά
  • Τεχνικά Θέματα
  • Συζητήσεις
  • Happy Hour!
  • About THMMY.gr
 V  < 
Search:  
Welcome, Guest. Please login or register.
June 17, 2025, 09:14:16 am

Login with username, password and session length
Links
  Thmmy.gr portal
   Forum
   Downloads
   Ενεργ. Λογαριασμού
   Επικοινωνία
  
  Χρήσιμα links
   Σελίδα τμήματος
   Βιβλιοθήκη Τμήματος
   Elearning
   Φοιτητικά fora
   Πρόγραμμα Λέσχης
   Πρακτική Άσκηση
   Ηλεκτρονική Εξυπηρέτηση Φοιτητών
   Διανομή Συγγραμμάτων
   Ψηφιακό Καταθετήριο Διπλωματικών
   Πληροφορίες Καθηγητών
   Instagram @thmmy.gr
   mTHMMY
  
  Φοιτητικές Ομάδες
   ACM
   Aristurtle
   ART
   ASAT
   BEAM
   BEST Thessaloniki
   EESTEC LC Thessaloniki
   EΜΒ Auth
   IAESTE Thessaloniki
   IEEE φοιτητικό παράρτημα ΑΠΘ
   SpaceDot
   VROOM
   Panther
  
Πίνακας Ελέγχου
Welcome, Guest. Please login or register.
June 17, 2025, 09:14:16 am

Login with username, password and session length

Αναζήτηση

Google

THMMY.gr Web
Πρόσφατα
Ισραήλ - Ιράν: Πόλεμος στ...
by okan
[Today at 02:33:21]

Τι ακούτε αυτήν τη στιγμή...
by Katarameno
[Today at 02:29:21]

[Οργάνωση Υπολογιστών] Γε...
by RAFI
[June 16, 2025, 22:46:54 pm]

[Σ.Π.Η.Ε.] Γενικές απορίε...
by Nikos_313
[June 16, 2025, 19:49:00 pm]

[ΘΤΠΑ] Γενικές απορίες κα...
by Nikos_313
[June 16, 2025, 16:56:56 pm]

[Εφ.Θερμοδυναμική] Γενικέ...
by Λαμπτήρας
[June 16, 2025, 15:55:08 pm]

[Αρχές Οικονομίας] Να επι...
by _Trob
[June 16, 2025, 13:28:21 pm]

[Σ.Α.Π.Γ.] Εργασία 2025
by Nikos_313
[June 16, 2025, 12:13:45 pm]

Αποτελέσματα Εξεταστικής ...
by Nikos_313
[June 16, 2025, 12:01:53 pm]

Πρακτική Άσκηση ΤΗΜΜΥ 201...
by George_RT
[June 16, 2025, 10:22:18 am]

[Διανεμημένη Παραγωγή] Γε...
by Διάλεξις
[June 16, 2025, 01:56:37 am]

Αντικατάστασης πυκνωτή σε...
by nmpampal
[June 15, 2025, 16:25:56 pm]

[Σ.Π.Η.Ε.] Παλιά θέματα -...
by nmpampal
[June 15, 2025, 06:43:15 am]

Το thmmy.gr στο instagram...
by Mr Watson
[June 15, 2025, 00:50:23 am]

[Λογισμός ΙΙ] Απορίες σε...
by el mariachi
[June 14, 2025, 20:47:07 pm]

ΠΡΟΣΟΧΗ στο ανέβασμα θεμά...
by tzortzis
[June 14, 2025, 16:54:08 pm]

Ρυθμίσεις Θεμάτων της Ανώ...
by el mariachi
[June 14, 2025, 11:56:45 am]

Πότε θα βγει το μάθημα; -...
by Nikos_313
[June 14, 2025, 10:00:55 am]

Αρχείο Ανακοινώσεων [Arch...
by Nikos_313
[June 14, 2025, 09:58:14 am]

Αλέξης Τσίπρας, η επιστρο...
by Yamal
[June 14, 2025, 04:42:23 am]
Στατιστικά
Members
Total Members: 9960
Latest: valco08
Stats
Total Posts: 1426680
Total Topics: 31710
Online Today: 169
Online Ever: 2093
(April 17, 2025, 08:47:49 am)
Users Online
Users: 10
Guests: 107
Total: 117
Saint_GR
rafail zisiadis
noys
tzortzis
Giannis_Kako
NET2GRID
Theislander
alexiosmara
astakos1
Εμφάνιση

Νέα για πρωτοετείς
Είσαι πρωτοετής;... Καλώς ήρθες! Μπορείς να βρεις πληροφορίες εδώ. Βοήθεια για τους καινούργιους μέσω χάρτη.
Κατεβάστε εδώ το Android Application για εύκολη πρόσβαση στο forum.
Ανεβάζετε τα θέματα των εξετάσεων στον τομέα Downloads με προσοχή στα ονόματα των αρχείων!

Νέα!
Ανεβάζετε τα θέματα των εξετάσεων στον τομέα Downloads
με προσοχή στα ονόματα των αρχείων!
THMMY.gr > Forum > Μαθήματα Βασικού Κύκλου > 2ο Εξάμηνο > Αντικειμενοστραφής Προγραμματισμός (Moderators: chatzikys, tzortzis) > [C++] Άσκηση 5 - 2015/2016 Προθεσμία 14/11/2015 11:00 μμ
0 Members and 1 Guest are viewing this topic.
Pages: 1 [2] Go Down Print
Author Topic: [C++] Άσκηση 5 - 2015/2016 Προθεσμία 14/11/2015 11:00 μμ  (Read 2642 times)
Apostolof
WebSlave
Αbsolute ΤΗΜΜΥ.gr
***
Gender: Male
Posts: 2660


Κεραυνοί, φωτιές, ece


View Profile WWW
Re: [C++] Άσκηση E - 2015/2016 Προθεσμία 14/11/2015 11:00 μμ
« Reply #15 on: November 14, 2015, 15:15:57 pm »

Quote from: LordOdy on November 14, 2015, 14:35:31 pm
Quote from: Tolis _tmo_ on November 14, 2015, 14:22:17 pm
Quote from: electric67 on November 14, 2015, 14:07:24 pm
γενικά είναι καλό να βάζω στο πρόγραμμα όλες τις συναρτήσεις get και set;

Κατά τη γνώμη μου όχι. Όταν έχεις ένα μέλος κλάσης private και συναρτήσεις set και get ψιλό-χάνεις το νόημα του private σκέλους, καλύτερα δήλωσε το μέλος public και γλύτωσε ένα τόνο κώδικα από setters και getters. Ούτως ή άλλως τα private μέλη αποσκοπούν στη περιορισμένη πρόσβαση, γιατί να έχεις συναρτήσεις set;

Πάντως από ότι έχω διαβάσει οι απόψεις διίστανται, είναι υποκειμενικό το θέμα δεν υπάρχει ξεκάθαρα καλύτερη πρακτική.

Public πεδία είναι γενικά ΑΠΑΓΟΡΕΥΤΙΚΑ στην C++ και γενικά στον αντικειμενοστραφή προγραμματισμό , δεν είναι θέμα γνώμης , είναι θέμα design (βλ αρχή του encapsulation). Οπότε, αν θες να είσαι τυπικά σωστός βάζε getters setters όπου χρειάζεται. Επίσης που είδες ότι οι απόψεις διίστανται ??

Δεν λέω ότι τα public πεδία είναι καλός προγραμματισμός. Λέω ότι η μέθοδος private member-setter + getter είναι εξίσου κακός για εμένα. Πάνω σε αυτό διίστανται οι απόψεις. Πως προστατεύεις τα private members σου αν έχεις setters;
Για το που το είδα δε μπορώ να απαντήσω τώρα είμαι από κινητό και βράζουμε τσίπουρα  Grin Grin
« Last Edit: November 15, 2015, 12:54:41 pm by Tolis _tmo_ » Logged

All these moments will be lost in time, like tears in rain.
In the meanwhile, life goal.
LordOdy
Νεούλης/Νεούλα
*
Posts: 30


View Profile
Re: [C++] Άσκηση E - 2015/2016 Προθεσμία 14/11/2015 11:00 μμ
« Reply #16 on: November 14, 2015, 15:24:27 pm »

Quote from: Tolis _tmo_ on November 14, 2015, 15:15:57 pm
Quote from: LordOdy on November 14, 2015, 14:35:31 pm
Quote from: Tolis _tmo_ on November 14, 2015, 14:22:17 pm
Quote from: electric67 on November 14, 2015, 14:07:24 pm
γενικά είναι καλό να βάζω στο πρόγραμμα όλες τις συναρτήσεις get και set;

Κατά τη γνώμη μου όχι. Όταν έχεις ένα μέλος κλάσης private και συναρτήσεις set και get ψιλό-χάνεις το νόημα του private σκέλους, καλύτερα δήλωσε το μέλος public και γλύτωσε ένα τόνο κώδικα από setters και getters. Ούτως ή άλλως τα private μέλη αποσκοπούν στη περιορισμένη πρόσβαση, γιατί να έχεις συναρτήσεις set;

Πάντως από ότι έχω διαβάσει οι απόψεις διίστανται, είναι υποκειμενικό το θέμα δεν υπάρχει ξεκάθαρα καλύτερη πρακτική.

Public πεδία είναι γενικά ΑΠΑΓΟΡΕΥΤΙΚΑ στην C++ και γενικά στον αντικειμενοστραφή προγραμματισμό , δεν είναι θέμα γνώμης , είναι θέμα design (βλ αρχή του encapsulation). Οπότε, αν θες να είσαι τυπικά σωστός βάζε getters setters όπου χρειάζεται. Επίσης που είδες ότι οι απόψεις διίστανται ??

Δεν λέω ότι τα public πεδία είναι καλός προγραμματισμός. Λέω ότι η μέθοδος private member-setter + getter είναι εξίσου κακός για εμένα. Πάνω σε αυτό διίστανται οι απόψεις. Πως προστατεύεις τα private members σου αν έχεις setters;
Για το που το είδα δε μπορώ να απαντήσω τώρα είμαι από κινητό και βάζουμε τσίπουρα  Grin Grin

Σε αυτή την trivial περίπτωση φαίνεται ανούσιο , το καταλαβαίνω. Πες όμως πως θες να βάλεις έναν έλεγχο στην set (πχ μην δέχεσαι τιμές πάνω απο 100 κλπ) . Εκεί αρχίζει και φαίνεται η αναγκαιότητα του encapsulation. Οπότε , από το να λες καθε φορά "Βρε λες να το βάλω Public , το ίδιο είναι",απλά ακολουθείς το design choice και έχεις το κεφάλι σου ήσυχο. Η λογική είναι ότι μια κλάση (και κατ'επεκταση ένα αντικείμενο αυτής) είναι η μόνη υπεύθυνη για τον χειρισμό της μεταβλητής , για να γλυτώνεις περρίσιο κώδικα κλπ κλπ. Καλα τσίπουρα  Cheesy
Logged
Apostolof
WebSlave
Αbsolute ΤΗΜΜΥ.gr
***
Gender: Male
Posts: 2660


Κεραυνοί, φωτιές, ece


View Profile WWW
Re: [C++] Άσκηση E - 2015/2016 Προθεσμία 14/11/2015 11:00 μμ
« Reply #17 on: November 15, 2015, 13:13:56 pm »

Quote from: LordOdy on November 14, 2015, 15:24:27 pm
Quote from: Tolis _tmo_ on November 14, 2015, 15:15:57 pm
Quote from: LordOdy on November 14, 2015, 14:35:31 pm
Quote from: Tolis _tmo_ on November 14, 2015, 14:22:17 pm
Quote from: electric67 on November 14, 2015, 14:07:24 pm
Σε αυτή την trivial περίπτωση φαίνεται ανούσιο , το καταλαβαίνω. Πες όμως πως θες να βάλεις έναν έλεγχο στην set (πχ μην δέχεσαι τιμές πάνω απο 100 κλπ) . Εκεί αρχίζει και φαίνεται η αναγκαιότητα του encapsulation. Οπότε , από το να λες καθε φορά "Βρε λες να το βάλω Public , το ίδιο είναι",απλά ακολουθείς το design choice και έχεις το κεφάλι σου ήσυχο. Η λογική είναι ότι μια κλάση (και κατ'επεκταση ένα αντικείμενο αυτής) είναι η μόνη υπεύθυνη για τον χειρισμό της μεταβλητής , για να γλυτώνεις περρίσιο κώδικα κλπ κλπ. Καλα τσίπουρα  Cheesy

Ξαναλέω δε τίθεται θέμα αν τα public πεδία είναι καλός προγραμματισμός, γιατί απλά συμφωνώ ότι δεν είναι. Το θέμα είναι αν θα πρέπει κάθε μεταβλητή να έχει μια setter και μια getter συνάρτηση. Ειδικά setter πιστεύω ότι δε πρέπει να έχει και μάλιστα καλό θα είναι να αποφεύγεται όπου είναι δυνατόν.

http://www.artima.com/intv/goldilocks2.html
Bjarne Stroustrup: "Going to the big class hierarchy is again, you write more code than you need to, and you get too much connection between different parts. I particularly dislike classes with a lot of get and set functions. That is often an indication that it shouldn't have been a class in the first place. It's just a data structure. And if it really is a data structure, make it a data structure."

http://typicalprogrammer.com/doing-it-wrong-getters-and-setters/
“Python is not Java” Phillip J. Eby: "Getters and setters are evil. Evil, evil, I say! Python objects are not Java beans. Do not write getters and setters. This is what the ‘property’ built-in is for. And do not take that to mean that you should write getters and setters, and then wrap them in ‘property’. That means that until you prove that you need anything more than a simple attribute access, don’t write getters and setters."

Επίσης ούτε η c++ είναι η java.

Καλά ήταν τα τσίπουρα!! Cheesy
Logged

All these moments will be lost in time, like tears in rain.
In the meanwhile, life goal.
Pages: 1 [2] Go Up Print
Jump to:  

Powered by SMF | SMF © 2006-2009, Simple Machines LLC
Scribbles2 | TinyPortal © Bloc | XHTML | CSS
Loading...