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

Σχετικά έγγραφα
Κλάσεις. Κατηγορίες Αντικειµένων. Κλάσεις. Φυσικά Αντικείµενα. Χώρος = Οµάδα Φυσικών Αντικειµένων. Πρόγραµµα = Οµάδα

Κληρονομικότητα. Παύλος Εφραιμίδης pefraimi <at> ee.duth.gr. Java Κληρονομικότητα 1

Κληρονομικότητα. Κληρονομικότητα (inheritance) είναι ο τρόπος µε τον οποίο μία τάξη μπορεί να κληρονομήσει ιδιότητες και συμπεριφορά από άλλες τάξεις.

Κλάσεις και Αντικείµενα

Εισαγωγή στον Αντικειμενοστρέφή Προγραμματισμό Διάλεξη #12

Βασικά της γλώσσας JAVA

Παύλος Εφραιµίδης. Java. Κληρονοµικότητα

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

Το πρόγραμμα HelloWorld.java. HelloWorld. Κλάσεις και Αντικείμενα (2) Ορισμός μιας Κλάσης (1) Παύλος Εφραιμίδης pefraimi <at> ee.duth.

class object Database Database Item Item [sub-typing and polymorphism] MusicCD Video MusicCD Video

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Πίνακες Κλάσεις και Αντικείμενα

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

ΑΠΛΗ ΚΛΗΡΟΝΟΜΙΚΟΤΗΤΑ

Καλές επιτυχίες παιδιά στα υπόλοιπα μαθήματά σας και καλές γιορτές!!!!

Κλάσεις στη Java. Παύλος Εφραιμίδης. Java Κλάσεις στη Java 1

Εαρινό. Ύλη εργαστηρίου, Ασκήσεις Java

Κλάσεις στη Java. Στοίβα - Stack. Δήλωση της κλάσης. ΗκλάσηVector της Java. Ηκλάση Stack

HelloWorld. Παύλος Εφραιμίδης. Java Το πρόγραμμα HelloWorld 1

