Skip to content

👨‍🎓📚🏫 A simple school simulation made with Object-Oriented Programming principles in Java.

License

Notifications You must be signed in to change notification settings

tech-gian/School_Simulation_java

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

2020 Oop Project 3 - Exercise Java

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΗΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ - 2020/2021 - Άσκηση Java

Εκφώνηση: http://cgi.di.uoa.gr/~izambo/OOPassgnJava_2021.pdf

Προσωπικά Στοιχεία

Όνομα: Ιωάννης Ζαπάντης

Α.Μ.: sdi1900059

Παρακάτω υπάρχει το documentation για την Άσκηση Java

Documentation

Σκοπός αυτής της άσκησης είναι ο ίδιος με αυτόν την 3η άσκησης, η μοντελοποίηση ενός σχολικού κτηρίου, με τους χώρους του και το άτομα (καθηγητές και μαθητές) σε αυτό. Η δομή που ακολουθείται είναι η ίδια με αυτήν την 3η άσκησης, με τις απαραίτητες διαφοροποιήσεις και την προσθήκη της συνάρτησης empty.

Στο αρχείο Person.java υπάρχει η υλοποίηση της αφηρημένης κλάσης Person, στην οποία υπάρχουν όλα τα στοιχεία ενός ατόμου με τις κατάλληλες συναρτήσεις. Παιδί αυτής της κλάσης αποτελεί η Teacher, που βρίσκεται στο Teacher.java και επεκτείνει τις δυνατότητες ενός καθηγητή. Στο αρχείο Student.java υπάρχει η υλοποίηση του μαθητή σαν αφηρημένης κλάσης, η οποία οριστικοποιείται στο αρχείο Junior.java και Senior.java αντίστοιχα, με τις κατάλληλες συναρτήσεις και στοιχεία, για να πληρεί τις προυποθέσεις της εκφώνησης.

Στο αρχείο Rooms.java υπάρχει η υλοποιήση της αφηρημένης κλάσης Room, που περιέχει τις συναρτήσεις που θα υλοποιηθούν σε όλα τα παιδιά της. Ακόμα, υπάρχουν οι υλοποιήσεις των χώρων Yard, Stairs, Corridor, Floor και Classroom, ορισμένες με τα αντίστοιχα στοιχεία που χρειάζονται και τις αντίστοιχες συναρτήσεις για να έχουν τις δυνατότητες που περιγράφονται στην εκφώνηση. Τέλος, στο School.java υπάρχει η υλοποίηση του σχολικού κτηρίου με τα στοιχεία που χρειάζεται και τις συναρτήσεις που προσδιορίζουν την συμπεριφορά του.

Η συνάρτηση empty υλοποιείται όπως περιγράφεται στην εκφώνηση. Ουσιαστικά για κάθε μαθητή και καθηγητή ακολουθείται η αντίστροφη διαδικασία εισόδου, ώσπου βγαίνουν και από την σχολική αυλή. Για την υλοποίησή της, χρησιμοποιούνται κάποιες έξτρα συναρτήσεις σε κάποιους χώρους.

Στο αρχείο Main.java έχει γραφεί η main συνάρτηση που δημιουργεί ένα σχολείο, το γεμίζει με μαθητές και καθηγητές τυχαία, λειτουργεί για N ώρες και μετά γίνεται εκκένωσή του. Ακριβώς όπως περιγράφεται στην εκφώνηση.

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

Η εντολή μεταγλώττισης είναι: Για το package (στο folder class_pac): javac Person.java Student.java Junior.java Senior.java Teacher.java Rooms.java School.java Για την Main (στο βασικό folder): javac Main.java (πρέπει να γραφούν με αυτή την σειρά)

Για την εκτέλεση του προγράμματος, πηγαίνουμε στο βασικό folder που έχει δημιουργηθεί το Main.class και γράφουμε: java Main Cclass Lj Ls Lt N (όπου τα Cclass, Lj, Ls, Lt, N είναι παράμετροι).

About

👨‍🎓📚🏫 A simple school simulation made with Object-Oriented Programming principles in Java.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages