ΠΛΗΡΟΦΟΡΙΚΗ ΙI Ενότητα 9: Κληρονομικότητα (Inheritance)

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "ΠΛΗΡΟΦΟΡΙΚΗ ΙI Ενότητα 9: Κληρονομικότητα (Inheritance)"

Transcript

1 ΠΛΗΡΟΦΟΡΙΚΗ ΙI Ενότητα 9: Κληρονομικότητα (Inheritance) Μιχάλης Δρακόπουλος Σχολή Θετικών επιστημών Τμήμα Μαθηματικών

2

3 ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (Java) Ενότητα 9 Κληρονομικότητα (Inheritance) Υπάρχουν κλάσεις που εμπεριέχουν μεταβλητές και μεθόδους που έχουν οριστεί σε προϋπάρχουσες κλάσεις: Προϋπάρχουσα Κλάση Υ ΠΕΡΚΛΑΣΗ / Parent Νέα Κλάση ΥΠΟΚΛΑΣΗ / Child public class Child extends Parent Η δήλωση λοιπόν της σχέσης κληρονομικότητας μεταξύ δύο κλάσεων είναι της μορφής: public class <Υποκλάση> extends <Υπερκλάση> Έτσι δημιουργείται μία ιεραρχία, όπου από τη γενικότερη κλάση μπορούμε να περάσουμε σε ειδικότερες, όπου κάθε μία έχει και τα χαρακτηριστικά της γενικότερης προγόνου της, αλλά και αυτά των ακόμα γενικότερων προγόνων της προγόνου της!. Π.χ., θέλουμε να φτιάξουμε ένα πρόγραμμα που να περιέχει στοιχεία για τα μέλη ενός πανεπιστημίου. Μια ομαδοποίηση των μελών μπορεί να είναι η εξής: Person Student Employee Undergrad Grad Admin Faculty MEng MSc PhD ver Τμήμα Μαθηματικών ΕΚΠΑ 1

4 Στο παράδειγμα αυτό, θα είχαμε δηλώσεις κλάσεων της μορφής: public class Person public class Student extends Person public class Undergrad extends Student public class Grad extends Student κτλ. Και τα αντικείμενα της Student και τα αντικείμενα της Employee αντιπροσωπεύουν ανθρώπους, άρα έχουν κάποιες κοινές ιδιότητες. Επομένως, οι μέθοδοι που θα αρχικοποιούν, θα τροποποιούν ή θα κάνουν output π.χ. το όνομα κάποιου μέλους του πανεπιστημίου, είτε είναι φοιτητής (Student) είτε είναι εργαζόμενος (Employee), θα είναι ίδιες. Όλες αυτές τις μεθόδους τις βάζουμε σε μία υπερκλάση Person. Εκεί φυσικά βάζουμε και όλα τα κοινά στοιχεία (μεταβλητές) των δύο «κατηγοριών» (φοιτητών και εργαζόμενων). Με αυτή τη λογική δομούνται οι σχέσεις κληρονομικότητας των κλάσεων. Μια απλή μορφή της κλάσης Person είναι η εξής: public class Person // class variables // μεταβλητή για το όνομα του κάθε ατόμου: private String name; // constructors public Person() name = Δεν έχει ορισθεί ακόμα όνομα.. ; public Person(String initname) name = initname; // modifier μέθοδος για αλλαγή του ονόματος public void setname(string newname) name = newname; ver Τμήμα Μαθηματικών ΕΚΠΑ 2

5 // accessor μέθοδος public String accessname() return name; // μέθοδος για την εκτύπωση του αποτελέσματος public void writeoutput() System.out.println( Name: + name); Η κλάση Student κληρονομεί την κλάση Person (τις μεταβλητές της (το name δηλαδή) και τις μεθόδους της) και προσθέτει μια δικιά της μεταβλητή για τον αριθμό μητρώου του κάθε φοιτητή: public class Student extends Person // μεταβλητή για τον αριθμό μητρώου του κάθε φοιτητή private int studentnumber; public Student() super(); // -> κλήση του constructor της Person studentnumber = 0; public Student(String initname, int initstudno) super(initname); // -> κλήση του constructor της Person studentnumber = initstudno; public void reset(string newname, int newstudno) setname(newname); // -> κλήση μεθόδου της Person! studentnumber = newstudno; public void setstudnumber(int newstudno) studentnumber = newstudno; public int accessstudentnumber() return studentnumber; // μέθοδος για την εκτύπωση του αποτελέσματος public void writeoutput() System.out.println( Name: + accessname()); System.out.println( Student no.: + studentnumber); ver Τμήμα Μαθηματικών ΕΚΠΑ 3

6 Αν λοιπόν είχαμε τις δύο αυτές κλάσεις υποστήριξης, στην κλάση εφαρμογής θα μπορούσαμε να είχαμε τα εξής: public class InheritanceExample public static void main (String [ ] args) Student s = new Student(); s.setname( Xxxxx Yyyyyyy ); // -> setname της Person s.setstudnumber( ); // -> setstudnumber της Student s.writeoutput(); // -> writeoutput της Student (Overriding) Αφού η Student κληρονομεί την Person, στην ουσία υπάρχουν δύο μέθοδοι writeoutput(). Αυτή που τελικά «τρέχει» είναι η writeoutput() της Student και όχι της Person. Αυτό λέγεται overriding (υπερκάλυψη, ή παράκαμψη). Αν στην υποκλάση υπάρχει μέθοδος με ίδιο όνομα και ίδιο πλήθος και είδος παραμέτρων με κάποια μέθοδο της υπερκλάσης, τότε η μέθοδος της υποκλάσης κάνει override (υπερκαλύπτει ή παρακάμπτει) τη μέθοδο της υπερκλάσης. Αν η μέθοδος που παρακάμπτεται (της υπερκλάσης) επιστρέφει (return) κάποια μεταβλητή, η νέα μέθοδος που την κάνει override (στην υποκλάση) πρέπει να επιστρέφει μεταβλητή του ίδιου τύπου. Overriding (υπερκάλυψη) / Overloading (υπερφόρτωση) - Ίδιο όνομα μεθόδων - Ίδιο όνομα μεθόδων - και ίδιο πλήθος παραμέτρων - και διαφορετικό πλήθος παραμ. - και ίδιο είδος παραμέτρων - ή διαφορετικό είδος παραμ. - και ίδιο είδος επιστροφής (return) - ανεξαρτήτως είδους επιστροφής Overriding: μεταξύ μεθόδων διαφορετικών κλάσεων που συνδέονται με κληρονομικότητα Overloading: μεταξύ μεθόδων της ίδιας κλάσης ή μεθόδων κλάσεων που συνδέονται με κληρονομικότητα Η λέξη final δηλώνει μέθοδο που δεν μπορεί να γίνει overridden (να παρακαμφθεί). π.χ. public final void specialmethod() Η λέξη super: i) super.writeoutput(); // κλήση μεθόδου που έχει γίνει overridden (δηλαδή, καλεί τη μέθοδο της υπερκλάσης) ii) Κλήση του κατασκευαστή της υπερκλάσης: super(); ΠΡΟΣΟΧΗ! Η λέξη super όταν χρησιμοποιείται για την κλήση ενός κατασκευαστή της υπερκλάσης μέσα σε κάποιον κατασκευαστή της υποκλάσης, πρέπει να είναι η πρώτη εντολή αυτού του κατασκευαστή. Δεν μπορεί να χρησιμοποιηθεί αργότερα μέσα στον κατασκευαστή. ver Τμήμα Μαθηματικών ΕΚΠΑ 4

7 Στην πραγματικότητα, αν δεν υπάρχει κλήση του κατασκευαστή της υπερκλάσης (κάποια μορφή της super() δηλαδή) μέσα στον κατασκευαστή της υποκλάσης, τότε η Java καλεί αυτόματα τον default constructor της υπερκλάσης. Άρα, στον κατασκευαστή της Student: public Student() super(); studentnumber = 0; θα ήταν το ίδιο αν γράφαμε: public Student() studentnumber = 0; Συμβουλή: Καλύτερα να γράφουμε την κλήση της super() κι ας μην είναι απαραίτητο, για να είναι πιο σαφής ο κώδικάς μας. Η λέξη this αναφέρεται στον κατασκευαστή της υποκλάσης. π.χ., ένας ακόμη constructor της Student θα μπορούσε να είναι ο εξής: public Student(String initname) this(initname, 0); κλήση του constructor: Student(String, int) Σημείωση: Πρέπει και η κλήση της this να είναι η πρώτη εντολή του κατασκευαστή. Προφανώς, όταν σε έναν κατασκευαστή της υποκλάσης υπάρχει κλήση άλλου κατασκευαστή της μέσω της this, τότε δεν μπορεί να υπάρχει ταυτόχρονα και η εντολή super, αφού ο κατασκευαστής της υπερκλάσης θα κληθεί τελικά μέσω του κατασκευαστή στον οποίο αναφέρεται η this. Από αυτά που είπαμε μέχρι τώρα για τη super, προκύπτει ότι θα μπορούσαμε να γράψουμε πιο σωστά τη μέθοδο writeoutput() της Student, χωρίς επανάληψη κώδικα: Η αρχική μέθοδος: public void writeoutput() System.out.println( Name: + accessname()); System.out.println(Student no.: + studentnumber); μπορεί να γίνει: ver Τμήμα Μαθηματικών ΕΚΠΑ 5

8 public void writeoutput() super.writeoutput(); // -> κλήση της writeoutput της Person System.out.println(Student no.: + studentnumber); Η ορατότητα protected: Μέχρι τώρα είχαμε δει τις εξής δηλώσεις ορατότητας μεταβλητών ή μεθόδων: public, private και χωρίς δήλωση. Υπάρχει και η δήλωση ορατότητας protected η οποία κάνει τις μεταβλητές ή μεθόδους ορατές μόνο από κλάσεις που σχετίζονται με κληρονομικότητα (και από κλάσεις του ίδιου πακέτου, όπως θα δούμε). Δηλαδή μια μεταβλητή ή μέθοδος που δηλώνεται σαν protected, λειτουργεί σαν public για τις κλάσεις απογόνους της κλάσης ορισμού της και σαν private για όλες τις υπόλοιπες κλάσεις του προγράμματος. Συνοπτικά: Ορατότητα: public protected χωρίς δήλωση private ορατότητας Μεταξύ μεθόδων της ίδιας κλάσης ναι ναι ναι ναι Μεταξύ κλάσεων του ίδιου πακέτου ναι ναι ναι όχι Μεταξύ κλάσεων εκτός πακέτου ναι όχι όχι όχι Από υποκλάσεις του ίδιου πακέτου ναι ναι ναι όχι Από υποκλάσεις εκτός πακέτου ναι ναι όχι όχι ver Τμήμα Μαθηματικών ΕΚΠΑ 6