public void printstatement() { System.out.println("Employee: " + name + " with salary: " + salary);

ΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Αλγοριθμική και Προγραμματισμός. Περισσότερα για τις Κλάσεις, τα Αντικείμενα και τις Μεθόδους

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

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

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

Αντικειμενοστραφής Προγραμματισμός I (5 ο εξ) Εργαστήριο #2 ο : Ανατομία προγραμμάτων εφαρμογών, η

Εισαγωγή σε αντικειμενοστραφή concepts. Και λίγη C#

2.1 Αντικειµενοστρεφής προγραµµατισµός

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

Αντικειμενοστραφής Προγραμματισμός I(5 ο εξ) Εργαστήριο #2 ο : Ανατομία προγραμμάτων εφαρμογών, η

Σύνθεση και Κληρονομικότητα

Προγραμματισμός Ι. Κλάσεις και Αντικείμενα. Δημήτρης Μιχαήλ. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

Μονοδιάστατοι πίνακες Πολυδιάστατοι πίνακες Μέθοδοι Μέθοδοι Recursive Overloading

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αναφορές Στοίβα και Σωρός Μνήμης Αντικείμενα ως ορίσματα

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

Διαγράμματα UML στην Ανάλυση. Μέρος Β Διαγράμματα Κλάσεων Διαγράμματα Αντικειμένων

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java III

Mεταβλητές (variables) και Σταθερές (constants)

Κατασκευαστές. Μέθοδοι Κατασκευής (Constructors).

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

Από τη UML στον Κώδικα. Μέρος Α

(Διαφάνειες Νίκου Βιδάκη)

Εισαγωγή στον Προγ/μό Η/Υ

Κλάσεις. Τροποποιητές, ιασυνδέσεις, Πακέτα. Τροποποιητές ελέγχου προσπέλασης µεταβλητών και µεθόδων

Διαγράμματα Κλάσεων στη Σχεδίαση

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Πίνακες Κλάσεις και Αντικείμενα

Διδάσκων: Παναγιώτης Ανδρέου

Εργαστήριο Java. Διδάσκουσα: Εργαστηριακοί Συνεργάτες:

Ειδικά Θέματα Προγραμματισμού

3 Αλληλεπίδραση Αντικειμένων

ΠΟΛΥΜΟΡΦΙΣΜΟΣ. 4.1 Κληρονομικότητα και Αρχή της Υποκατάστασης

Εργαστήριο Java. Διδάσκουσα: Εργαστηριακοί Συνεργάτες:

Ειδικά Θέματα Προγραμματισμού

9:00-10:00 π.μ. (60 λεπτά) Παρασκευή, 14 Οκτωβρίου, 2016

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΕΙΣ ΓΛΩΣΣΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Ιανουάριος 2007 Οι απαντήσεις να είναι καθαρογραμμένες με ευδιάκριτους όλους του χαρακτήρες.

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Αναφορές

Σύνθεση και Κληρονομικότητα

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 6/12/07

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

Ορισµός Νήµα (thread) είναι µια ακολουθιακή ροή ελέγχου (δηλ. κάτι που έχει αρχή, ακολουθία εντολών και τέλος) σ ένα


Διάλεξη 16-17: Πολυμορφισμός (Polymorphism) Διδάσκων: Παναγιώτης Ανδρέου

2 Ορισμός Κλάσεων. Παράδειγμα: Μηχανή για Εισιτήρια. Δομή μιας Κλάσης. Ο Σκελετός της Κλάσης για τη Μηχανή. Ορισμός Πεδίων 4/3/2008

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αναφορές Στοίβα και Σωρός Αναφορές-Παράμετροι

Αρχές Τεχνολογίας Λογισμικού Εργαστήριο

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αντικείμενα με πίνακες. Constructors. Υλοποίηση Στοίβας

Αντικειμενοστραφής Προγραμματισμός I(5 ο εξ) Εργαστήριο #4 ο : Αποσφαλμάτωση (debugging), μετατροπές

ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 11/3/2008

Η λέξη κλειδί this. Γαβαλάς Δαμιανός

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αναφορές Αντικείμενα ως ορίσματα

Διασυνδέσεις / Διεπαφές. Παναγιώτης Σφέτσος, PhD

Γενικά (για τις γραπτές εξετάσεις)

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Δημιουργώντας δικές μας Κλάσεις και Αντικείμενα

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

Αντικειμενοστρεφής Προγραμματισμός Διάλεξη 2 : ΜΕΤΑΒΛΗΤΕΣ ΤΕΛΕΣΤΕΣ & ΕΚΦΡΑΣΕΙΣ ΕΛΕΓΧΟΣ ΡΟΗΣ

Προγραμματισμός Διαδικτύου

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αντικείμενα με πίνακες. Constructors. Υλοποίηση Στοίβας

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αναφορές Στοίβα και Σωρός μνήμης Αντικείμενα παράμετροι String Interning

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αναφορές Έλεγχος ισότητας String Interning Αποαναφοροποίηση - dereferencing

Αντικειμενοστραφής Προγραμματισμός I (5 ο εξ) Εργαστήριο #4 ο : Αποσφαλμάτωση (debugging), μετατροπές

Αντικειμενοστρέφεια. Henri Matisse, Harmony in Red, Κωστής Σαγώνας Νίκος Παπασπύρου

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Constructors, equals, tostring

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java II

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κληρονομικότητα

ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 18/3/2008

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αντικείμενα ως ορίσματα

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Constructors

Πακέτα (Packages) Φωλιασμένες ή Εσωτερικές Κλάσεις (Inner Classes) Παναγιώτης Σφέτσος, PhD

ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 26/2/2008

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κληρονομικότητα

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Copy Constructor Deep and Shallow Copies

Αντικείµενα. ηµιουργία και χρησιµοποίηση αντικειµένων. ηµιουργία αντικειµένων

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αντικείμενα ως ορίσματα Εισαγωγή στις αναφορές

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αναφορές Μέθοδοι που επιστρέφουν αντικείμενα Deep and Shallow Copies

Εισαγωγή στον Προγραµµατισµό - Εβδοµάδα 7

Ανάλυση άσκησης. Employee. SalariedEmployee CommissionEmployee HourlyEmployee. BasePlusCommissionEmployee

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Μέθοδοι

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java III

Εισαγωγή στον Αντικειμενοστρέφή Προγραμματισμό Διάλεξη #13

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αναφορές Στοίβα και Σωρός Αναφορές-Παράμετροι String Interning

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Στατικές μέθοδοι και μεταβλητές Εσωτερικές κλάσεις

Transcript:

Κλάσεις Αντικειµενοστραφής Προγραµµατισµός Κλάσεις Αντικείµενα Ιεραρχία κλάσεων Κλάσεις. Ιδιότητες Συµπεριφορά Ιδιότητες (Μεταβλητές) Συµπεριφορά (Μέθοδοι) Κληρονοµικότητα Μέθοδοι επικάλυψης Η χρήση του this και του super

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

Κλάσεις Αντικείµενα Στον αντικειμενοστραφή προγραμματισμό δημιουργούμε τις κλάσεις. Οι κλάσεις χρησιμοποιούνται ως πρότυπα για την δημιουργία των αντικειμένων. Ιδιότητες : Περιγράφουν το αντικείμενο και δείχνουν σε τι διαφέρει σε σχέση με τα άλλα αντικείμενα. Συμπεριφορά : Είναι τα όσα κάνει ένα αντικείμενο.

Ιεραρχία κλάσεων Οι κλάσεις οργανώνονται σε ιεραρχίες κλάσεων µε μορφή πυραμίδας. Με αυτόν τον τρόπο επιτυγχάνεται η κληρονομικότητα (inheritance) στον αντικειμενοστραφή προγραμματισμό.

Κλάσεις Αντικείµενα Γενικό διάγραµµα κλάσης: public class ΟνοµαΚλασης { int a=10; double b; public String name= Panos ; private double x, y; public method_1( ) {.... public method_n( ) {.. Μεταβλητές (Ιδιότητες) Μέθοδοι (Συμπεριφορά)

Κλάσεις Αντικείµενα Παράδειγµα δηµιουργίας αντικειµένου µε το new: ΟνοµαΚλασης ονοµααντικειµένου = new ΟνοµαΚλασης(); Η πρόσβαση των κλάσεων καθορίζεται από τα παρακάτω: public: Είναι προσβάσιµη από κάθε άλλη κλάση. final: εν µπορούν να ορισθούν υποκλάσεις της.

Ιδιότητες (Μεταβλητές) Οι ιδιότητες ενός αντικειμένου αντιπροσωπεύουν τις μεταβλητές που χρειάζονται για να λειτουργήσει ένα αντικείμενο. Πρόσβαση μεταβλητών: public protected private final static Έλλειψη δήλωσης Είναι προσβάσιμη από κάθε άλλη κλάση. Είναι προσβάσιμη µόνο μέσα από τη δική της κλάση και από τις υποκλάσεις της. Είναι προσβάσιμη µόνο μέσα από τη δική της κλάση Είναι σταθερά η οποία αρχικοποιείται µόνο αρχικά και δεν αλλάζει τιμή. Κοινή μεταβλητή για όλα τα αντικείμενα της κλάσης (Μεταβλητή κλάσης). Χρησιμοποίηση µόνο μέσα από τη δική της κλάση και από κλάσεις στο ίδιο πακέτο.

Ιδιότητες (Μεταβλητές) Τρόπος πρόσβασης μεταβλητής ενός αντικειμένου. public class TestClass{ public int a=10; public String b = test! ; TestClass x = new TestClass(); x.a x.b Ο ακέραιος 10 Η συµβολοσειρά test

Συµπεριφορά (Μέθοδοι) Η συμπεριφορά περιγράφει τα διάφορα τμήματα μιας κλάσης που εκτελούν συγκεκριμένες εργασίες. Καθένα από αυτά τα τμήματα ονομάζεται μέθοδος. Πρόσβαση μεθόδων public protected private final static native Είναι προσβάσιμη από κάθε άλλη κλάση. Είναι προσβάσιμη µόνο μέσα από τη δική της κλάση και από τις υποκλάσεις της. Είναι προσβάσιμη µόνο μέσα από τη δική της κλάση Δεν μπορεί να επικαλυφθεί (override) από κάποια υποκλάση. Είναι κοινή σε όλες τις θυγατρικές. Το σώμα της εκτελείται σε άλλη γλώσσα προγραμματισμού.

Συμπεριφορά (Μέθοδοι) Τρόπος πρόσβασης μιας μεθόδου ενός αντικειμένου. public class TestClass{ public void printname(string name){ System.out.println(name); Απλή Κλάση TestClass x = new TestClass(); x.printname("panos"); Εκτύπωση του Panos µέσω της μεθόδου printname() του αντικειμένου x.

ηµιουργία τυπικής κλάσης public class ΌνομαΚλάσης {

Συμπεριφορά (Μέθοδοι) Μέθοδοι πρόσβασης (Accesors). Είναι απλές μέθοδοι τύπου public οι οποίες επιστρέφουν ή αλλάζουν τις τιμές των private μεταβλητών ενός αντικειμένου. Οι μέθοδοι πρόσβασης μπορούν να παραληφθούν όταν οι μεταβλητές είναι public. Καλό όμως είναι να αποφεύγουμε τις public μεταβλητές και να χρησιμοποιούμε μεθόδους πρόσβασης. Μέθοδοι ελέγχου ισότητας αντικειμένων (equals). Αποτελούν βασικές μεθόδους οι οποίες ελέγχουν εάν δύο αντικείμενα μιας κλάσης είναι ίσα μεταξύ τους. Κατά την ανάπτυξή τους πρέπει να λαμβάνονται υπ όψη όλες οι ιδιότητες και συμπεριφορές των αντικειμένων.

Συμπεριφορά (Μέθοδοι) Μέθοδος εκτύπωσης αντικειμένου (tostring()). Υπάρχει µια ειδική μέθοδος στη Java για την εκτύπωση ενός αντικειμένου public String tostring() {. Με αυτόν τον τρόπο είναι δυνατή η εκτύπωση ενός αντικειμένου µέσω της μεθόδου println().