• Downloads
  • ! Read Me !
  • Μαθήματα
  • Φοιτητικά
  • Τεχνικά Θέματα
  • Συζητήσεις
  • Happy Hour!
  • About THMMY.gr
 V  < 
Search:  
Welcome, Guest. Please login or register.
February 03, 2026, 23:34:00 pm

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.
February 03, 2026, 23:34:00 pm

Login with username, password and session length

Αναζήτηση

Google

THMMY.gr Web
Πρόσφατα
[ΣΑΕ Ι] Γενικές απορίες κ...
by Hyperlaz02
[Today at 23:04:38]

[Μετάδοση Θερμότητας] Να ...
by chatzikys
[Today at 22:17:04]

Μόλις μπήκα απο κατατακτή...
by chatzikys
[Today at 18:51:59]

Πότε θα βγει το μάθημα; -...
by Mr Watson
[Today at 18:17:39]

Αποτελέσματα Εξεταστικής ...
by chatzikys
[Today at 11:49:01]

[Ηλεκτρονική Ι] Γενικές α...
by Giopan
[Today at 05:46:35]

[ΑΣΗΕ] Απορίες στις ασκήσ...
by Tasos Bot
[February 02, 2026, 20:50:35 pm]

[Μεταφορά και Διανομή ΗΕ]...
by Mr Watson
[February 02, 2026, 18:55:28 pm]

Τι καφέ πίνετε;
by MeTheWizard
[February 02, 2026, 18:27:47 pm]

[Θ.Υ.Α.] Επικαιρότητα, απ...
by OlgaG
[February 01, 2026, 00:17:07 am]

H Στοά των Off Topic
by chatzikys
[January 31, 2026, 21:05:09 pm]

Πολεμοσυνέδριο στο ΑΠΘ
by dimikotz
[January 31, 2026, 20:47:47 pm]

[ΣΦ ΗΛ-ΜΗΧ] Ανακοίνωση Σχ...
by Χαρούμενη Πατάτα
[January 30, 2026, 21:10:34 pm]

[Τηλεπ. Συστήματα ΙΙΙ] Γε...
by sofipout
[January 30, 2026, 20:34:25 pm]

[Η/Μ Πεδίο ΙΙ] Ανάλυση πα...
by Tsn
[January 30, 2026, 18:59:46 pm]

Πρακτική Άσκηση ΤΗΜΜΥ 201...
by Διάλεξις
[January 30, 2026, 12:45:58 pm]

[Unofficial Mod] Dark Mod...
by nmpampal
[January 29, 2026, 23:02:21 pm]

[Μετάδοση Θερμότητας] Γεν...
by chatzikys
[January 29, 2026, 20:58:16 pm]

[Ηλεκτρική Οικονομία] Γεν...
by ttsengel
[January 29, 2026, 19:29:04 pm]

[Οπτική] Γενικές Πληροφορ...
by Σουλης
[January 29, 2026, 16:07:44 pm]
Στατιστικά
Members
Total Members: 10349
Latest: Kasetofwnos
Stats
Total Posts: 1430045
Total Topics: 31901
Online Today: 365
Online Ever: 6054
(January 14, 2026, 06:07:19 am)
Users Online
Users: 56
Guests: 182
Total: 238
Anstasia
panagiotisv
Sofiana
Antonistsak
Mbogatinis
mgrivab
Saint_GR
stathiskek
kpapama
FINngineer
kourasan!
Lefteris@SKG
acolak
vivbi
swkraths
cpt38
chriskazakos
meliou
azelfos
Knestoras93
Angelagfb
Paschalina.S
evitzv
lidorikic
iakov
Carot1456
john_apo
panpapachri
_Stef
georgino
mhtsakos02
eliannaantonarou
arispetr
maranageo
1234
jason6157
npalami
femanak
George15
geomourat
cmpillis
aachmet
stavros0201
linda
chatzikys
sassi
maria_sf8
George_RT
mpampis
Mr Z
Εμφάνιση

Νέα για πρωτοετείς
Είσαι πρωτοετής;... Καλώς ήρθες! Μπορείς να βρεις πληροφορίες εδώ. Βοήθεια για τους καινούργιους μέσω χάρτη.
Κατεβάστε εδώ το Android Application για εύκολη πρόσβαση στο forum.
Ανεβάζετε τα θέματα των εξετάσεων στον τομέα 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 3235 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, 14:15:57 pm »

Quote from: LordOdy on November 14, 2015, 13:35:31 pm
Quote from: Tolis _tmo_ on November 14, 2015, 13:22:17 pm
Quote from: electric67 on November 14, 2015, 13: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, 11:54:41 am 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, 14:24:27 pm »

Quote from: Tolis _tmo_ on November 14, 2015, 14:15:57 pm
Quote from: LordOdy on November 14, 2015, 13:35:31 pm
Quote from: Tolis _tmo_ on November 14, 2015, 13:22:17 pm
Quote from: electric67 on November 14, 2015, 13: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, 12:13:56 pm »

Quote from: LordOdy on November 14, 2015, 14:24:27 pm
Quote from: Tolis _tmo_ on November 14, 2015, 14:15:57 pm
Quote from: LordOdy on November 14, 2015, 13:35:31 pm
Quote from: Tolis _tmo_ on November 14, 2015, 13:22:17 pm
Quote from: electric67 on November 14, 2015, 13: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...