9 Όπως είχαμε τη σχέση κληρονομικότητας: Person Student έτσι μπορούμε να έχουμε και τη σχέση: Student Undergrad Στη δεύτερη αυτή σχέση κληρονομικότητας, η κλάση Student γίνεται πλέον υπερκλάση και το ρόλο της υποκλάσης παίζει η κλάση Undergrad. Έτσι δημιουργείται μια αλυσίδα κληρονομικότητας που αποτελείται από απλά ζευγάρια κληρονομικότητας, η οποία οδηγεί στην κληρονομικότητα πολλών επιπέδων. Η αλυσίδα αυτή ξεκινάει από το «γενικό» και προχωράει προς το «ειδικό». Η «εξειδίκευση» όμως αυτή κάνει τις κλάσεις «ευρύτερες», αφού κληρονομούν τα στοιχεία των γενικότερων κλάσεων και μπορούν να τα χρησιμοποιούν σαν δικά τους. Ο παρακάτω πίνακας δείχνει την αύξηση του εύρους των διαθέσιμων στοιχείων των κλάσεων, καθώς αυτές εξειδικεύονται και συγχρόνως κληρονομούν στοιχεία των προγόνων τους, για το παράδειγμά μας: Οι κλάσεις Person Student Undergrad χρησιμοποιούν μετ/τές & μεθόδ. της κλάσης: Person ναι ναι ναι Student όχι ναι ναι Undergrad όχι όχι ναι Προφανώς κάθε κλάση χρησιμοποιεί μεταβλητές και μεθόδους του εαυτού της, αλλά βλέπουμε ότι η Person χρησιμοποιεί απλά τα δικά της στοιχεία, ενώ η Student χρησιμοποιεί τα δικά της και της Person, ενώ η Undergrad χρησιμοποιεί και τα δικά της και της Student, αλλά και της Person. Όλα αυτά βέβαια αφορούν μεταβλητές και μεθόδους ορατότητας public ή protected. Η κλάση Undergrad θα μπορούσε να περιέχει τα ακόλουθα: public class Undergrad extends Student // class variables // μεταβλητή για το έτος φοίτησης του κάθε φοιτητή private int year; // constructors ver Τμήμα Μαθηματικών ΕΚΠΑ 7

10 public Undergrad() super(); // καλεί τον default constructor της Student year = 1; public Undergrad(String initname, int initstudno, int inityear) super(initname, initstudno); // constructor της Student year = inityear; // methods // modifier method public void reset(string newname, int newstudno, int newyear) reset(newname, newstudno); // κλήση της overloaded reset της Student year = newyear; // modifier method public void setyear(int newyear) year = newyear; // accessor method public int accessyear() return year; // μέθοδος για εκτύπωση του αποτελέσματος public void writeoutput() super.writeoutput(); // Η writeoutput της Student - Overriding System.out.println( Student year: + year); Στην κλάση αυτή παρουσιάζονται τόσο το φαινόμενο του overriding όσο και αυτό του overloading. Overriding μπορεί να γίνει και μεταξύ κλάσεων όχι άμεσης κληρονομικότητας αλλά έμμεσης, δηλαδή μεταξύ της Undergrad και της Person στο παράδειγμά μας (οι κλάσεις αυτές έχουν έμμεση σχέση κληρονομικότητας γιατί η Undergrad κληρονομεί τη Student και η Person κληρονομείται από τη Student). Π.χ., θα μπορούσε στην Undergrad να υπάρχει και η ακόλουθη μέθοδος: public void setname(string newname) // μέθοδος της Undergrad System.out.println( Αλλαγή ονόματος προπτυχιακού φοιτητή ); super.setname(newname); // -> setname της Person! Η μέθοδος αυτή της Undergrad υπερκαλύπτει τη μέθοδο setname της Person (παρόλο που η Person σε σχέση με την Undergrad είναι δύο γενιές πίσω). Προσοχή χρειάζεται στο ότι και εδώ η κλήση υπερκαλυμμένης μεθόδου γίνεται με τη χρήση της super, παρόλο που η μέθοδος αυτή δεν βρίσκεται στην υπερκλάση (Student) αλλά έχει κληρονομηθεί εκεί από μια δική της ver Τμήμα Μαθηματικών ΕΚΠΑ 8

11 υπερκλάση (Person). Ουσιαστικά δηλαδή, η super αναφέρεται και σε μεθόδους που έχει κληρονομήσει η υπερκλάση. (Φυσικά η ύπαρξη της συγκεκριμένης αυτής μεθόδου setname στην κλάση Undergrad δεν έχει νόημα, αφού στην ουσία δεν κάνει κάτι διαφορετικό από τη μέθοδο setname της Person, η οποία μπορεί φυσικά να χρησιμοποιηθεί με οποιοδήποτε αντικείμενο της Undergrad, αφού κληρονομείται από αυτή (και είναι public)). Προχωρημένα θέματα κληρονομικότητας: Όπως προαναφέρθηκε, η κληρονομικότητα ορίζεται μεταξύ δύο και μόνο κλάσεων, από υπερκλάση σε υποκλάση ή αλλιώς, από parent σε child και ο ορισμός γίνεται στην υποκλάση (child) ως εξής: public class Child extends Parent αλλά ουσιαστικά ισχύει σε πολλαπλά επίπεδα, όταν μια κλάση που κληρονομεί κάποια άλλη κλάση, κληρονομείται με τη σειρά της από κάποια τρίτη κλάση. Δηλαδή, στη Java δεν υπάρχει πολλαπλή κληρονομικότητα όπως υπάρχει σε άλλες γλώσσες προγραμματισμού (π.χ. C++), αλλά υπάρχει κληρονομικότητα πολλών επιπέδων. Από τα όσα έχουν αναφερθεί μέχρι τώρα, γίνεται σαφές ότι ο βασικός σκοπός της κληρονομικότητας είναι η επαναχρησιμοποίηση κώδικα. Μετατροπή τύπου αντικειμένων Στη Java τα αντικείμενα της κλάσης Parent είναι μόνο τύπου Parent, ενώ τα αντικείμενα της κλάσης Child είναι τύπου Child και τύπου Parent. Στην ουσία, εάν μία κλάση έχει πολλούς προγόνους (έμμεσα, μέσω της κλάσης που κληρονομεί η υπερκλάση της, κ.ο.κ.), τα αντικείμενά της είναι τύπου της ίδιας της κλάσης, τύπου της υπερκλάσης της, αλλά και τύπου κάθε μιας από τις κλάσεις που είναι πρόγονοί της. Άρα, στο προηγούμενο παράδειγμα, τα: και Person sp1 = new Student(); Student us1 = new Undergrad(); είναι σωστά γιατί ένα αντικείμενο sp1 της Student μπορεί να είναι και τύπου Person, όπως και ένα αντικείμενο us1 της Undergrad μπορεί να είναι και τύπου Student, ενώ το ίδιο ισχύει και για το: Person up1 = new Undergrad(); αφού τα αντικείμενα της Undergrad μπορούν να είναι και τύπου Student αλλά και τύπου Person (αφού και οι δύο αυτές κλάσεις είναι πρόγονοί της). ver Τμήμα Μαθηματικών ΕΚΠΑ 9

12 Αντιθέτως, το: Student ps1 = new Person(); // ΛΑΘΟΣ! είναι λάθος, αφού τα αντικείμενα μιας κλάσης Parent (εδώ το ps1 της Person) είναι μόνο τύπου της κλάσης αυτής και όχι τύπου των απογόνων της. Τι νόημα όμως έχει μια δημιουργία αντικειμένου τύπου Parent με τον κατασκευαστή μιας Child, όπως π.χ. η εντολή: Person sp1 = new Student(); Μια πιο σωστή διατύπωση της έκφρασης δημιουργία αντικειμένου τύπου Person με τον κατασκευαστή της Student θα ήταν η δημιουργία αντικειμένου της Student που δηλώνεται σαν τύπου Person. Στην ουσία, αυτό που γίνεται είναι μια μετατροπή (type casting) ενός αντικειμένου της Student σε τύπο Person. Το αντικείμενο αυτό (sp1) είναι πρακτικά κάτι ενδιάμεσο από αντικείμενο της Person και της Student. Μπορεί να χρησιμοποιηθεί σαν όρισμα εισόδου σε μεθόδους που δέχονται αντικείμενα τύπου Person αλλά όχι σε μεθόδους που δέχονται αντικείμενα τύπου Student. Αντιθέτως, ένα κανονικό αντικείμενο της Student θα μπορούσε να χρησιμοποιηθεί και στις δύο περιπτώσεις. Μια άλλη διαφορά θα γίνει σαφής στην αμέσως επόμενη ενότητα. Το συγκεκριμένο casting ονομάζεται upcasting, επειδή μία κλάση τύπου Child αναβαθμίζεται σε τύπου Parent. Το αντίθετο (downcasting) είναι δυνατό με την εντολή: Student s1 = (Student) sp1; Έτσι μετατρέπεται το αντικείμενο sp1 σε ένα κανονικό αντικείμενο της Student (s1). Παρατήρηση: Εάν η μετατροπή εφαρμοζόταν σε ένα κανονικό αντικείμενο της Person (π.χ. στο Person p = new Person()), δηλαδή: Student s2 = (Student) p; τότε η εντολή θα γινόταν compile αλλά θα προέκυπτε σφάλμα εκτέλεσης (run-time error). Δηλαδή, downcasting γίνεται μόνο σε αντικείμενα που έχουν υποστεί upcasting (ή έχουν δημιουργηθεί με αυτόν τον τρόπο, όπως τα sp1, up1 κλπ παραπάνω). Παράδειγμα: Έστω ότι υπάρχει στην κλάση Student η ακόλουθη μέθοδος equals: public boolean equals(student otherstudent) return (this.studentnumber == otherstudent.studentnumber); ενώ στην κλάση Undergrad υπάρχει η ακόλουθη έκδοσή της που την κάνει overload (υπερφόρτωση), αφού έχει διαφορετικού τύπου παράμετρο εισόδου: ver Τμήμα Μαθηματικών ΕΚΠΑ 10

