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

Εργασία σε Java


VagosM

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

Το αν ειναι constant δεν εχει καμια σχέση με το visibility.

Υπάρχουν private constants οι οποιες ειναι implementation detail της κλασης και δεν εχει νόημα να της γνωρίζει o caller (αυτος που χρησιμοποιει την κλαση).

 

Όντως έχεις δίκιο, στο συγκεκριμένο παράδειγμα, δεν έχει κανένα νόημα να είναι public!

Απλά, γενικότερα στα constants, συνήθως μαζεύονται σε συγκεκριμένα class, γεμάτα με constants, και εκεί είναι public.

Ασφαλώς έχει να κάνει με το πρόβλημα που έχεις να αντιμετωπίσεις.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

  • Απαντ. 36
  • Δημ.
  • Τελ. απάντηση

Συχνή συμμετοχή στο θέμα

Συχνή συμμετοχή στο θέμα

Ψάξε για loose coupling.

 

Για το constant, δεν έχω αντίρρηση, η επισήμανση μου ήταν για τα protected fields που έχει στον κωδικά του ο ts.

 

The goal of a loose coupling architecture is to reduce the risk that a change made within one element will create unanticipated changes within other elements.

 

Όταν έχεις getters/setters χωρίς κανέναν απολύτως ελεγκτικό μηχανισμό, οι οποίοι απλά σου επιστρέφουν/αλλάζουν τη τιμή δεν κάνεις reduce κανένα risk...σε έναν setter μπορεί αν βάλει ότι τιμή θέλει.

 

Τώρα θέλεις απο convention, απο good practice κτλ ναι και εγώ 99% χρησιμοποιώ private fields me getters/setters όμως όταν ξέρεις για ποιό λόγο χρησιμοποιείς κάποιο άλλο visibility δεν χάθηκε ο κόσμος να το κάνεις.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

The goal of a loose coupling architecture is to reduce the risk that a change made within one element will create unanticipated changes within other elements.

 

Όταν έχεις getters/setters χωρίς κανέναν απολύτως ελεγκτικό μηχανισμό, οι οποίοι απλά σου επιστρέφουν/αλλάζουν τη τιμή δεν κάνεις reduce κανένα risk...σε έναν setter μπορεί αν βάλει ότι τιμή θέλει.

 

Τώρα θέλεις απο convention, απο good practice κτλ ναι και εγώ 99% χρησιμοποιώ private fields me getters/setters όμως όταν ξέρεις για ποιό λόγο χρησιμοποιείς κάποιο άλλο visibility δεν χάθηκε ο κόσμος να το κάνεις.

 

Εγώ σαν αρχάριος χρησιμοποιώ private όποτε μπορώ. Μπορείς εύκολα να βρεις πως το ίδιο ακριβώς προτείνουν και άλλοι αρχάριοι προγραμματιστές. Έναν που να προτείνει public τα fields για τους έμπειρους προγραμματιστές δεν έχω βρει πουθενά. Αν μπορείς στείλε μου κανά link ή πρότεινε μου κανένα βιβλίο να το μελετήσω, μήπως καταφέρω να μάθω παραπάνω πράγματα. Thanks. 

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

  • 3 χρόνια αργότερα...

εχετε καμια απαντηση για το παρακατω??????

Θέμα 2

Στο αυτό το μέρος της εργασίας καλείστε να υλοποιήσετε μια κλάση που θα αντιπροσωπεύει καταστήματα.

2.1 Κλάση για Κατάστημα

Υλοποιήστε την κλάση αυτή, με όνομα Shop, που θα περιλαμβάνει για κάθε στιγμιότυπο:

  • την ονομασία του καταστήματος

  • τον αριθμό ετών που είναι σε λειτουργία

  • τον μέσο ετήσιο τζίρο του

  • τη λίστα των υπαλλήλων του (ως έναν πίνακα με ονοματεπώνυμα)

  • εάν διαθέτει ηλεκτρονικό eshop (ως boolean τιμή)

Μέσα στην κλάση αυτή θα πρέπει να υλοποιήσετε τους παρακάτω δημιουργούς:

  • public Shop(String name, int years), που θα αρχικοποιεί ένα στιγμιότυπο με ονομασία name και τα έτη λειτουργίας years.

  • public Shop(String name, int years, int revenue, boolean eshop), που θα αρχικοποιεί ένα στιγμιότυπο με ονομασία name, τα έτη λειτουργίας years, τον ετήσιο τζίρο revenue, και αν έχει ηλεκτρονικό κατάστημα βάσει της τιμής του eshop.

Επίσης μέσα στην κλάση θα πρέπει να υλοποιήσετε τις μεθόδους:

  • Για κάθε πεδίο της κλάσης μία getX() και setX(Υ) όπου Χ το αντίστοιχο πεδίο (όνομα, έτη λειτουργίας, τζίρο, αν έχει ηλεκτρονικό κατάστημα) και Υ μία παράμετρος για να θέσει το πεδίο.

  • public void addEmployee(String employee) που θα προσθέτει στον πίνακα υπαλλήλων το ονοματεπώνυμο που δίνεται ως παράμετρος.

  • public String[ ] getEmployees() που επιστρέφει όλα τα ονοματεπώνυμα των υπαλλήλων.

  • public void show(), που θα τυπώνει στην οθόνη όλες τις πληροφορίες του καταστήματος.

2.2 Κυρίως πρόγραμμα

Προκειμένου να δοκιμάσετε την κλάση σας υλοποιήστε μια άλλη κλάση με όνομα ShopProgram που περιέχει μόνο την μέθοδο main() η οποία:

  • Διαβάζει από το χρήστη έναν αριθμό για το πλήθος των καταστημάτων που θέλει να καταχωρήσει.

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

  • Εκτυπώνει όλα τα καταστήματα που καταχωρήθηκαν.

Εκτελέστε το πρόγραμμά σας και κρατήστε PrintScreen από τα αποτελέσματα.

2.3 Κλάση για καταστήματα Mall

Υλοποιήστε την κλάση, με όνομα Mall, (δηλαδή ένα πολυκατάστημα με πολλά καταστήματα) που κληρονομεί από την Shop, και επιπλέον περιλαμβάνει και τα εξής:

  • Αριθμός καταστημάτων

  • Λίστα καταστημάτων (σε πίνακα)

Μέσα στην κλάση αυτή θα πρέπει να υλοποιήσετε τους παρακάτω δημιουργούς:

  • public Mall(String name, int years), που αρχικοποιεί ένα στιγμιότυπο όπως και η αντίστοιχη της κλάσης Shop.

  • public Mall(String name, int years, int revenue, boolean eshop), που και αυτή αρχικοποιεί ένα στιγμιότυπο όπως και η αντίστοιχη της κλάσης Shop.

Επίσης μέσα στην κλάση αυτή υλοποιήστε τις επιπλέον μεθόδους:

  • public int getShopsNum(), που επιστρέφει τον αριθμό καταστημάτων.

  • public int getOldestShopYears(), που επιστρέφει τα έτη λειτουργίας του παλιότερου καταστήματος.

  • public void addShop(Shop a), που προσθέτει ένα κατάστημα.

  • public void show(), που θα τυπώνει στην οθόνη όλες τις πληροφορίες του πολυκαταστήματος.

2.4 Τροποποιημένο κυρίως πρόγραμμα

Δημιουργήστε την κλάση MallProgram, η οποία θα λειτουργεί παρόμοια με την ShopProgram, μόνο που τώρα θα ζητάει από το χρήστη για κάθε πολυκατάστημα και τον αριθμό καθώς και τα στοιχεία των καταστημάτων του και θα τα συμπεριλαμβάνει και στην εκτύπωση.

 


 

εχετε καμια απαντηση για το παρακατω??????

Θέμα 2

Στο αυτό το μέρος της εργασίας καλείστε να υλοποιήσετε μια κλάση που θα αντιπροσωπεύει καταστήματα.

2.1 Κλάση για Κατάστημα