13 public boolean equals(undergrad otherundergrad) return (super.equals(otherundegrad) && (this.year == otherundergrad.year) ); Παρατηρούμε ότι η equals της Undergrad καλεί την equals της Student χρησιμοποιώντας τη λέξη super, παρόλο που δεν πρόκειται για μια μέθοδο που έχει υπερκαλυφθεί (παρακαμφθεί override) αλλά για μια μέθοδο που έχει υπερφορτωθεί (overload)! Η λέξη super είναι απαραίτητη διότι ο σκοπός είναι να κληθεί η equals της Student με ένα αντικείμενο Undergrad ώστε να ελεγχθεί η ταύτιση των αριθμών μητρώου. Αυτό μπορεί να γίνει (παρόλο που η equals της Student δέχεται αντικείμενο τύπου Student) γιατί ένα αντικείμενο τύπου Undergrad είναι και τύπου Student. Μια κλήση όμως της equals με το otherundergrad χωρίς τη super θα έδινε προτεραιότητα στην equals της Undergrad που δέχεται αντικείμενο τύπου Undergrad (δηλαδή η μέθοδος θα καλούσε τον εαυτό της..). Στην ουσία ένα αντικείμενο τύπου Undergrad είναι πρώτα τύπου Undergrad και μετά τύπου Student. Αλλαγή ορατότητας υπερκαλυμμένης (overriden) μεθόδου Μια μέθοδος που παρακάμπτεται (υπερκαλύπτεται) σε κάποια υποκλάση, μπορεί να αλλάξει ορατότητα, δηλαδή μπορεί ο προγραμματιστής να αλλάξει τα δικαιώματα προσπέλασης μιας overriden μεθόδου. Η αλλαγή μπορεί να γίνει μόνο προς την κατεύθυνση της διεύρυνσης της ορατότητας της μεθόδου, π.χ. από private σε public ή από protected σε public και ποτέ προς την αντίθετη κατεύθυνση. Άρα, μια μέθοδος της υπερκλάσης: private void dosomething() θα μπορούσε να παρακαμφθεί στην υποκλάση από την ακόλουθη μέθοδο: public void dosomething() Παρατήρηση: Στο παράδειγμα δημιουργίας ενός αντικειμένου της Student τύπου Person που αναφέρθηκε παραπάνω (Person sp1 = new Student();), μια κλήση της μεθόδου writeoutput με αυτό το αντικείμενο (π.χ. από την κλάση εφαρμογής), θα αναφερόταν όπως προαναφέρθηκε στη writeoutput της Student, αφού αυτή της Person έχει παρακαμφθεί (όπως θα γινόταν και με ένα κανονικό αντικείμενο της Student δηλαδή). Όμως, εάν η writeoutput της Person είχε ορισθεί ως private (ενώ αυτή της Student κανονικά ως public), τότε δεν θα ήταν δυνατή κλήση της writeoutput της Student με αυτό το αντικείμενο, παρόλο που η writeoutput της Student η οποία καλείται, είναι public. Άρα, στην ουσία η δυνατότητα προσπέλασης των μεθόδων που υπερκαλύπτουν κάποια μέθοδο, ορίζεται από την ορατότητα της υπερκαλυμμένης μεθόδου στην περίπτωση αντικειμένων της υποκλάσης τύπου υπερκλάσης (εδώ, της Student τύπου Person). Αλλαγή τύπου υπερκαλυμμένης (overriden) μεθόδου Από την έκδοση 5.0 της Java και μετά, εκτός από αλλαγή ορατότητας, μια υπερκαλυμμένη μέθοδος μπορεί να υποστεί και αλλαγή τύπου (επιστρεφόμενης τιμής). Σύμφωνα με το γενικό κανόνα της υπερκάλυψης (override), η μέθοδος της υποκλάσης που κάνει override τη μέθοδο της υπερκλάσης, πρέπει να είναι του ίδιου τύπου με τη μέθοδο που υπερκαλύπτεται. Στον κανόνα αυτό υπάρχει η ver Τμήμα Μαθηματικών ΕΚΠΑ 11

14 εξής εξαίρεση: εάν η μέθοδος που υπερκαλύπτεται είναι τύπου κλάσης, τότε η μέθοδος που την υπερκαλύπτει μπορεί να είναι τύπου οποιασδήποτε κλάσης απογόνου της αρχικά επιστρεφόμενης κλάσης. Για παράδειγμα, εάν σε μια κλάση Parent υπάρχει η μέθοδος getunivmember που επιστρέφει αντικείμενο τύπου Student (κάποιον φοιτητή): public class Parent public Student getunivmember(int id) σε μια υποκλάση της Parent θα μπορούσε να υπάρχει μια υπερκαλύπτει, ως εξής: getunivmember που την public class Child extends Parent public Undergrad getunivmember(int id) Η υπερκαλυμμένη έκδοση της getunivmember επιστρέφει αντικείμενο τύπου Undergrad (δηλαδή κάποιον προπτυχιακό φοιτητή). Αυτό επιτρέπεται γιατί η Undergrad κληρονομεί τη Student. Στην πραγματικότητα, αυτό που συμβαίνει στη μέθοδο που υπερκαλύπτει την αρχική, δεν είναι μια απλή αλλαγή τύπου, αλλά η προσθήκη επιπλέον περιορισμών στον επιστρεφόμενο τύπο της. Κάθε αντικείμενο της Undergrad είναι στην ουσία ένα αντικείμενο της Student με κάποιες επιπρόσθετες ιδιότητες, οι οποίες ενώ είναι ιδιότητες κάθε προπτυχιακού φοιτητή, δεν είναι ιδιότητες που έχει ο κάθε φοιτητής γενικά. Βασικός λόγος που τα private πεδία δεν είναι ορατά στους απογόνους Όπως ήδη αναφέρθηκε, τα private στοιχεία μιας υπερκλάσης, κληρονομούνται μεν στις υποκλάσεις της, αλλά δεν είναι ορατά από αυτές. Π.χ., στο αρχικό παράδειγμα με τις κλάσεις Person και Student, η μεταβλητή name της Person είναι private. Κληρονομείται φυσικά στη Student, δηλαδή κάθε αντικείμενο της Student έχει μια μεταβλητή name (ο κάθε φοιτητής έχει όνομα), όμως η Student για να την προσπελάσει χρησιμοποιεί τις ανάλογες public μεθόδους της Person (την τροποποιητική setname και την πρόσβασης accessname). Ο βασικός λόγος που συμβαίνει αυτό είναι γιατί σε διαφορετική περίπτωση, κάποιος που θα ήθελε να αποκτήσει άμεση πρόσβαση σε οποιαδήποτε private μεταβλητή/μέθοδο μιας κλάσης, θα μπορούσε να το κάνει απλά φτιάχνοντας μια υποκλάση της! Θα καταστρατηγούνταν δηλαδή η έννοια της ενθυλάκωσης (encapsulation), μιας από τις πολύ βασικές αρχές του αντικειμενοστραφούς προγραμματισμού που αναφέρεται στην απόκρυψη των ιδιωτικών στοιχείων μιας κλάσης από τις υπόλοιπες κλάσεις του προγράμματος. ver Τμήμα Μαθηματικών ΕΚΠΑ 12

15 Η κλάση Object Στη Java, κάθε κλάση θεωρείται απόγονος της κλάσης Object. Έτσι, κάθε αντικείμενο οποιασδήποτε κλάσης είναι και τύπου Object (αλλά και τύπου όλων των προγόνων της, εάν η συγκεκριμένη κλάση κληρονομεί κάποια άλλη κλάση). Αυτό επιτρέπει τη δημιουργία μεθόδων με παράμετρο εισόδου τύπου Object, η οποία είσοδος κατά την κλήση της μεθόδου μπορεί να αντικατασταθεί από ένα αντικείμενο οποιασδήποτε κλάσης. Μία χρήσιμη μέθοδος της κλάσης Object είναι η tostring. Η μέθοδος αυτή επιστρέφει το περιεχόμενο των μεταβλητών ενός αντικειμένου (οποιασδήποτε κλάσης, αφού όλες οι κλάσεις την κληρονομούν από την Object) σε μορφή String. Όμως, παρόλο που η μέθοδος αυτή κληρονομείται σε οποιαδήποτε κλάση, δεν μπορεί να χρησιμοποιηθεί άμεσα, γιατί δεν καταφέρνει να κωδικοποιήσει σωστά τις υπάρχουσες κάθε φορά μεταβλητές ενός αντικειμένου σε String. Θα πρέπει να υπάρχει μέθοδος tostring που να την υπερκαλύπτει. Στο παράδειγμα με τις κλάσεις Person -> Student -> Undergrad κτλ., αντί των μεθόδων writeoutput, θα ήταν καλύτερα να είχαμε μεθόδους tostring που να κάνουν ακριβώς τα ίδια πράγματα (δηλ. να περιέχουν τον ίδιο κώδικα με τις writeoutput) και να επιστρέφουν το επιθυμητό String αντί να το εκτυπώνουν. Ο βασικός λόγος είναι ότι οι μέθοδοι tostring που κάνουν override την tostring της Object, αποκτούν μια πολύ βολική ιδιότητα αυτής της tostring: Καλούνται αυτόματα (όταν υπάρχουν σε μια κλάση φυσικά) όταν κάποιος προσπαθήσει να εμφανίσει τα περιεχόμενα ενός αντικειμένου μιας κλάσης, καλώντας το αντικείμενο άμεσα μέσα σε μια System.out.println. Π.χ., στο αρχικό παράδειγμα, εάν στην κλάση Student η writeoutput μετατρεπώνταν στην αντίστοιχη tostring (οπότε φυσικά η εντολή s.writeoutput(); της main θα ήταν λάθος), η εντολή που κανονικά θα έπρεπε να υπάρχει στη main: System.out.println(s.toString()); θα μπορούσε να αντικατασταθεί από την: System.out.println(s); (υπενθυμίζεται ότι το s είναι ένα αντικείμενο της Student) Σημείωση: εάν δεν υπήρχε η έκδοση της tostring στη Student που υπερκαλύπτει την tostring της Object, τότε η εντολή δεν θα ήταν λάθος, αλλά δεν θα εκτύπωνε το επιθυμητό αποτέλεσμα. Ο τελεστής instanceof και η μέθοδος getclass() Ο τελεστής instanceof συντάσσεται ως εξής: αντικείμενο instanceof Κλάση και επιστρέφει true εάν το αντικείμενο είναι τύπου της συγκεκριμένης Κλάσης και false εάν δεν είναι. Προσοχή χρειάζεται στο ότι, όπως προαναφέρθηκε, τα αντικείμενα μιας κλάσης που κληρονομεί κάποια άλλη είναι τύπου της κλάσης αυτής αλλά και τύπου των προγόνων της. Άρα σε κάθε τέτοια περίπτωση αντικειμένου, ο τελεστής instanceof θα επιστρέφει true. Αντιθέτως, η μέθοδος getclass() της κλάσης Object επιστρέφει την κλάση της οποίας ver Τμήμα Μαθηματικών ΕΚΠΑ 13

16 αντικείμενο είναι το αντικείμενο με το οποίο καλείται. Στην ουσία δεν επιστρέφει απαραίτητα τον τύπο του αντικειμένου, αλλά την κλάση με τον κατασκευαστή της οποίας δημιουργήθηκε ένα αντικείμενο. Χαρακτηριστικό είναι το ακόλουθο παράδειγμα. Εάν έχουν δημιουργηθεί τα αντικείμενα: Student s = new Student(); Person ps = new Student(); Person p = new Person(); τότε οι ακόλουθες εντολές εκτυπώνουν αυτά που φαίνονται δίπλα σε σχόλια: System.out.println(s instanceof Student); // -> true System.out.println(s instanceof Person); // -> true System.out.println(ps instanceof Student); // -> true System.out.println(ps instanceof Person); // -> true System.out.println(p instanceof Person); // -> true System.out.println(p instanceof Student); // -> false System.out.println(ps.getClass() == s.getclass()); // -> true System.out.println(ps.getClass() == p.getclass()); // -> false Η λέξη final: α) Σε μεταβλητές: Δεν αλλάζει η τιμή τους μετά την αρχικοποίησή τους (σταθερές). π.χ. private final int x = 5; x = 6; // ΛΑΘΟΣ! β) Σε μεθόδους: Δεν γίνονται override. π.χ. public final void specialmethod() γ) Σε κλάσεις: Δεν κληρονομούνται. π.χ. public final class MyClass public class ClassName extends MyClass // ΛΑΘΟΣ! ver Τμήμα Μαθηματικών ΕΚΠΑ 14

17 Σημειώματα Σημείωμα Αναφοράς Copyright Εθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών, Μιχάλης Δρακόπουλος, Μιχάλης Δρακόπουλος. «Πληροφορική ΙI. Ενότητα 9: Κληρονομικότητα (Inheritance)». Έκδοση: 1.0. Αθήνα Διαθέσιμο από τη δικτυακή διεύθυνση: Σημείωμα Αδειοδότησης Το παρόν υλικό διατίθεται με τους όρους της άδειας χρήσης Creative Commons Αναφορά, Μη Εμπορική Χρήση Παρόμοια Διανομή 4.0 [1] ή μεταγενέστερη, Διεθνής Έκδοση. Εξαιρούνται τα αυτοτελή έργα τρίτων π.χ. φωτογραφίες, διαγράμματα κ.λ.π., τα οποία εμπεριέχονται σε αυτό και τα οποία αναφέρονται μαζί με τους όρους χρήσης τους στο «Σημείωμα Χρήσης Έργων Τρίτων». [1] Ως Μη Εμπορική ορίζεται η χρήση: που δεν περιλαμβάνει άμεσο ή έμμεσο οικονομικό όφελος από την χρήση του έργου, για το διανομέα του έργου και αδειοδόχο που δεν περιλαμβάνει οικονομική συναλλαγή ως προϋπόθεση για τη χρήση ή πρόσβαση στο έργο που δεν προσπορίζει στο διανομέα του έργου και αδειοδόχο έμμεσο οικονομικό όφελος (π.χ. διαφημίσεις) από την προβολή του έργου σε διαδικτυακό τόπο Ο δικαιούχος μπορεί να παρέχει στον αδειοδόχο ξεχωριστή άδεια να χρησιμοποιεί το έργο για εμπορική χρήση, εφόσον αυτό του ζητηθεί. Διατήρηση Σημειωμάτων Οποιαδήποτε αναπαραγωγή ή διασκευή του υλικού θα πρέπει να συμπεριλαμβάνει: το Σημείωμα Αναφοράς το Σημείωμα Αδειοδότησης τη δήλωση Διατήρησης Σημειωμάτων το Σημείωμα Χρήσης Έργων Τρίτων (εφόσον υπάρχει) μαζί με τους συνοδευόμενους υπερσυνδέσμους.

18 Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στo πλαίσιo του εκπαιδευτικού έργου του διδάσκοντα. Το έργο «Ανοικτά Ακαδημαϊκά Μαθήματα στο Πανεπιστήμιο Αθηνών» έχει χρηματοδοτήσει μόνο τη αναδιαμόρφωση του εκπαιδευτικού υλικού. Το έργο υλοποιείται στο πλαίσιο του Επιχειρησιακού Προγράμματος «Εκπαίδευση και Δια Βίου Μάθηση» και συγχρηματοδοτείται από την Ευρωπαϊκή Ένωση (Ευρωπαϊκό Κοινωνικό Ταμείο) και από εθνικούς πόρους. Σελίδα 4

ΠΛΗΡΟΦΟΡΙΚΗ ΙI Ενότητα 3: Έλεγχος ροής προγράμματος

ΠΛΗΡΟΦΟΡΙΚΗ ΙI Ενότητα 3: Έλεγχος ροής προγράμματος ΠΛΗΡΟΦΟΡΙΚΗ ΙI Ενότητα 3: Έλεγχος ροής προγράμματος Μιχάλης Δρακόπουλος Σχολή Θετικών επιστημών Τμήμα Μαθηματικών ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (Java) Ενότητα 3 ΕΛΕΓΧΟΣ ΡΟΗΣ ΠΡΟΓΡΑΜΜΑΤΟΣ Ι. Ελεγκτές συνθηκών ή περιπτώσεων:

Διαβάστε περισσότερα

Οντοκεντρικός Προγραμματισμός

Οντοκεντρικός Προγραμματισμός Οντοκεντρικός Προγραμματισμός Ενότητα 2: Η ΓΛΩΣΣΑ JAVA Βασικά Δομικά Στοιχεία ΔΙΔΑΣΚΟΝΤΕΣ: Ιωάννης Χατζηλυγερούδης, Χρήστος Μακρής Πολυτεχνική Σχολή Τμήμα Μηχανικών Η/Υ & Πληροφορικής ΔΟΜΙΚΑ ΣΤΟΙΧΕΙΑ ΔΟΜΙΚΑ

Διαβάστε περισσότερα

Οντοκεντρικός Προγραμματισμός

Οντοκεντρικός Προγραμματισμός Οντοκεντρικός Προγραμματισμός Ενότητα 2: Η ΓΛΩΣΣΑ JAVA Κληρονομικότητα ΔΙΔΑΣΚΟΝΤΕΣ: Ιωάννης Χατζηλυγερούδης, Χρήστος Μακρής Πολυτεχνική Σχολή Τμήμα Μηχανικών Η/Υ & Πληροφορικής ΚΛΗΡΟΝΟΜΙΚΟΤΗΤΑ ΚΛΗΡΟΝΟΜΙΚΟΤΗΤΑ

Διαβάστε περισσότερα

ΠΛΗΡΟΦΟΡΙΚΗ ΙI Ενότητα 8: Πακέτα (Packages)

ΠΛΗΡΟΦΟΡΙΚΗ ΙI Ενότητα 8: Πακέτα (Packages) ΠΛΗΡΟΦΟΡΙΚΗ ΙI Ενότητα 8: Πακέτα (Packages) Μιχάλης Δρακόπουλος Σχολή Θετικών επιστημών Τμήμα Μαθηματικών ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ Σημειώσεις Java Ενότητα 8 Ν Φερεντίνος ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (Java) Ενότητα 8 Πακέτα (

Διαβάστε περισσότερα

ΠΛΗΡΟΦΟΡΙΚΗ ΙI Ενότητα 7: Πίνακες (Arrays)

ΠΛΗΡΟΦΟΡΙΚΗ ΙI Ενότητα 7: Πίνακες (Arrays) ΠΛΗΡΟΦΟΡΙΚΗ ΙI Ενότητα 7: Πίνακες (Arrays) Μιχάλης Δρακόπουλος Σχολή Θετικών επιστημών Τμήμα Μαθηματικών ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (Java) Ενότητα 7 Πίνακες (Arrays) 1-D 0 1 2 2-D 3-D 0 0 1 1 2 2 3 3 array[3][2]

Διαβάστε περισσότερα

ΠΛΗΡΟΦΟΡΙΚΗ Ι Ενότητα 4: Συναρτήσεις

ΠΛΗΡΟΦΟΡΙΚΗ Ι Ενότητα 4: Συναρτήσεις ΠΛΗΡΟΦΟΡΙΚΗ Ι Ενότητα 4: Συναρτήσεις Μιχάλης Δρακόπουλος Σχολή Θετικών επιστημών Τμήμα Μαθηματικών ΠΛΗΡΟΦΟΡΙΚΗ Ι Σημειώσεις MATLAB Ενότητα 4 ΠΛΗΡΟΦΟΡΙΚΗ Ι (MATLAB) Ενότητα 4 Σημειώσεις βασισμένες στο

Διαβάστε περισσότερα

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΗΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΗΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΗΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Ενότητα 10: Πρότυπα Το περιεχόμενο του μαθήματος διατίθεται με άδεια Creative Commons εκτός και αν αναφέρεται διαφορετικά

Διαβάστε περισσότερα

Οντοκεντρικός Προγραμματισμός

Οντοκεντρικός Προγραμματισμός Οντοκεντρικός Προγραμματισμός Ενότητα 2: Η ΓΛΩΣΣΑ JAVA Βιβλιοθήκες ΔΙΔΑΣΚΟΝΤΕΣ: Ιωάννης Χατζηλυγερούδης, Χρήστος Μακρής Πολυτεχνική Σχολή Τμήμα Μηχανικών Η/Υ & Πληροφορικής ΒΙΒΛΙΟΘΗΚΗ JAVA ΒΑΣΙΚΗ ΒΙΒΛΙΟΘΗΚΗ

Διαβάστε περισσότερα

Οντοκεντρικός Προγραμματισμός

Οντοκεντρικός Προγραμματισμός Οντοκεντρικός Προγραμματισμός Ενότητα 6: C++ ΚΛΑΣΕΙΣ, ΚΛΗΡΟΝΟΜΙΚΟΤΗΤΑ, ΠΟΛΥΜΟΡΦΙΣΜΟΣ Κληρονομικότητα ΔΙΔΑΣΚΟΝΤΕΣ: Ιωάννης Χατζηλυγερούδης, Χρήστος Μακρής Πολυτεχνική Σχολή Τμήμα Μηχανικών Η/Υ & Πληροφορικής

Διαβάστε περισσότερα

Διοικητική Λογιστική

Διοικητική Λογιστική Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων Διοικητική Λογιστική Ενότητα 10: Προσφορά και κόστος Το περιεχόμενο του μαθήματος διατίθεται με άδεια Creative Commons εκτός και αν αναφέρεται διαφορετικά

Διαβάστε περισσότερα

Οντοκεντρικός Προγραμματισμός

Οντοκεντρικός Προγραμματισμός Οντοκεντρικός Προγραμματισμός Ενότητα 2: Η ΓΛΩΣΣΑ JAVA Σύγκριση JAVA-C ΔΙΔΑΣΚΟΝΤΕΣ: Ιωάννης Χατζηλυγερούδης, Χρήστος Μακρής Πολυτεχνική Σχολή Τμήμα Μηχανικών Η/Υ & Πληροφορικής ΣΥΓΚΡΙΣΗ JAVA - C ΤΥΠΟΙ

Διαβάστε περισσότερα

ΠΛΗΡΟΦΟΡΙΚΗ ΙI Ενότητα 11: Vectors (διανύσματα)

ΠΛΗΡΟΦΟΡΙΚΗ ΙI Ενότητα 11: Vectors (διανύσματα) ΠΛΗΡΟΦΟΡΙΚΗ ΙI Ενότητα 11: Vectors (διανύσματα) Μιχάλης Δρακόπουλος Σχολή Θετικών επιστημών Τμήμα Μαθηματικών ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (Java) Ενότητα 11 Vectors (διανύσματα) Τα vectors είναι δυναμικές δομές δεδομένων.

Διαβάστε περισσότερα

Θερμοδυναμική. Ανοικτά Ακαδημαϊκά Μαθήματα. Πίνακες Νερού σε κατάσταση Κορεσμού. Γεώργιος Κ. Χατζηκωνσταντής Επίκουρος Καθηγητής

Θερμοδυναμική. Ανοικτά Ακαδημαϊκά Μαθήματα. Πίνακες Νερού σε κατάσταση Κορεσμού. Γεώργιος Κ. Χατζηκωνσταντής Επίκουρος Καθηγητής Ανοικτά Ακαδημαϊκά Μαθήματα Τεχνολογικό Εκπαιδευτικό Ίδρυμα Αθήνας Πίνακες Νερού σε κατάσταση Κορεσμού Γεώργιος Κ. Χατζηκωνσταντής Επίκουρος Καθηγητής Διπλ. Ναυπηγός Μηχανολόγος Μηχανικός M.Sc. Διασφάλιση

Διαβάστε περισσότερα

Οντοκεντρικός Προγραμματισμός

Οντοκεντρικός Προγραμματισμός Οντοκεντρικός Προγραμματισμός Ενότητα 7: C++ TEMPLATES, ΥΠΕΡΦΟΡΤΩΣΗ ΤΕΛΕΣΤΩΝ, ΕΞΑΙΡΕΣΕΙΣ Υπερφόρτωση Τελεστών ΔΙΔΑΣΚΟΝΤΕΣ: Ιωάννης Χατζηλυγερούδης, Χρήστος Μακρής Πολυτεχνική Σχολή Τμήμα Μηχανικών Η/Υ

Διαβάστε περισσότερα

Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Αθήνας. Βιοστατιστική (Ε) Ενότητα 3: Έλεγχοι στατιστικών υποθέσεων

Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Αθήνας. Βιοστατιστική (Ε) Ενότητα 3: Έλεγχοι στατιστικών υποθέσεων Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Αθήνας Βιοστατιστική (Ε) Ενότητα 3: Έλεγχοι στατιστικών υποθέσεων Δρ.Ευσταθία Παπαγεωργίου, Αναπληρώτρια Καθηγήτρια Τμήμα Ιατρικών Εργαστηρίων Το περιεχόμενο του μαθήματος

Διαβάστε περισσότερα

Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Αθήνας. Βιοστατιστική (Ε) Ενότητα 1: Καταχώρηση δεδομένων

Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Αθήνας. Βιοστατιστική (Ε) Ενότητα 1: Καταχώρηση δεδομένων Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Αθήνας Βιοστατιστική (Ε) Ενότητα 1: Καταχώρηση δεδομένων Δρ.Ευσταθία Παπαγεωργίου, Αναπληρώτρια Καθηγήτρια Τμήμα Ιατρικών Εργαστηρίων Το περιεχόμενο του μαθήματος διατίθεται

Διαβάστε περισσότερα

Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Αθήνας. Βιοστατιστική (Ε) Ενότητα 2: Περιγραφική στατιστική

Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Αθήνας. Βιοστατιστική (Ε) Ενότητα 2: Περιγραφική στατιστική Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Αθήνας Βιοστατιστική (Ε) Ενότητα 2: Περιγραφική στατιστική Δρ.Ευσταθία Παπαγεωργίου, Αναπληρώτρια Καθηγήτρια Τμήμα Ιατρικών Εργαστηρίων Το περιεχόμενο του μαθήματος

Διαβάστε περισσότερα

Οντοκεντρικός Προγραμματισμός

Οντοκεντρικός Προγραμματισμός Οντοκεντρικός Προγραμματισμός Ενότητα 1: Αντικειμενοστραφής Προγραμματισμός Εισαγωγή OBJECT-ORIENTED PROGRAMMING ΔΙΔΑΣΚΟΝΤΕΣ: Iωάννης Χατζηλυγερούδης, Χρήστος Μακρής Πολυτεχνική Σχολή Τμήμα Μηχανικών Η/Υ

Διαβάστε περισσότερα

Εισαγωγή στους Αλγορίθμους

Εισαγωγή στους Αλγορίθμους Εισαγωγή στους Αλγορίθμους Ενότητα 5 η Άσκηση Συγχώνευση & απαρίθμηση Διδάσκων Χρήστος Ζαρολιάγκης Καθηγητής Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πανεπιστήμιο Πατρών Email: zaro@ceid.upatras.gr Άδειες Χρήσης

Διαβάστε περισσότερα

Δομημένος Προγραμματισμός

Δομημένος Προγραμματισμός Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων Δομημένος Προγραμματισμός Ενότητα 1: Εισαγωγή Το περιεχόμενο του μαθήματος διατίθεται με άδεια Creative Commons εκτός και αν αναφέρεται διαφορετικά Το έργο

Διαβάστε περισσότερα

Εισαγωγή στους Αλγορίθμους

Εισαγωγή στους Αλγορίθμους Εισαγωγή στους Αλγορίθμους Ενότητα 6 η Άσκηση - DFS δένδρα Διδάσκων Χρήστος Ζαρολιάγκης Καθηγητής Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πανεπιστήμιο Πατρών Email: zaro@ceid.upatras.gr Άδειες Χρήσης Το παρόν

Διαβάστε περισσότερα

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΗΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΗΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΗΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Ενότητα 7: Υπερφόρτωση διμελών τελεστών Το περιεχόμενο του μαθήματος διατίθεται με άδεια Creative Commons εκτός και αν

Διαβάστε περισσότερα

Πληροφορική ΙΙ Θεματική Ενότητα 5

Πληροφορική ΙΙ Θεματική Ενότητα 5 Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων Πληροφορική ΙΙ Θεματική Ενότητα 5 Λογικοί Τελεστές Το περιεχόμενο του μαθήματος διατίθεται με άδεια Creative Commons εκτός και αν αναφέρεται διαφορετικά

Διαβάστε περισσότερα

Αντικειμενοστρεφής Προγραμματισμός Ενότητα 3: Constructors και destructors

Αντικειμενοστρεφής Προγραμματισμός Ενότητα 3: Constructors και destructors Αντικειμενοστρεφής Προγραμματισμός Ενότητα 3: Constructors και destructors Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά) Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται

Διαβάστε περισσότερα

Λογιστική Κόστους Ενότητα 12: Λογισμός Κόστους (2)

Λογιστική Κόστους Ενότητα 12: Λογισμός Κόστους (2) Λογιστική Κόστους Ενότητα 12: Λογισμός Κόστους (2) Μαυρίδης Δημήτριος Τμήμα Λογιστικής και Χρηματοοικονομικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για

Διαβάστε περισσότερα

Πρακτική Άσκηση σε σχολεία της δευτεροβάθμιας εκπαίδευσης

Πρακτική Άσκηση σε σχολεία της δευτεροβάθμιας εκπαίδευσης Πρακτική Άσκηση σε σχολεία της δευτεροβάθμιας εκπαίδευσης Ενότητα 1: Κρίσιμα συμβάντα Δέσποινα Πόταρη, Γιώργος Ψυχάρης Σχολή Θετικών επιστημών Τμήμα Μαθηματικό Απομαγνητοφώνηση αποσπάσματος από Β Λυκείου

Διαβάστε περισσότερα

Εισαγωγή στους Αλγορίθμους

Εισαγωγή στους Αλγορίθμους Εισαγωγή στους Αλγορίθμους Ενότητα 5 η Άσκηση - Συγχώνευση Διδάσκων Χρήστος Ζαρολιάγκης Καθηγητής Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πανεπιστήμιο Πατρών Email: zaro@ceid.upatras.gr Άδειες Χρήσης Το παρόν

Διαβάστε περισσότερα

Έλεγχος και Διασφάλιση Ποιότητας Ενότητα 4: Μελέτη ISO Κουππάρης Μιχαήλ Τμήμα Χημείας Εργαστήριο Αναλυτικής Χημείας

Έλεγχος και Διασφάλιση Ποιότητας Ενότητα 4: Μελέτη ISO Κουππάρης Μιχαήλ Τμήμα Χημείας Εργαστήριο Αναλυτικής Χημείας Έλεγχος και Διασφάλιση Ποιότητας Ενότητα 4: Μελέτη Κουππάρης Μιχαήλ Τμήμα Χημείας Εργαστήριο Αναλυτικής Χημείας ISO 17025 5.9. ΔΙΑΣΦΑΛΙΣΗ ΤΗΣ ΠΟΙΟΤΗΤΑΣ ΤΩΝ ΑΠΟΤΕΛΕΣΜΑΤΩΝ ΔΟΚΙΜΩΝ (1) 5.9.1 Το Εργαστήριο

Διαβάστε περισσότερα

Κβαντική Επεξεργασία Πληροφορίας

Κβαντική Επεξεργασία Πληροφορίας Κβαντική Επεξεργασία Πληροφορίας Ενότητα 4: Κλασσική και Κβαντική Πιθανότητα Σγάρμπας Κυριάκος Πολυτεχνική Σχολή Τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών Σκοποί ενότητας Σκοπός της ενότητας

Διαβάστε περισσότερα

ΠΛΗΡΟΦΟΡΙΚΗ Ι Ενότητα 3: Συναρτήσεις

ΠΛΗΡΟΦΟΡΙΚΗ Ι Ενότητα 3: Συναρτήσεις ΠΛΗΡΟΦΟΡΙΚΗ Ι Ενότητα 3: Συναρτήσεις Μιχάλης Δρακόπουλος Σχολή Θετικών επιστημών Τμήμα Μαθηματικών Συναρτήσεις 60 Ροή ελέγχου Είναι η σειρά µε την οποία εκτελούνται οι εντολές. Μέχρι τώρα, «σειριακή»,

Διαβάστε περισσότερα

Δομημένος Προγραμματισμός

Δομημένος Προγραμματισμός Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων Δομημένος Προγραμματισμός Ενότητα 8: Δείκτες Το περιεχόμενο του μαθήματος διατίθεται με άδεια Creative Commons εκτός και αν αναφέρεται διαφορετικά Το έργο

Διαβάστε περισσότερα

Βάσεις Περιβαλλοντικών Δεδομένων

Βάσεις Περιβαλλοντικών Δεδομένων Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων Βάσεις Περιβαλλοντικών Δεδομένων Ενότητα 3: Μοντέλα βάσεων δεδομένων Το περιεχόμενο του μαθήματος διατίθεται με άδεια Creative Commons εκτός και αν αναφέρεται

Διαβάστε περισσότερα

Αντικειμενοστρεφής Προγραμματισμός Ενότητα 2: Κλάσεις. Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

Αντικειμενοστρεφής Προγραμματισμός Ενότητα 2: Κλάσεις. Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά) Αντικειμενοστρεφής Προγραμματισμός Ενότητα 2: Κλάσεις Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά) Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative

Διαβάστε περισσότερα

Αντικειμενοστρεφής Προγραμματισμός Ενότητα 5: Κληρονομικότητα. Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

Αντικειμενοστρεφής Προγραμματισμός Ενότητα 5: Κληρονομικότητα. Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά) Αντικειμενοστρεφής Προγραμματισμός Ενότητα 5: Κληρονομικότητα Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά) Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης

Διαβάστε περισσότερα

Οντοκεντρικός Προγραμματισμός

Οντοκεντρικός Προγραμματισμός Οντοκεντρικός Προγραμματισμός Ενότητα 7: C++ TEMPLATES, ΥΠΕΡΦΟΡΤΩΣΗ ΤΕΛΕΣΤΩΝ, ΕΞΑΙΡΕΣΕΙΣ Templates ΔΙΔΑΣΚΟΝΤΕΣ: Ιωάννης Χατζηλυγερούδης, Χρήστος Μακρής Πολυτεχνική Σχολή Τμήμα Μηχανικών Η/Υ & Πληροφορικής

Διαβάστε περισσότερα

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΗΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΗΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΗΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Ενότητα 3: Πίνακες, Δομές και Δυναμική Διαχείριση Μνήμης Το περιεχόμενο του μαθήματος διατίθεται με άδεια Creative Commons

Διαβάστε περισσότερα

Διδακτική των εικαστικών τεχνών Ενότητα 3

Διδακτική των εικαστικών τεχνών Ενότητα 3 Διδακτική των εικαστικών τεχνών Ενότητα 3 Ουρανία Κούβου Εθνικὸ καi Καποδιστριακὸ Πανεπιστήμιο Αθηνών Τμήμα Εκπαίδευσης και Αγωγής στην Προσχολική Ηλικία Ενότητα 3. Ο ρόλος του εκπαιδευτικού: σχεδιασμός

Διαβάστε περισσότερα

Διδακτική των εικαστικών τεχνών Ενότητα 1