Υλοποιήστε την κλάση αυτή, με όνομα Shop, που θα περιλαμβάνει για κάθε στιγμιότυπο:

  • την ονομασία του καταστήματος

  • τον αριθμό ετών που είναι σε λειτουργία

  • τον μέσο ετήσιο τζίρο του

  • τη λίστα των υπαλλήλων του (ως έναν πίνακα με ονοματεπώνυμα)

  • εάν διαθέτει ηλεκτρονικό eshop (ως boolean τιμή)

Μέσα στην κλάση αυτή θα πρέπει να υλοποιήσετε τους παρακάτω δημιουργούς:

  • public Shop(String name, int years), που θα αρχικοποιεί ένα στιγμιότυπο με ονομασία name και τα έτη λειτουργίας years.

  • public Shop(String name, int years, int revenue, boolean eshop), που θα αρχικοποιεί ένα στιγμιότυπο με ονομασία name, τα έτη λειτουργίας years, τον ετήσιο τζίρο revenue, και αν έχει ηλεκτρονικό κατάστημα βάσει της τιμής του eshop.

Επίσης μέσα στην κλάση θα πρέπει να υλοποιήσετε τις μεθόδους:

  • Για κάθε πεδίο της κλάσης μία getX() και setX(Υ) όπου Χ το αντίστοιχο πεδίο (όνομα, έτη λειτουργίας, τζίρο, αν έχει ηλεκτρονικό κατάστημα) και Υ μία παράμετρος για να θέσει το πεδίο.

  • public void addEmployee(String employee) που θα προσθέτει στον πίνακα υπαλλήλων το ονοματεπώνυμο που δίνεται ως παράμετρος.

  • public String[ ] getEmployees() που επιστρέφει όλα τα ονοματεπώνυμα των υπαλλήλων.

  • public void show(), που θα τυπώνει στην οθόνη όλες τις πληροφορίες του καταστήματος.

2.2 Κυρίως πρόγραμμα

Προκειμένου να δοκιμάσετε την κλάση σας υλοποιήστε μια άλλη κλάση με όνομα ShopProgram που περιέχει μόνο την μέθοδο main() η οποία:

  • Διαβάζει από το χρήστη έναν αριθμό για το πλήθος των καταστημάτων που θέλει να καταχωρήσει.

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

  • Εκτυπώνει όλα τα καταστήματα που καταχωρήθηκαν.

Εκτελέστε το πρόγραμμά σας και κρατήστε PrintScreen από τα αποτελέσματα.

2.3 Κλάση για καταστήματα Mall

Υλοποιήστε την κλάση, με όνομα Mall, (δηλαδή ένα πολυκατάστημα με πολλά καταστήματα) που κληρονομεί από την Shop, και επιπλέον περιλαμβάνει και τα εξής:

  • Αριθμός καταστημάτων

  • Λίστα καταστημάτων (σε πίνακα)

Μέσα στην κλάση αυτή θα πρέπει να υλοποιήσετε τους παρακάτω δημιουργούς:

  • public Mall(String name, int years), που αρχικοποιεί ένα στιγμιότυπο όπως και η αντίστοιχη της κλάσης Shop.

  • public Mall(String name, int years, int revenue, boolean eshop), που και αυτή αρχικοποιεί ένα στιγμιότυπο όπως και η αντίστοιχη της κλάσης Shop.

Επίσης μέσα στην κλάση αυτή υλοποιήστε τις επιπλέον μεθόδους:

  • public int getShopsNum(), που επιστρέφει τον αριθμό καταστημάτων.

  • public int getOldestShopYears(), που επιστρέφει τα έτη λειτουργίας του παλιότερου καταστήματος.

  • public void addShop(Shop a), που προσθέτει ένα κατάστημα.

  • public void show(), που θα τυπώνει στην οθόνη όλες τις πληροφορίες του πολυκαταστήματος.

2.4 Τροποποιημένο κυρίως πρόγραμμα

Δημιουργήστε την κλάση MallProgram, η οποία θα λειτουργεί παρόμοια με την ShopProgram, μόνο που τώρα θα ζητάει από το χρήστη για κάθε πολυκατάστημα και τον αριθμό καθώς και τα στοιχεία των καταστημάτων του και θα τα συμπεριλαμβάνει και στην εκτύπωση.

 

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

@ellitza, νομίζω πως κανείς δεν θα σου στείλει έτοιμη τη λύση. Γιατί όντως είναι απλή, αλλά δεν είναι 4ις γραμμές κώδικα για να πεις ότι θα πάρει σε κάποιον 2 λεπτά να τη γράψει. Όσο να πεις θέλει λίγη δουλίτσα η συγκεκριμένη άσκηση. Πιο πολύ εργασία θα την έλεγα παρά άσκηση. 

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Όταν καλώ τις εντολές στο main program δεν δουλεύει τίποτα.. Είμαι πιο κάτω από αρχάρια και έχω προσπαθήσει πολύ.. Απλώς δεν έχω πολύ χρόνο να το ξαναδουλεψω μόνη μου.. @@rafinos περιμένω απάντηση

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Κάτσε να μυρίσουμε λίγο τα νύχια μας.

 

Ναι, κάτι μου λέει πως τουλάχιστον ένα semicolon σου έχει ξεφύγει. Κάπου εκεί στην γραμμή 32 ψάξε.

 

Αν δεν έχεις χρόνο, κάτι μου λέει πως έχεις κάνει λάθος επιλογή επαγγελματικού προσανατολισμού.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Φοιτητής, τσεκ.

Χωρίς χρόνο, τσεκ.

Δεν κάνεις καν τον κόπο να μας δείξεις τι έχεις γράψει μέχρι τώρα, τσεκ.

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

 

Απορώ πως κάποιοι καταφέρνουν και βρίσκουν δουλειά (σοβαρή) μετά τις σπουδές τους με τέτοια μυαλά.

 

Αν θες να σε βοηθήσουν οι άλλοι, βοήθα τον εαυτό σου πρώτα.

  • Like 1
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Ξεκαβαλα λίγο έλα. Μην σπαταλας εσύ τον χρόνο σου να απαντάς.. Που τον έχεις μπόλικο απ ότι βλέπω.. Όσο για τον δικό μου άσε να τον διαχειριστω όπως θέλω..και όπως τον έχω ανάγκη. Και μην κρίνεις χωρίς να ξέρεις τον άλλον.. Από επίπεδο σκιζετε εδώ μέσα

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

  • Moderators

Ξεκαβαλα λίγο έλα. Μην σπαταλας εσύ τον χρόνο σου να απαντάς.. Που τον έχεις μπόλικο απ ότι βλέπω.. Όσο για τον δικό μου άσε να τον διαχειριστω όπως θέλω..και όπως τον έχω ανάγκη. Και μην κρίνεις χωρίς να ξέρεις τον άλλον.. Από επίπεδο σκιζετε εδώ μέσα

 

Άμα θες από κάποιον να σου κάνει μια δουλειά, τον πληρώνεις. Αφού λοιπόν ο χρόνος σου είναι πολύ πολύτιμος για να σπαταληθεί στις εργασίες της σχολής σου, τότε θα πρέπει να πληρώσεις κάποιον άλλον για να σπαταλήσει το δικό του. Δηλαδή συγγνώμη κιόλας, τι περιμένεις; Όταν πας το αυτοκίνητό σου στο συνεργείο ή καλείς έναν ηλεκτρολόγο στο σπίτι δεν πληρώνεις; Άλλο να ζητάς βοήθεια σε κάτι συγκεκριμένο και άλλο να ζητάς από κάποιον να δουλέψει τζάμπα για σένα.

  • Like 1
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Λεω να μαζευτουμε 5 νοματαιοι και να φτιαξουμε ενα site, illdoitforyou.gr με paypal/skrill μηνιαια συνδρομη.

 

Ολες τις γλωσσες.

 

Μη γελατε ρε μλκς σοβαρα μιλαω

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

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

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

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

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

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

Σύνδεση

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

Συνδεθείτε τώρα

  • Δημιουργία νέου...