Διδακτική των εικαστικών τεχνών Ενότητα 1 Διδακτική των εικαστικών τεχνών Ενότητα 1 Ουρανία Κούβου Εθνικὸ καi Καποδιστριακὸ Πανεπιστήμιο Αθηνών Τμήμα Εκπαίδευσης και Αγωγής στην Προσχολική Ηλικία Ενότητα 1. Ιστορική αναδρομή της διδακτικής της

Διαβάστε περισσότερα

Φιλοσοφία της Ιστορίας και του Πολιτισμού

Φιλοσοφία της Ιστορίας και του Πολιτισμού Φιλοσοφία της Ιστορίας και του Πολιτισμού Ενότητα 1: Εισαγωγή στις έννοιες Ιστορίας και Πολιτισμού Λάζου Άννα Εθνικὸ και Καποδιστριακὸ Πανεπιστήμιο Aθηνών Τμήμα Φιλοσοφίας Παιδαγωγικής και Ψυχολογίας Φιλοσοφία

Διαβάστε περισσότερα

Μαθηματικά Διοικητικών & Οικονομικών Επιστημών

Μαθηματικά Διοικητικών & Οικονομικών Επιστημών Μαθηματικά Διοικητικών & Οικονομικών Επιστημών Ενότητα 7: Παράγωγος, ελαστικότητα, παραγώγιση συναρτήσεων (Φροντιστήριο) Μπεληγιάννης Γρηγόριος Σχολή Οργάνωσης και Διοίκησης Επιχειρήσεων Τμήμα Διοίκησης

Διαβάστε περισσότερα

Θερμοδυναμική. Ανοικτά Ακαδημαϊκά Μαθήματα. Πίνακες Νερού Υπέρθερμου Ατμού. Γεώργιος Κ. Χατζηκωνσταντής Επίκουρος Καθηγητής

Θερμοδυναμική. Ανοικτά Ακαδημαϊκά Μαθήματα. Πίνακες Νερού Υπέρθερμου Ατμού. Γεώργιος Κ. Χατζηκωνσταντής Επίκουρος Καθηγητής Ανοικτά Ακαδημαϊκά Μαθήματα Τεχνολογικό Εκπαιδευτικό Ίδρυμα Αθήνας Πίνακες Νερού Υπέρθερμου Ατμού Γεώργιος Κ. Χατζηκωνσταντής Επίκουρος Καθηγητής Διπλ. Ναυπηγός Μηχανολόγος Μηχανικός M.Sc. Διασφάλιση Ποιότητας,

Διαβάστε περισσότερα

ΠΛΗΡΟΦΟΡΙΚΗ ΙI Ενότητα 5: Κατασκευαστές (Constructors)

ΠΛΗΡΟΦΟΡΙΚΗ ΙI Ενότητα 5: Κατασκευαστές (Constructors) ΠΛΗΡΟΦΟΡΙΚΗ ΙI Ενότητα 5: Κατασκευαστές (Constructors) Μιχάλης Δρακόπουλος Σχολή Θετικών επιστημών Τμήμα Μαθηματικών ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (Java) Ενότητα 5 Κατασκευαστές (Constructors) Ειδικός τύπος μεθόδων,

Διαβάστε περισσότερα

Λογικός Προγραμματισμός Ασκήσεις

Λογικός Προγραμματισμός Ασκήσεις Λογικός Προγραμματισμός Ασκήσεις Παναγιώτης Σταματόπουλος Τμήμα Πληροφορικής και Τηλεπικοινωνιών Περιεχόμενα 1. Ασκήσεις "Λογικού Προγραμματισμού" Ακαδημαϊκού Έτους 2003-04... 3 1.1 Άσκηση 1 (0.2 μονάδες)...

Διαβάστε περισσότερα

Τεχνικό Σχέδιο - CAD

Τεχνικό Σχέδιο - CAD Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων Τεχνικό Σχέδιο - CAD Ενότητα 7: SketchUp Αντικείμενα Το περιεχόμενο του μαθήματος διατίθεται με άδεια Creative Commons εκτός και αν αναφέρεται διαφορετικά

Διαβάστε περισσότερα

Διοικητική Λογιστική

Διοικητική Λογιστική Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων Διοικητική Λογιστική Ενότητα 6: Μέθοδοι ς Το περιεχόμενο του μαθήματος διατίθεται με άδεια Creative Commons εκτός και αν αναφέρεται διαφορετικά Το έργο

Διαβάστε περισσότερα

Ενότητα. Εισαγωγή στις βάσεις δεδομένων

Ενότητα. Εισαγωγή στις βάσεις δεδομένων Ενότητα 1 Εισαγωγή στις βάσεις δεδομένων 2 1.1 Βάσεις Δεδομένων Ένα βασικό στοιχείο των υπολογιστών είναι ότι έχουν τη δυνατότητα να επεξεργάζονται εύκολα και γρήγορα μεγάλο πλήθος δεδομένων και πληροφοριών.

Διαβάστε περισσότερα

Λογικός Προγραμματισμός Ασκήσεις

Λογικός Προγραμματισμός Ασκήσεις Λογικός Προγραμματισμός Ασκήσεις Παναγιώτης Σταματόπουλος Τμήμα Πληροφορικής και Τηλεπικοινωνιών Περιεχόμενα 1. Α Ομάδα Ασκήσεων "Λογικού Προγραμματισμού" Ακαδημαϊκού Έτους 2011-12... 3 1.1 Άσκηση 1...

Διαβάστε περισσότερα

Λογικός Προγραμματισμός Ασκήσεις

Λογικός Προγραμματισμός Ασκήσεις Λογικός Προγραμματισμός Ασκήσεις Παναγιώτης Σταματόπουλος Τμήμα Πληροφορικής και Τηλεπικοινωνιών Περιεχόμενα 1. Α Ομάδα Ασκήσεων "Λογικού Προγραμματισμού" Ακαδημαϊκού Έτους 2010-11... 3 1.1 Άσκηση 1...

Διαβάστε περισσότερα

ΣΥΣΤΗΜΑΤΑ ΗΛΕΚΤΡΙΚΗΣ ΕΝΕΡΓΕΙΑΣ ΙIΙ

ΣΥΣΤΗΜΑΤΑ ΗΛΕΚΤΡΙΚΗΣ ΕΝΕΡΓΕΙΑΣ ΙIΙ ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΙΚΑ ΜΑΘΗΜΑΤΑ ΣΥΣΤΗΜΑΤΑ ΗΛΕΚΤΡΙΚΗΣ ΕΝΕΡΓΕΙΑΣ ΙIΙ ΜΕΤΑΒΑΤΙΚΑ ΦΑΙΝΟΜΕΝΑ ΣΤΑ ΣΗΕ Λαμπρίδης Δημήτρης Κατσανού Βάνα Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών

Διαβάστε περισσότερα

ΣΥΣΤΗΜΑΤΑ ΗΛΕΚΤΡΙΚΗΣ ΕΝΕΡΓΕΙΑΣ ΙIΙ

ΣΥΣΤΗΜΑΤΑ ΗΛΕΚΤΡΙΚΗΣ ΕΝΕΡΓΕΙΑΣ ΙIΙ ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΙΚΑ ΜΑΘΗΜΑΤΑ ΣΥΣΤΗΜΑΤΑ ΗΛΕΚΤΡΙΚΗΣ ΕΝΕΡΓΕΙΑΣ ΙIΙ ΜΕΤΑΒΑΤΙΚΑ ΦΑΙΝΟΜΕΝΑ ΣΤΑ ΣΗΕ Λαμπρίδης Δημήτρης Κατσανού Βάνα Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών

Διαβάστε περισσότερα

ΣΥΣΤΗΜΑΤΑ ΗΛΕΚΤΡΙΚΗΣ ΕΝΕΡΓΕΙΑΣ ΙIΙ

ΣΥΣΤΗΜΑΤΑ ΗΛΕΚΤΡΙΚΗΣ ΕΝΕΡΓΕΙΑΣ ΙIΙ ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΙΚΑ ΜΑΘΗΜΑΤΑ ΣΥΣΤΗΜΑΤΑ ΗΛΕΚΤΡΙΚΗΣ ΕΝΕΡΓΕΙΑΣ ΙIΙ ΜΕΤΑΒΑΤΙΚΑ ΦΑΙΝΟΜΕΝΑ ΣΤΑ ΣΗΕ Λαμπρίδης Δημήτρης Κατσανού Βάνα Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών

Διαβάστε περισσότερα

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΗΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΗΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΗΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Ενότητα 9: Πολλαπλή κληρονομικότητα Το περιεχόμενο του μαθήματος διατίθεται με άδεια Creative Commons εκτός και αν αναφέρεται

Διαβάστε περισσότερα

Γενική Φυσική Ενότητα: Εισαγωγή στην Ειδική Θεωρία της Σχετικότητας

Γενική Φυσική Ενότητα: Εισαγωγή στην Ειδική Θεωρία της Σχετικότητας Γενική Φυσική Ενότητα: Εισαγωγή στην Ειδική Θεωρία της Σχετικότητας Όνομα Καθηγητή: Γεώργιος Βούλγαρης Τμήμα: Μαθηματικό Σελίδα 2 1. Ασκήσεις στην Εισαγωγή στην Ειδική Θεωρία της Σχετικότητας... 4 1.1

Διαβάστε περισσότερα

Οντοκεντρικός Προγραμματισμός

Οντοκεντρικός Προγραμματισμός Οντοκεντρικός Προγραμματισμός Ενότητα 5: H ΓΛΩΣΣΑ C++ Πίνακες & Δείκτες ΔΙΔΑΣΚΟΝΤΕΣ: Ιωάννης Χατζηλυγερούδης, Χρήστος Μακρής Πολυτεχνική Σχολή Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πίνακες Πίνακες Τα στοιχεία

Διαβάστε περισσότερα

Τεχνικό Σχέδιο - CAD

Τεχνικό Σχέδιο - CAD Τεχνικό Σχέδιο - CAD Προσθήκη Διαστάσεων & Κειμένου ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Τεχνολογιών Φυσικού Περιβάλλοντος Εντολές προσθήκης διαστάσεων & κειμένου Στο βασική (Home)

Διαβάστε περισσότερα

Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική

Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική Ενότητα 7: Συναρτήσεις Νικόλαος Στεργιούλας Τμήμα Φυσικής Άδειες Χρήσης Το παρόν εκπαιδευτικό

Διαβάστε περισσότερα

Διδακτική των εικαστικών τεχνών Ενότητα 2

Διδακτική των εικαστικών τεχνών Ενότητα 2 Διδακτική των εικαστικών τεχνών Ενότητα 2 Ουρανία Κούβου Εθνικὸ καi Καποδιστριακὸ Πανεπιστήμιο Αθηνών Τμήμα Εκπαίδευσης και Αγωγής στην Προσχολική Ηλικία Ενότητα 2. Το παιδικό σχέδιο ως γνωστική διεργασία:

Διαβάστε περισσότερα

Διδακτική των εικαστικών τεχνών Ενότητα 2

Διδακτική των εικαστικών τεχνών Ενότητα 2 Διδακτική των εικαστικών τεχνών Ενότητα 2 Ουρανία Κούβου Εθνικὸ καi Καποδιστριακὸ Πανεπιστήμιο Αθηνών Τμήμα Εκπαίδευσης και Αγωγής στην Προσχολική Ηλικία Ενότητα 2. Το παιδικό σχέδιο ως γνωστική διεργασία:

Διαβάστε περισσότερα

Διδακτική των εικαστικών τεχνών Ενότητα 2

Διδακτική των εικαστικών τεχνών Ενότητα 2 Διδακτική των εικαστικών τεχνών Ενότητα 2 Ουρανία Κούβου Εθνικὸ καi Καποδιστριακὸ Πανεπιστήμιο Αθηνών Τμήμα Εκπαίδευσης και Αγωγής στην Προσχολική Ηλικία Ενότητα 2. Το παιδικό σχέδιο ως γνωστική διεργασία:

Διαβάστε περισσότερα

Διδακτική Πληροφορικής

Διδακτική Πληροφορικής Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων Διδακτική Πληροφορικής Ενότητα 4: Διδακτικός μετασχηματισμός βασικών εννοιών πληροφορικής Το περιεχόμενο του μαθήματος διατίθεται με άδεια Creative Commons

Διαβάστε περισσότερα

Διδακτική των εικαστικών τεχνών Ενότητα 2

Διδακτική των εικαστικών τεχνών Ενότητα 2 Διδακτική των εικαστικών τεχνών Ενότητα 2 Ουρανία Κούβου Εθνικὸ καi Καποδιστριακὸ Πανεπιστήμιο Αθηνών Τμήμα Εκπαίδευσης και Αγωγής στην Προσχολική Ηλικία Ενότητα 2. Το παιδικό σχέδιο ως γνωστική διεργασία:

Διαβάστε περισσότερα

Αντικειμενοστρεφής Προγραμματισμός Ενότητα 6: Φιλικές συναρτήσεις. Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

Αντικειμενοστρεφής Προγραμματισμός Ενότητα 6: Φιλικές συναρτήσεις. Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά) Αντικειμενοστρεφής Προγραμματισμός Ενότητα 6: Φιλικές συναρτήσεις Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά) Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες

Διαβάστε περισσότερα

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΗΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΗΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΗΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Ενότητα 4: Εισαγωγή στις κλάσεις Το περιεχόμενο του μαθήματος διατίθεται με άδεια Creative Commons εκτός και αν αναφέρεται

Διαβάστε περισσότερα

Υπολογιστική άλγεβρα Ενότητα 1: Πολυωνυμικές σχέσεις και ταυτότητες, μέρος Ι

Υπολογιστική άλγεβρα Ενότητα 1: Πολυωνυμικές σχέσεις και ταυτότητες, μέρος Ι Υπολογιστική άλγεβρα Ενότητα 1: Πολυωνυμικές σχέσεις και ταυτότητες, μέρος Ι Ράπτης Ευάγγελος Σχολή Θετικών επιστημών Τμήμα Μαθηματικών Μέρος I Εναρξη μαθήματος 5 7 Υπολογιστική Άλγεβρα (439) ) Ευάγγελος

Διαβάστε περισσότερα

Προγραμματισμός Η/Υ. Βασικές Προγραμματιστικές Δομές. ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Τεχνολογιών Φυσικού Περιβάλλοντος

Προγραμματισμός Η/Υ. Βασικές Προγραμματιστικές Δομές. ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Τεχνολογιών Φυσικού Περιβάλλοντος Προγραμματισμός Η/Υ Βασικές Προγραμματιστικές Δομές ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Τεχνολογιών Φυσικού Περιβάλλοντος Δομή Ελέγχου Ροής (IF) Η εντολή IF χρησιμοποιείται όταν

Διαβάστε περισσότερα

1 η Διάλεξη. Ενδεικτικές λύσεις ασκήσεων

1 η Διάλεξη. Ενδεικτικές λύσεις ασκήσεων 1 η Διάλεξη Ενδεικτικές λύσεις ασκήσεων 1 Περιεχόμενα 1 η Άσκηση... 3 2 η Άσκηση... 3 3 η Άσκηση... 3 4 η Άσκηση... 3 5 η Άσκηση... 4 6 η Άσκηση... 4 7 η Άσκηση... 4 8 η Άσκηση... 5 9 η Άσκηση... 5 10

Διαβάστε περισσότερα

Τίτλος Μαθήματος: Μαθηματική Ανάλυση Ενότητα Γ. Ολοκληρωτικός Λογισμός

Τίτλος Μαθήματος: Μαθηματική Ανάλυση Ενότητα Γ. Ολοκληρωτικός Λογισμός Τίτλος Μαθήματος: Μαθηματική Ανάλυση Ενότητα Γ. Ολοκληρωτικός Λογισμός Κεφάλαιο Γ.4: Ολοκλήρωση με Αντικατάσταση Όνομα Καθηγητή: Γεώργιος Ν. Μπροδήμας Τμήμα Φυσικής Άδειες Χρήσης Το παρόν εκπαιδευτικό

Διαβάστε περισσότερα

ΠΛΗΡΟΦΟΡΙΚΗ Ι Ενότητα 8: Συστήματα αρίθμησης

ΠΛΗΡΟΦΟΡΙΚΗ Ι Ενότητα 8: Συστήματα αρίθμησης ΠΛΗΡΟΦΟΡΙΚΗ Ι Ενότητα 8: Συστήματα αρίθμησης Μιχάλης Δρακόπουλος Σχολή Θετικών επιστημών Τμήμα Μαθηματικών ΠΛΗΡΟΦΟΡΙΚΗ Ι (MATLAB) Ενότητα 8 Σημειώσεις βασισμένες στο βιβλίο Το MATLAB στην Υπολογιστική

Διαβάστε περισσότερα

Γενική Φυσική Ενότητα: Ταλαντώσεις

Γενική Φυσική Ενότητα: Ταλαντώσεις Γενική Φυσική Ενότητα: Ταλαντώσεις Όνομα Καθηγητή: Γεώργιος Βούλγαρης Τμήμα: Μαθηματικό Σελίδα 2 1. Ερωτήσεις Ταλαντώσεων... 4 1.1 Ερώτηση 1... 4 2. Ασκήσεις Ταλαντώσεων... 4 2.1 Άσκηση 1... 4 2.2 Άσκηση

Διαβάστε περισσότερα

Κβαντική Επεξεργασία Πληροφορίας

Κβαντική Επεξεργασία Πληροφορίας Κβαντική Επεξεργασία Πληροφορίας Ενότητα 12: Ιδιοτιμές και Ιδιοδιανύσματα Σγάρμπας Κυριάκος Πολυτεχνική Σχολή Τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών Σκοποί ενότητας Ιδιοτιμές και Ιδιοδιανύσματα

Διαβάστε περισσότερα

Θεατρικές Εφαρμογές και Διδακτική της Φυσικής Ι

Θεατρικές Εφαρμογές και Διδακτική της Φυσικής Ι Θεατρικές Εφαρμογές και Διδακτική της Φυσικής Ι Ενότητα 2: Παράλληλες θεωρητικές και εργαστηριακές προσεγγίσεις των τεχνικών και της δομής του κουκλοθέατρου, της κινούμενης εικόνας και ενός θέματος από

Διαβάστε περισσότερα

Διαχείριση Πολιτισμικών Δεδομένων

Διαχείριση Πολιτισμικών Δεδομένων Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων Διαχείριση Πολιτισμικών Δεδομένων Ενότητα 9: Μετατροπή μοντέλου οντοτήτων σχέσεων σε βάση δεδομένων Το περιεχόμενο του μαθήματος διατίθεται με άδεια Creative

Διαβάστε περισσότερα

Προγραμματισμός Η/Υ. 6 η ενότητα: Συναρτήσεις. Τμήμα. Τεχνολόγων Περιβάλλοντος. ΤΕΙ Ιονίων Νήσων. Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων

Προγραμματισμός Η/Υ. 6 η ενότητα: Συναρτήσεις. Τμήμα. Τεχνολόγων Περιβάλλοντος. ΤΕΙ Ιονίων Νήσων. Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων Προγραμματισμός Η/Υ 6 η ενότητα: Συναρτήσεις Τμήμα Τεχνολόγων Περιβάλλοντος ΤΕΙ Ιονίων Νήσων Το περιεχόμενο του μαθήματος διατίθεται με άδεια Creative Commons

Διαβάστε περισσότερα

Μυελού των Οστών Ενότητα #1: Ερωτήσεις κατανόησης και αυτόαξιολόγησης

Μυελού των Οστών Ενότητα #1: Ερωτήσεις κατανόησης και αυτόαξιολόγησης Δωρεά Κυττάρων Αίματος και Μυελού των Οστών Ενότητα #1: Ερωτήσεις κατανόησης και αυτόαξιολόγησης για τη Δωρεά Κυττάρων Αίματος και Μυελού των Οστών Αλέξανδρος Σπυριδωνίδης Σχολή Επιστημών Υγείας Τμήμα

Διαβάστε περισσότερα

Λογιστική Κόστους Ενότητα 8: Κοστολογική διάρθρωση Κύρια / Βοηθητικά Κέντρα Κόστους.

Λογιστική Κόστους Ενότητα 8: Κοστολογική διάρθρωση Κύρια / Βοηθητικά Κέντρα Κόστους. Λογιστική Κόστους Ενότητα 8: Κοστολογική διάρθρωση Κύρια / Βοηθητικά Κέντρα Κόστους. Μαυρίδης Δημήτριος Τμήμα Λογιστικής και Χρηματοοικονομικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες

Διαβάστε περισσότερα

Εισαγωγή στην Πληροφορική

Εισαγωγή στην Πληροφορική Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων Εισαγωγή στην Πληροφορική Ενότητα 7: Τεχνολογία Λογισμικού Το περιεχόμενο του μαθήματος διατίθεται με άδεια Creative Commons εκτός και αν αναφέρεται διαφορετικά

Διαβάστε περισσότερα

ΠΛΗΡΟΦΟΡΙΚΗ Ι Ενότητα 1: Εισαγωγή

ΠΛΗΡΟΦΟΡΙΚΗ Ι Ενότητα 1: Εισαγωγή ΠΛΗΡΟΦΟΡΙΚΗ Ι Ενότητα 1: Εισαγωγή Μιχάλης Δρακόπουλος Σχολή Θετικών επιστημών Τμήμα Μαθηματικών ΠΛΗΡΟΦΟΡΙΚΗ Ι (MATLAB) Ενότητα 1 Σημειώσεις βασισμένες στο βιβλίο Το MATLAB στην Υπολογιστική Επιστήμη και

Διαβάστε περισσότερα

Μαθηματικά Διοικητικών & Οικονομικών Επιστημών

Μαθηματικά Διοικητικών & Οικονομικών Επιστημών Μαθηματικά Διοικητικών & Οικονομικών Επιστημών Ενότητα 11: Διανύσματα (Φροντιστήριο) Μπεληγιάννης Γρηγόριος Σχολή Οργάνωσης και Διοίκησης Επιχειρήσεων Τμήμα Διοίκησης Επιχειρήσεων Αγροτικών Προϊόντων &

Διαβάστε περισσότερα

Διδακτική των εικαστικών τεχνών Ενότητα 2

Διδακτική των εικαστικών τεχνών Ενότητα 2 Διδακτική των εικαστικών τεχνών Ενότητα 2 Ουρανία Κούβου Εθνικὸ καi Καποδιστριακὸ Πανεπιστήμιο Αθηνών Τμήμα Εκπαίδευσης και Αγωγής στην Προσχολική Ηλικία Ενότητα 2. Το παιδικό σχέδιο ως γνωστική διεργασία:

Διαβάστε περισσότερα

Αρχές Προγραμματισμού

Αρχές Προγραμματισμού Αρχές Προγραμματισμού Ενότητα: Εργαστηριακή Άσκηση 2 Παλιουράς Βασίλης, Δερματάς Ευάγγελος Τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών 1. Σκοποί ενότητας----------------------------------------------------------------------------------------------------------

Διαβάστε περισσότερα

Προγραμματισμός H/Y Ενότητα 5: Συναρτήσεις. Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

Προγραμματισμός H/Y Ενότητα 5: Συναρτήσεις. Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά) Προγραμματισμός H/Y Ενότητα 5: Συναρτήσεις Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά) Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons.

Διαβάστε περισσότερα

Μηχανολογικό Σχέδιο Ι

Μηχανολογικό Σχέδιο Ι ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΧΤΑ ΑΚΑΔΗΜΑΙΚΑ ΜΑΘΗΜΑΤΑ Ενότητα # 8: Άτρακτοι και σφήνες Μ. Γρηγοριάδου Μηχανολόγων Μηχανικών Α.Π.Θ. Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες

Διαβάστε περισσότερα

Έλεγχος Ποιότητας Φαρμάκων

Έλεγχος Ποιότητας Φαρμάκων Έλεγχος Ποιότητας Φαρμάκων Ενότητα 6: Κουππάρης Μιχαήλ Τμήμα Χημείας Εργαστήριο Αναλυτικής Χημείας Συσκευές Αποσάθρωση Δισκίων (ενός καλαθιού (δεξιά) και δύο καλαθιών (αριστερά) 2 Συσκευή Αποσάθρωσης 4

Διαβάστε περισσότερα

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Εισαγωγή στην Διοίκηση Επιχειρήσεων Εισαγωγή στην Διοίκηση Επιχειρήσεων Ενότητα 7: ΑΣΚΗΣΕΙΣ ΜΕΓΕΘΟΥΣ ΕΠΙΧΕΙΡΗΣΗΣ Μαυρίδης Δημήτριος Τμήμα Λογιστικής και Χρηματοοικονομικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης

Διαβάστε περισσότερα

Ενδεικτικές λύσεις ασκήσεων διαχείρισης έργου υπό συνθήκες αβεβαιότητας

Ενδεικτικές λύσεις ασκήσεων διαχείρισης έργου υπό συνθήκες αβεβαιότητας Ενδεικτικές λύσεις ασκήσεων διαχείρισης έργου υπό συνθήκες αβεβαιότητας 1 Περιεχόμενα 1 η Άσκηση... 4 2 η Άσκηση... 7 3 η Άσκηση... 10 Χρηματοδότηση... 12 Σημείωμα Αναφοράς... 13 Σημείωμα Αδειοδότησης...

Διαβάστε περισσότερα

Το Εικονογραφημένο Βιβλίο στην Προσχολική Εκπαίδευση

Το Εικονογραφημένο Βιβλίο στην Προσχολική Εκπαίδευση Το Εικονογραφημένο Βιβλίο στην Προσχολική Εκπαίδευση Ενότητα 1.1: Αγγελική Γιαννικοπούλου Τμήμα Εκπαίδευσης και Αγωγής στην Προσχολική Ηλικία (ΤΕΑΠΗ) Διδακτική Πρακτική Διδακτική πρακτική: Βασιλική Λεβέντη.

Διαβάστε περισσότερα

Υπολογιστική άλγεβρα Ενότητα 10: Βάσεις Groebner ενός ιδεώδους ΙΙΙ

Υπολογιστική άλγεβρα Ενότητα 10: Βάσεις Groebner ενός ιδεώδους ΙΙΙ Υπολογιστική άλγεβρα Ενότητα 10: Βάσεις Groebner ενός ιδεώδους ΙΙΙ Ράπτης Ευάγγελος Σχολή Θετικών επιστημών Τμήμα Μαθηματικών Κεφάλαιο 10 Βάσεις Groebner ενός ιδεώδους 10.1 Τρίτο μέρος Επαναλαμβάνουμε

Διαβάστε περισσότερα

ΠΛΗΡΟΦΟΡΙΚΗ Ι Ενότητα 2: Έλεγχος συνθηκών

ΠΛΗΡΟΦΟΡΙΚΗ Ι Ενότητα 2: Έλεγχος συνθηκών ΠΛΗΡΟΦΟΡΙΚΗ Ι Ενότητα 2: Έλεγχος συνθηκών Μιχάλης Δρακόπουλος Σχολή Θετικών επιστημών Τμήμα Μαθηματικών ΠΛΗΡΟΦΟΡΙΚΗ Ι (MATLAB) Ενότητα 2 Σημειώσεις βασισμένες στο βιβλίο Το MATLAB στην Υπολογιστική Επιστήμη

Διαβάστε περισσότερα

Δομημένος Προγραμματισμός

Δομημένος Προγραμματισμός Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων Δομημένος Προγραμματισμός Ενότητα 9: Μνήμη Το περιεχόμενο του μαθήματος διατίθεται με άδεια Creative Commons εκτός και αν αναφέρεται διαφορετικά Το έργο

Διαβάστε περισσότερα

Λογικός Προγραμματισμός Ασκήσεις

Λογικός Προγραμματισμός Ασκήσεις Λογικός Προγραμματισμός Ασκήσεις Παναγιώτης Σταματόπουλος Τμήμα Πληροφορικής και Τηλεπικοινωνιών Περιεχόμενα 1. Α Ομάδα Ασκήσεων "Λογικού Προγραμματισμού" Ακαδημαϊκού Έτους 2007-08... 3 1.1 Άσκηση... 3

Διαβάστε περισσότερα

Πληροφορική ΙΙ Ενότητα 1

Πληροφορική ΙΙ Ενότητα 1 Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων Πληροφορική ΙΙ Ενότητα 1: Εισαγωγή Θεματική Ενότητα: Εισαγωγή στον Προγραμματισμό Το περιεχόμενο του μαθήματος διατίθεται με άδεια Creative Commons εκτός

Διαβάστε περισσότερα

Ηλεκτρονική. Ενότητα 9: Τρανζίστορ Επίδρασης Πεδίου (FET) Αγγελική Αραπογιάννη Τμήμα Πληροφορικής και Τηλεπικοινωνιών

Ηλεκτρονική. Ενότητα 9: Τρανζίστορ Επίδρασης Πεδίου (FET) Αγγελική Αραπογιάννη Τμήμα Πληροφορικής και Τηλεπικοινωνιών Ηλεκτρονική Αγγελική Αραπογιάννη Τμήμα Πληροφορικής και Τηλεπικοινωνιών Περιεχόμενο ενότητας (1 από 2) Τύποι τρανζίστορ επίδρασης πεδίου (JFET, MOSFET, MESFET). Ομοιότητες και διαφορές των FET με τα διπολικά

Διαβάστε περισσότερα

ΠΛΗΡΟΦΟΡΙΚΗ ΙI Ενότητα 12: Ροές και είσοδος/έξοδος αρχείων

ΠΛΗΡΟΦΟΡΙΚΗ ΙI Ενότητα 12: Ροές και είσοδος/έξοδος αρχείων ΠΛΗΡΟΦΟΡΙΚΗ ΙI Ενότητα 12: Ροές και είσοδος/έξοδος αρχείων Μιχάλης Δρακόπουλος Σχολή Θετικών επιστημών Τμήμα Μαθηματικών ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (Java) Ενότητα 12 Ροές και είσοδος/έξοδος αρχείων Τα δεδομένα εισόδου

Διαβάστε περισσότερα

Εφαρμογές των Τεχνολογιών της Πληροφορίας και των Επικοινωνιών στη διδασκαλία και τη μάθηση

Εφαρμογές των Τεχνολογιών της Πληροφορίας και των Επικοινωνιών στη διδασκαλία και τη μάθηση Εφαρμογές των Τεχνολογιών της Πληροφορίας και των Επικοινωνιών στη διδασκαλία και τη μάθηση Ενότητα: Εργασίες Διδάσκων: Βασίλης Κόμης, Καθηγητής komis@upatras.gr www.ecedu.upatras.gr/komis/ Τμήμα Επιστημών

Διαβάστε περισσότερα

Γενική Φυσική Ενότητα: Δυναμική Άκαμπτου Σώματος

Γενική Φυσική Ενότητα: Δυναμική Άκαμπτου Σώματος Γενική Φυσική Ενότητα: Δυναμική Άκαμπτου Σώματος Όνομα Καθηγητή: Γεώργιος Βούλγαρης Τμήμα: Μαθηματικό Σελίδα 2 1. Ερωτήσεις Δυναμικής Άκαμπτου Σώματος... 4 1.1 Ερώτηση 1... 4 1.2 Ερώτηση 2... 4 1.3 Ερώτηση

Διαβάστε περισσότερα

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Εισαγωγή στην Διοίκηση Επιχειρήσεων Εισαγωγή στην Διοίκηση Επιχειρήσεων Ενότητα 9: ΑΣΚΗΣΕΙΣ ΕΠΙΛΟΓΗΣ ΤΟΠΟΥ ΕΓΚΑΤΑΣΤΑΣΗΣ Μαυρίδης Δημήτριος Τμήμα Λογιστικής και Χρηματοοικονομικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες

Διαβάστε περισσότερα

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

Αντικειμενοστρεφής Προγραμματισμός Αντικειμενοστρεφής Προγραμματισμός Διδάσκουσα: Αναπλ. Καθηγήτρια Ανδριάνα Πρέντζα aprentza@unipi.gr Εργαστηριακός Συνεργάτης: Δρ. Βασιλική Κούφη vassok@unipi.gr Περιεχόμενα Java Classes Java Objects Java

Διαβάστε περισσότερα

Διεθνείς Οικονομικές Σχέσεις και Ανάπτυξη

Διεθνείς Οικονομικές Σχέσεις και Ανάπτυξη ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Διεθνείς Οικονομικές Σχέσεις και Ανάπτυξη Ενότητα 8: Η Οικονομική πολιτική της Ευρωπαϊκής Ένωσης Γρηγόριος Ζαρωτιάδης Άδειες Χρήσης Το

Διαβάστε περισσότερα

Εισαγωγή στις Επιστήμες της Αγωγής

Εισαγωγή στις Επιστήμες της Αγωγής Εισαγωγή στις Επιστήμες της Αγωγής Αλεξάνδρα Ανδρούσου - Βασίλης Τσάφος Τμήμα Εκπαίδευσης και Αγωγής στην Προσχολική Ηλικία (ΤΕΑΠΗ) Επίπεδα Κοινωνιολογίας της Εκπαίδευσης Αναλύει τη θέση και τη λειτουργία

Διαβάστε περισσότερα

Λειτουργία και εφαρμογές της πολιτιστικής διαχείρισης

Λειτουργία και εφαρμογές της πολιτιστικής διαχείρισης Λειτουργία και εφαρμογές της πολιτιστικής διαχείρισης Ενότητα 5: Δρ. Θεοκλής-Πέτρος Ζούνης Σχολή : ΟΠΕ Τμήμα : Ε.Μ.Μ.Ε. Περιεχόμενα ενότητας Τι ορίζουμε ως Μάρκετινγκ ενός Πολιτιστικού Οργανισμού; Τα 4

Διαβάστε περισσότερα