Διδάσκων: Παναγιώτης Ανδρέου
|
|
- Εύφημη Κούνδουρος
- 8 χρόνια πριν
- Προβολές:
Transcript
1 Διάλεξη 12: Κληρονομικότητα (Inheritance) Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Κληρονομικότητα και Επαναχρησιμοποίηση - Υποκλάσεις/Υπερκλάσεις - Απόκρυψη ονομάτων - Το super, protected - Απενεργοποίηση κλάσεων Διδάσκων: Παναγιώτης Ανδρέου ΕΠΛ233 Αντικειμενοστρεφής Προγραμματισμός 1
2 Κληρονομικότητα Δύο βασικές έννοιες: Ένα είδος σχέσης Ένας προγραμματιστικός μηχανισμός για επαναχρησιμοποίηση ΕΠΛ233 Αντικειμενοστρεφής Προγραμματισμός 2
3 Επαναχρησιμοποίηση λειτουργιών (Reusability) Συνάθροιση (aggregation): σε μια κλάση εντάσσουμε ως στοιχεία χειριστήρια άλλων κλάσεων. Τα στοιχεία αυτά είναι ανεξάρτητα Σύνθεση (composition): σε μια κλάση εντάσσουμε ως στοιχεία χειριστήρια άλλων κλάσεων.τα στοιχεία αυτά παύουν να υπάρχουν όταν χαθεί το κυρίως αντικείμενο Κληρονομικότητα (inheritance):επεκτείνουμε υπάρχουσες κλάσεις, είτε προσθέτοντάς τους καινούρια στοιχεία, είτε αλλάζοντας την λειτουργικότητα μεθόδων τους Πραγματοποίηση (realization):η λειτουργικότητα που καθορίζεται από μία κλάση πρέπει να υλοποιηθεί από κάποια άλλη ΕΠΛ233 Αντικειμενοστρεφής Προγραμματισμός 3
4 Προγραμματιστικός Μηχανισμός Κληρονομικότητας Μία κλάση μπορεί να κληρονομήσει όλα τα επιτρεπτά στοιχεία (πεδία και μεθόδους) από τον πατέρα της από τον πατέρα του πατέρα της, κτλ. Μία υποκλάση μπορεί να προσθέσει καινούρια πεδία Μία υποκλάση μπορεί να προσθέσει καινούριες μεθόδους Μία υποκλάση μπορεί να επεκτείνει υφιστάμενες μεθόδους (overloading) Μία υποκλάση μπορεί να επανακαθορίσει υφιστάμενες μεθόδους (overriding) ΕΠΛ233 Αντικειμενοστρεφής Προγραμματισμός 4
5 Βασικές Αρχές Κληρονομικότητας Κάθε κλάση, εκτός από την Object, κληρονομεί από ακριβώς μία κλάση(αντίθετα με την C++που επιτρέπει πολλαπλή κληρονομικότητα) Αν μία κλάση δεν δηλώσει κάποια υπερκλάση (κλάση πατέρας) τότε εξορισμού κληρονομεί από την Object Συνεπώς το class C { σημαίνει class C extends Object { Σύνταξη: class <όνομα κλάσης> extends <όνομα υπερκλάσης> { Κάθε υποκλάση κληρονομεί τα πάντα εκτός από τους constructors Αν μία κλάση δεν δηλώσει κάποια υπερκλάση (κλάση πατέρας) τότε εξορισμού κληρονομεί από την Object ΕΠΛ233 Αντικειμενοστρεφής Προγραμματισμός 5
6 Βασικές Αρχές Κληρονομικότητας(συν.) Επειδή η κλάση Objectβρίσκεται στην κορυφή της ιεραρχίας, είναι η μόνη κλάση που δεν έχει υπερκλάση Κάθε άλλη κλάση έχει σαν πρόγονο την Object Τα πεδία και μεθόδοι της object (π.χ., μέθοδος tostring()) κληρονομούνται από όλους τους απογόνους της Object ΕΠΛ233 Αντικειμενοστρεφής Προγραμματισμός 6
7 Υποκλάσεις και Υπερκλάσεις Generalize Υπερκλάση Circle Circle Data Circle Methods Υποκλάση Cylinder Circle Data Cylinder Data Circle Methods Cylinder Methods Specialize ΕΠΛ233 Αντικειμενοστρεφής Προγραμματισμός 7
8 Υποκλάσεις και Υπερκλάσεις(συν.) ΕΠΛ233 Αντικειμενοστρεφής Προγραμματισμός 8
9 Υποκλάσεις και Υπερκλάσεις(συν.) class Circle { // Η ακτίνα αυτού του κύκλου private double radius; // Δημιούργησε ένα κύκλο public Circle () {radius = 1.0; // Δημιούργησε ένα κύκλο // συγκεκριμένη ακτίνα public Circle(double newradius) { radius = newradius; // Επέστρεψε την ακτίνα public double getradius() { return radius; // Επέστρεψε το εμβαδό public double getarea() { return radius * radius * π; class Cylinder extends Circle { // Το μήκος αυτού του κύλινδρου private double length; // Δημιούργησε ένα κύλινδρο public Cylinder() { super(); this.length= 1.0; // Δημιούργησε ένα κύλινδρο με // συγκεκριμένο μήκος public Cylinder(int length) { this.length= length; // Επέστρεψε το μήκος public double getlength() { return length; // Επέστρεψε τον όγκο // αυτού του κύλινδρου public double getvolume () { return getarea() * length; ΕΠΛ233 Αντικειμενοστρεφής Προγραμματισμός 9
10 Επέκταση λειτουργιών Circle - radius: double + Circle() + Circle(double radius) + getradius(): double + getarea(): double Cylinder - length: double + Cylinder() + Cilinder(double length) + getlength(): double + getvolume(): double + getradius(): double + getarea(): double Η υποκλάση κληρονομεί όλες τις μεθόδους (που επιτρέπει) η υπερκλάση και επεκτείνει με περισσότερες λειτουργίες Δηλαδή, τροποποιεί την λειτουργικότητα Πρακτικά, ένα αντικείμενο της υπερκλάσης περιτυλίγεται (wrapped) μέσα στην υποκλάση Το αντικείμενο της υπερκλάσης δημιουργείται, άμεσα ή έμμεσα ΕΠΛ233 Αντικειμενοστρεφής Προγραμματισμός 10
11 Χειριστήριο Υπερκλάσης (super) Η λέξη κλειδί super αναφέρεται στην υπερκλάση Μπορεί να χρησιμοποιηθεί με δύο τρόπους: Για το κάλεσμα του constructor της υπερκλάσης Για το κάλεσμα μία μεθόδου της υπερκλάσης Στην περίπτωση που καλείται ο constructor της κλάσης τότε πρέπει να είναι η πρώτη δήλωση στον κώδικα. Σημείωση:Η λέξη κλειδίthisαναφέρεται στην υποκλάση και είναι ένα χειριστήριο προς το ίδιο το αντικείμενο. ΕΠΛ233 Αντικειμενοστρεφής Προγραμματισμός 11
12 Κατασκευαστής Υπερκλάσης Οι κατασκευαστές της υπερκλάσης δεν κληρονομούνται Επικαλούνται άμεσα (explicitly) και έμμεσα(implicitly) Στην περίπτωση που δεν καλούνται άμεσα τότε καλείται έμμεσα ο no-arg constructor της υπερκλάσης ΕΠΛ233 Αντικειμενοστρεφής Προγραμματισμός 12
13 Αλυσίδωση Κατασκευαστών (Constructor Chaining) Η κατασκευή ενός στιγμιότυπου μίας υποκλάσης καλεί τους κατασκευαστές όλων των υπερκλάσεων που βρίσκονται στον μονοπάτι μέχρι τον πιο μακρύ πρόγονο JVM Class A extends Class B Class B extends Class C Class C extends Class D 1. Create() 2. Create() 3. Create() 6. Success() 5. Success() 4. Success() ΕΠΛ233 Αντικειμενοστρεφής Προγραμματισμός 13
14 Παράδειγμα: Αλυσίδωση Κατασκευαστών public class Faculty extends Employee { public static void main(string[] args) { new Faculty(); 1. Start public Faculty() { System.out.println("(4) Faculty's no-arg constructor is invoked"); class Employee extends Person { public Employee() { this("(2) Invoke Employee s overloaded constructor"); System.out.println("(3) Employee's no-arg constructor is invoked"); public Employee(String s) { System.out.println(s); class Person { public Person() { System.out.println("(1) Person's no-arg constructor is invoked"); ΕΠΛ233 Αντικειμενοστρεφής Προγραμματισμός 14
15 Παράδειγμα: Αλυσίδωση Κατασκευαστών public class Faculty extends Employee { public static void main(string[] args) { new Faculty(); 2. Invoke Faculty constructor public Faculty() { System.out.println("(4) Faculty's no-arg constructor is invoked"); class Employee extends Person { public Employee() { this("(2) Invoke Employee s overloaded constructor"); System.out.println("(3) Employee's no-arg constructor is invoked"); public Employee(String s) { System.out.println(s); class Person { public Person() { System.out.println("(1) Person's no-arg constructor is invoked"); ΕΠΛ233 Αντικειμενοστρεφής Προγραμματισμός 15
16 Παράδειγμα: Αλυσίδωση Κατασκευαστών public class Faculty extends Employee { public static void main(string[] args) { new Faculty(); public Faculty() { System.out.println("(4) Faculty's no-arg constructor is invoked"); class Employee extends Person { public Employee() { this("(2) Invoke Employee s overloaded constructor"); System.out.println("(3) Employee's no-arg constructor is invoked"); 3. Invoke Employee no-arg constructor public Employee(String s) { System.out.println(s); class Person { public Person() { System.out.println("(1) Person's no-arg constructor is invoked"); ΕΠΛ233 Αντικειμενοστρεφής Προγραμματισμός 16
17 Παράδειγμα: Αλυσίδωση Κατασκευαστών public class Faculty extends Employee { public static void main(string[] args) { new Faculty(); public Faculty() { System.out.println("(4) Faculty's no-arg constructor is invoked"); class Employee extends Person { public Employee() { this("(2) Invoke Employee s overloaded constructor"); System.out.println("(3) Employee's no-arg constructor is invoked"); 4. Invoke Employee (String) constructor public Employee(String s) { System.out.println(s); class Person { public Person() { System.out.println("(1) Person's no-arg constructor is invoked"); ΕΠΛ233 Αντικειμενοστρεφής Προγραμματισμός 17
18 Παράδειγμα: Αλυσίδωση Κατασκευαστών public class Faculty extends Employee { public static void main(string[] args) { new Faculty(); public Faculty() { System.out.println("(4) Faculty's no-arg constructor is invoked"); class Employee extends Person { public Employee() { this("(2) Invoke Employee s overloaded constructor"); System.out.println("(3) Employee's no-arg constructor is invoked"); public Employee(String s) { System.out.println(s); class Person { public Person() { System.out.println("(1) Person's no-arg constructor is invoked"); 5. Invoke Person() constructor ΕΠΛ233 Αντικειμενοστρεφής Προγραμματισμός 18
19 Παράδειγμα: Αλυσίδωση Κατασκευαστών public class Faculty extends Employee { public static void main(string[] args) { new Faculty(); public Faculty() { System.out.println("(4) Faculty's no-arg constructor is invoked"); class Employee extends Person { public Employee() { this("(2) Invoke Employee s overloaded constructor"); System.out.println("(3) Employee's no-arg constructor is invoked"); public Employee(String s) { System.out.println(s); class Person { public Person() { System.out.println("(1) Person's no-arg constructor is invoked"); 6. Execute println ΕΠΛ233 Αντικειμενοστρεφής Προγραμματισμός 19
20 Παράδειγμα: Αλυσίδωση Κατασκευαστών public class Faculty extends Employee { public static void main(string[] args) { new Faculty(); public Faculty() { System.out.println("(4) Faculty's no-arg constructor is invoked"); class Employee extends Person { public Employee() { this("(2) Invoke Employee s overloaded constructor"); System.out.println("(3) Employee's no-arg constructor is invoked"); public Employee(String s) { System.out.println(s); 7. Execute println class Person { public Person() { System.out.println("(1) Person's no-arg constructor is invoked"); ΕΠΛ233 Αντικειμενοστρεφής Προγραμματισμός 20
21 Παράδειγμα: Αλυσίδωση Κατασκευαστών public class Faculty extends Employee { public static void main(string[] args) { new Faculty(); public Faculty() { System.out.println("(4) Faculty's no-arg constructor is invoked"); class Employee extends Person { public Employee() { this("(2) Invoke Employee s overloaded constructor"); System.out.println("(3) Employee's no-arg constructor is invoked"); public Employee(String s) { System.out.println(s); class Person { public Person() { System.out.println("(1) Person's no-arg constructor is invoked"); 8. Execute println ΕΠΛ233 Αντικειμενοστρεφής Προγραμματισμός 21
22 Παράδειγμα: Αλυσίδωση Κατασκευαστών public class Faculty extends Employee { public static void main(string[] args) { new Faculty(); public Faculty() { System.out.println("(4) Faculty's no-arg constructor is invoked"); 9. Execute println class Employee extends Person { public Employee() { this("(2) Invoke Employee s overloaded constructor"); System.out.println("(3) Employee's no-arg constructor is invoked"); public Employee(String s) { System.out.println(s); class Person { public Person() { System.out.println("(1) Person's no-arg constructor is invoked"); ΕΠΛ233 Αντικειμενοστρεφής Προγραμματισμός 22
23 Που είναι το λάθος; public class Apple extends Fruit { class Fruit { public Fruit(String name) { System.out.println( "Fruit's constructor is invoked"); ΕΠΛ233 Αντικειμενοστρεφής Προγραμματισμός 23
24 Τι θα συμβεί; class Instrument { Instrument() { System.out.println("Instrument()"); Instrument( int i ) { System.out.println("Instrument(int i)"); public class Wind extends Instrument { Wind() { System.out.println("Wind()"); Wind( int i ) { // super(); this(); System.out.println("Wind(int i)"); public static void main(string args[]) { Wind flute = new Wind(8); ΕΠΛ233 Αντικειμενοστρεφής Προγραμματισμός 24
25 Απόκρυψη Ονομάτων (Name Hiding) Πεδία Μέσα σε μία κλάση, κάθε πεδίο πρέπει να έχει μοναδικό όνομα Μέσα από την κληρονομικότητα προκύπτουν περιπτώσεις που ένα πεδίο στην υποκλάση μπορεί να έχει το ίδιο όνομα με ένα πεδίο στην υπερκλάση Σε αυτή την περίπτωση, το πεδίο στην υποκλάση κρύβει/επισκιάζει (hides) το πεδίο στην υπερκλάση Για να έχουμε πρόσβαση στο πεδίο της υπερκλάσης πρέπει να χρησιμοποιήσουμε την λέξι κλειδί super Μεθόδοι Παρόμοια υπάρχει περίπτωση μία μέθοδος στην υποκλάση να έχει την ίδια υπογραφή με μία μέθοδο της υπερκλάσης Σε αυτή την περίπτωση, η μέθοδος της υποκλάσης υπερσκελίζει (overrides) την μέθοδο της υπερκλάσης ΕΠΛ233 Αντικειμενοστρεφής Προγραμματισμός 25
26 Παράδειγμα Υπερσκέλισης(Overriding) public class Circle extends GeometricObject { // Other methods are omitted /** Override the tostring method defined in GeometricObject */ public String tostring() { return super.tostring() + "\nradius is " + radius; ΕΠΛ233 Αντικειμενοστρεφής Προγραμματισμός 26
27 Σύνθεση και Κληρονομικότητα Σύνθεση: Η σύνθεσηχρησιμοποιείται γενικότερα όταν χρειαζόμαστε τα χαρακτηριστικά μιας υπάρχουσας κλάσης και όχι την διαπροσωπεία της. Αντιστοιχεί σε has-a σχέσεις ανάμεσα στις κλάσεις. Κληρονομικότητα : Χρησιμοποιείται όταν θέλουμε να φτιάξουμε μια ειδική περίπτωση κάποιας κλάσης. Ανμια κλάση Β κληρονομεί από μια κλάση Α, η σχέση τους συνοψίζεται ως εξής : Η νέα κλάση Β είναι ένας τύπος της υπάρχουσας κλάσης Α. Αντιστοιχεί σε is-a σχέσεις ανάμεσα στις κλάσεις. ΕΠΛ233 Αντικειμενοστρεφής Προγραμματισμός 27
28 Σύνθεση και Κληρονομικότητα public class PlaceSetting extends Custom { Spoon sp; Fork frk; Knife kn; DinnerPlate pl; PlaceSetting(int i) { super(i + 1); sp = new Spoon(i + 2); frk = new Fork(i + 3); kn = new Knife(i + 4); pl=new DinnerPlate(i + 5); public static void main (String[] args) { PlaceSetting x=new PlaceSetting(9); Ο μεταφραστής μας εξαναγκάζει να αρχικοποιήσουμε τους κληροδότες, αλλά εμείς πρέπει να φροντίσουμε για την αρχικοποίηση των αντικειμένων-στοιχείων. ΕΠΛ233 Αντικειμενοστρεφής Προγραμματισμός 28
29 Τροποποιητές Πρόσβασης: Σύγκριση Τροποποιητής Πρόσβασης Ίδια Κλάση Ίδιο Πακέτο Υποκλάση Άλλα Πακέτα public protected (default) friendly private ΕΠΛ233 Αντικειμενοστρεφής Προγραμματισμός 29
30 Τροποποιητές Πρόσβασης: Σύγκριση (συν.) ΕΠΛ233 Αντικειμενοστρεφής Προγραμματισμός 30
31 protected: Παράδειγμα 1 package bank; public class BankAccount { private double balance; protected BankAccount(){ balance = 0.0; <root>/bank package bank; public class SavingsAccount extends BankAccount{ public SavingsAccount(){ balance2 = 0.0; import bank.*; public class TestBankAccount { <root> public static void main(string args[]) { BankAccount ba1 = new BankAccount(); //compile error constructor BankAccount() does not exist SavingsAccount sa1 = new SavingsAccount(); //OK. SavingsAccount() exists ΕΠΛ233 Αντικειμενοστρεφής Προγραμματισμός 31
32 protected: Παράδειγμα 2 package bank; public class BankAccount { private double balance; protected BankAccount(){ balance = 0.0; <root>/bank package client; import bank.bankaccount; public class Client extends BankAccount { private String name; public Client(){ name = test ; <root>/client import bank.*; public class TestBankAccount { <root> public static void main(string args[]) { BankAccount ba1 = new BankAccount(); //compile error constructor BankAccount() does not exist Client c = new Client(); // OK. Client() exists AND Client has access to // BankAccount() even though it is in a different package ΕΠΛ233 Αντικειμενοστρεφής Προγραμματισμός 32
33 Απενεργοποίηση της Κληρονομικότητας Με τη χρήση του τροποποιητή final public final class Math { // NOT OK Math is final cannot be inherited public class MyMath extends Math{ ΕΠΛ233 Αντικειμενοστρεφής Προγραμματισμός 33
Διδάσκων: Παναγιώτης Ανδρέου
Διάλεξη 7: Ενθυλάκωση (encapsulation), Τροποποιητές(modifiers) Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Ενθυλάκωση -Τροποποιητές Πρόσβασης (Access Modifiers), public, protected, private,
Διαβάστε περισσότεραΔιάλεξη 16-17: Πολυμορφισμός (Polymorphism) Διδάσκων: Παναγιώτης Ανδρέου
Διάλεξη 16-17: Πολυμορφισμός (Polymorphism) Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: -Υπερφόρτωση (Overloading), Μεθόδων (Method Overloading), Τελεστών (Operator Overloading (C++, C#))
Διαβάστε περισσότεραΕΠΛ233 Επαναχρησιμοποίηση Κλάσεων
Επαναχρησιμοποίηση Κλάσεων 2 Επαναχρησιμοποίηση Κλάσεων Σύνθεση (composition): σε μια κλάση εντάσσουμε ως στοιχεία χειριστήρια άλλων κλάσεων. Κληρονοµικότητα (inheritance): επεκτείνουμε υπάρχουσες κλάσεις,
Διαβάστε περισσότεραΗ λέξη κλειδί this. Γαβαλάς Δαμιανός dgavalas@aegean.gr
Αντικειμενοστραφής Προγραμματισμός I (5 ο εξ) Διάλεξη #6 η : Η λέξη κλειδί this, υπερφόρτωση μεθόδων, κληρονομικότητα, πολυμορφισμός, υπερκάλυψη, επίπεδα προσπέλασης Γαβαλάς Δαμιανός dgavalas@aegean.gr
Διαβάστε περισσότεραΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Αλγοριθμική και Προγραμματισμός. Παναγιώτης Σφέτσος sfetsos@it.teithe.gr
ΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Αλγοριθμική και Προγραμματισμός Παναγιώτης Σφέτσος sfetsos@it.teithe.gr ΕΡΓΑΣΤΗΡΙΟ - 3 ΘΕΜΑΤΑ: Κλάσεις Αντικείμενα Δομητές/Κατασκευαστές - Μέθοδοι - Παράμετροι
Διαβάστε περισσότεραΠαύλος Εφραιµίδης. Java. Κληρονοµικότητα
κληρονοµικότητα Παύλος Εφραιµίδης 1 ιεραρχίες κλάσεων Στην (και γενικότερα στον αντικειµενοστρεφή προγραµµατισµό) µπορεί από µία κλάση να δηµιουργηθεί µια νέα κλάση απόγονος που κληρονοµεί όλα τα χαρακτηριστικά
Διαβάστε περισσότεραΔιάλεξη 5: Κλάσεις και Αντικείμενα. Διδάσκων: Παναγιώτης Ανδρέου
Διάλεξη 5: Κλάσεις και Αντικείμενα Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή στις έννοιες: - Κλάσεις και Αντικείμενα - Κατασκευή, Πρόσβαση Αντικειμένων - Διαχείριση Μνήμης, Garbage
Διαβάστε περισσότεραΑντικειµενοστραφής Προγραµµατισµός
Κλάσεις Αντικειµενοστραφής Προγραµµατισµός Κλάσεις Αντικείµενα Ιεραρχία κλάσεων Κλάσεις. Ιδιότητες Συµπεριφορά Ιδιότητες (Μεταβλητές) Συµπεριφορά (Μέθοδοι) Κληρονοµικότητα Μέθοδοι επικάλυψης Η χρήση του
Διαβάστε περισσότεραΚληρονομικότητα. Παύλος Εφραιμίδης pefraimi <at> ee.duth.gr. Java Κληρονομικότητα 1
Κληρονομικότητα Παύλος Εφραιμίδης pefraimi ee.duth.gr Java Κληρονομικότητα 1 Ιεραρχίες Κλάσεων Στην Java (και γενικότερα στον αντικειμενοστραφή προγραμματισμό) μπορεί από μία να κλάση να δημιουργηθεί
Διαβάστε περισσότεραΑντικειμενοστρεφής Προγραμματισμός
Αντικειμενοστρεφής Προγραμματισμός Διδάσκουσα: Αναπλ. Καθηγήτρια Ανδριάνα Πρέντζα aprentza@unipi.gr Εργαστηριακός Συνεργάτης: Δρ. Βασιλική Κούφη vassok@unipi.gr Περιεχόμενα Java Classes Java Objects Java
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κληρονομικότητα
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Κληρονομικότητα Παράδειγμα Στο προηγούμενο παράδειγμα οι φοιτητές και οι καθηγητές είχαν κάποια κοινά στοιχεία Και οι δύο είχαν όνομα Και οι δύο είχαν κάποιο
Διαβάστε περισσότεραΤο πρόγραμμα HelloWorld.java. HelloWorld. Κλάσεις και Αντικείμενα (2) Ορισμός μιας Κλάσης (1) Παύλος Εφραιμίδης pefraimi <at> ee.duth.
Το πρόγραμμα HelloWorld.java Σχόλια στη Java HelloWorld Παύλος Εφραιμίδης pefraimi ee.duth.gr Java Το πρόγραμμα HelloWorld 1 Java Το πρόγραμμα HelloWorld 2 Σχόλια στη Java ΗγλώσσαJava υποστηρίζει
Διαβάστε περισσότεραΠΛΗΡΟΦΟΡΙΚΗ ΙI Ενότητα 9: Κληρονομικότητα (Inheritance)
ΠΛΗΡΟΦΟΡΙΚΗ ΙI Ενότητα 9: Κληρονομικότητα (Inheritance) Μιχάλης Δρακόπουλος Σχολή Θετικών επιστημών Τμήμα Μαθηματικών ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (Java) Ενότητα 9 Κληρονομικότητα (Inheritance) Υπάρχουν κλάσεις που
Διαβάστε περισσότεραΚληρονομικότητα. Κληρονομικότητα (inheritance) είναι ο τρόπος µε τον οποίο μία τάξη μπορεί να κληρονομήσει ιδιότητες και συμπεριφορά από άλλες τάξεις.
Κληρονομικότητα (inheritance) είναι ο τρόπος µε τον οποίο μία τάξη μπορεί να κληρονομήσει ιδιότητες και συμπεριφορά από άλλες τάξεις. Μέσω της κληρονομικότητας μπορούμε να δημιουργήσουμε µια νέα τάξη (θυγατρική)
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κληρονομικότητα
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Κληρονομικότητα Παράδειγμα Στο προηγούμενο παράδειγμα οι φοιτητές και οι καθηγητές είχαν κάποια κοινά στοιχεία Και οι δύο είχαν όνομα Και οι δύο είχαν κάποιο
Διαβάστε περισσότεραΚλάσεις και Αντικείµενα
Κλάσεις και Αντικείµενα Γρηγόρης Τσουµάκας Τµήµα Πληροφορικής, Αριστοτέλειο Πανεπιστήµιο Θεσσαλονίκης Κλάσεις και Αντικείµενα 2 Τα αντικείµενα σε µια αντικειµενοστρεφή γλώσσα προγραµµατισµού, µοντελοποιούν
Διαβάστε περισσότεραΕισαγωγή στον Αντικειμενοστρέφή Προγραμματισμό Διάλεξη #12
Διάγραμμα κλάσεων [Class diagram] Διάλεξη #12: Υπο-τύποι και πολυμορφισμός [sub-typing and polymorphism] Database Music Εισαγωγή στον Αντικειμενοστρεφή Προγραμματισμό,, Slide 1 Εισαγωγή στον Αντικειμενοστρεφή
Διαβάστε περισσότεραpublic void printstatement() { System.out.println("Employee: " + name + " with salary: " + salary);
Κληρονομικότητα Η κληρονομικότητα (inheritance) αποτελεί έναν από τους χαρακτηριστικότερους μηχανισμούς των αντικειμενοστρεφών γλωσσών προγραμματισμού. Επιτρέπει την δημιουργία μιας νέας κλάσης απορροφώντας
Διαβάστε περισσότεραΒασικά της γλώσσας JAVA
17 η διάλεξη Π. Σταθοπούλου pstath@ece.upatras.gr ή pstath@upatras.gr Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7 Φροντιστήριο : ευτέρα 11πµ-12πµ ΗΛ4 Προηγούµενη ιάλεξη
Διαβάστε περισσότεραΚλάσεις. Κατηγορίες Αντικειµένων. Κλάσεις. Φυσικά Αντικείµενα. Χώρος = Οµάδα Φυσικών Αντικειµένων. Πρόγραµµα = Οµάδα
Αντικειµενοστραφής Προγραµµατισµός Αντικείµενα Ιεραρχία κλάσεων. Ιδιότητες Συµπεριφορά Ιδιότητες (Μεταβλητές) Συµπεριφορά (Μέθοδοι) Κληρονοµικότητα Μέθοδοι επικάλυψης Η χρήση του this και του super Αντικειµενοστραφής
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κληρονομικότητα
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Κληρονομικότητα Παράδειγμα Στο παράδειγμα με το τμήμα πανεπιστημίου οι φοιτητές και οι καθηγητές είχαν κάποια κοινά στοιχεία Και οι δύο είχαν όνομα Και οι δύο
Διαβάστε περισσότεραΑντικειμενοστρεφής Προγραμματισμός
Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων Αντικειμενοστρεφής Προγραμματισμός 16/4/2018 Δρ. Ανδριάνα Πρέντζα Αναπληρώτρια Καθηγήτρια aprentza@unipi.gr Τύποι της Java Primitives vs References Οι πρωταρχικοί
Διαβάστε περισσότεραΕΠΛ231 Δομές Δεδομένων και Αλγόριθμοι
ΕΠΛ231 Δομές Δεδομένων και Αλγόριθμοι 2. Επανάληψη Java + OOP ΕΠΛ231 Δομές Δεδομένων και Αλγόριθμοι 1 Διάλεξη 02: Αντικειμενοστρεφής Προγραμματισμός με την JAVA Στην ενότητα αυτή θα μελετηθούν τα εξής
Διαβάστε περισσότεραΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 11/3/2008
ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 11/3/2008 Κατασκευαστές (Constructors) Ειδικός τύπος μεθόδων, οι οποίες: - είναι public και έχουν το ίδιο όνομα με αυτό της κλάσης - χρησιμοποιούνται για να αρχικοποιήσουν κάποιες
Διαβάστε περισσότεραΚλάσεις. Τροποποιητές, ιασυνδέσεις, Πακέτα. Τροποποιητές ελέγχου προσπέλασης µεταβλητών και µεθόδων
Κλάσεις Τροποποιητές, ιασυνδέσεις, Πακέτα Τροποποιητές ελέγχου προσπέλασης µεταβλητών και µεθόδων Υπάρχουν 4τροποποιητές: default, public, private, protected. Default: εν προηγείται τροποποιητής του ονόµατος
Διαβάστε περισσότεραΚληρονομικότητα. Επαναχρησιμοποίηση Κλάσεων. Σύνθεση (παράδειγμα) Σύνθεση. χειριστήρια άλλων κλάσεων.
Επαναχρησιμοποίηση Κλάσεων! Σύνθεση (composition): σε μια κλάση εντάσσουμε ως στοιχεία χειριστήρια άλλων κλάσεων. Κληρονομικότητα Mailbox Message Queue! Κληρονομικότητα (inheritance): επεκτείνουμε υπάρχουσες
Διαβάστε περισσότεραΔιδάσκων: Παναγιώτης Ανδρέου
Διάλεξη 6: Αφαιρετικότητα, Βιβλιοθήκες Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Αφαιρετικότητα -Βιβλιοθήκες (packages) Διδάσκων: Παναγιώτης Ανδρέου ΕΠΛ233 Αντικειμενοστρεφής Προγραμματισμός
Διαβάστε περισσότεραΥπερφόρτωση (Overloading) Υπέρβαση (Overriding) - Upcasting Downcasting Final classes, methods
(Object Oriented Programming) Υπερφόρτωση (Overloading) Υπέρβαση (Overriding) - Upcasting Downcasting Final classes, methods PhD http://aetos.it.teithe.gr/~sfetsos/ sfetsos@it.teithe.gr Περιεχόμενα Μαθήματος
Διαβάστε περισσότεραΠαράδειγμα Σύνθεσης: Class Name
Παράδειγμα Σύνθεσης: Class Name class Name{ private String first; private String middle; private String last; // Object represent names of people //e.g., "William" //e.g., "Jefferson" //e.g., "Clinton"
Διαβάστε περισσότεραΟντοκεντρικός Προγραμματισμός ΦΡΟΝΤΙΣΤΗΡΙΟ JAVA
Οντοκεντρικός Προγραμματισμός ΦΡΟΝΤΙΣΤΗΡΙΟ JAVA Τι θα συζητήσουμε σήμερα Πώς υλοποιούμε συσχετίσεις μεταξύ κλάσεων απλές και πολλαπλές συσχετίσεις κληρονομικότητα Static, final Overloading Overriding Hiding
Διαβάστε περισσότεραΑΠΛΗ ΚΛΗΡΟΝΟΜΙΚΟΤΗΤΑ
ΚΛΗΡΟΝΟΜΙΚΟΤΗΤΑ Μηχανισµός υλοποίησης των σχέσεων γενίκευσης/εξειδίκευσης µεταξύ κλάσεων Η σχέση εξειδίκευσης «υποκλάση-της» (subclass-of)είναι γνωστή σαν σχέση «είναι ένα» (isa) ή «είναι ένα είδος» (ako:
Διαβάστε περισσότεραHelloWorld. Παύλος Εφραιμίδης. Java Το πρόγραμμα HelloWorld 1
HelloWorld Παύλος Εφραιμίδης Java Το πρόγραμμα HelloWorld 1 Το πρόγραμμα HelloWorld.java Σχόλια στη Java /** * The HelloWorld class */ class HelloWorld { public static void main(string[] args) { System.out.println("Hello
Διαβάστε περισσότεραΟντοκεντρικός Προγραμματισμός
Οντοκεντρικός Προγραμματισμός Ενότητα 2: Η ΓΛΩΣΣΑ JAVA Βασικά Δομικά Στοιχεία ΔΙΔΑΣΚΟΝΤΕΣ: Ιωάννης Χατζηλυγερούδης, Χρήστος Μακρής Πολυτεχνική Σχολή Τμήμα Μηχανικών Η/Υ & Πληροφορικής ΔΟΜΙΚΑ ΣΤΟΙΧΕΙΑ ΔΟΜΙΚΑ
Διαβάστε περισσότεραΕργαστήριο Java. Διδάσκουσα: Εργαστηριακοί Συνεργάτες:
Εργαστήριο Java Διδάσκουσα: Πρέντζα Ανδριάνα aprentza@unipi.gr Εργαστηριακοί Συνεργάτες: Γεωργιοπούλου Ρούλα Λύβας Χρήστος roulageorio@ssl-unipi.gr clyvas@unipi.gr Εργαστήριο 3 Java Classes Java Objects
Διαβάστε περισσότεραclass object Database Database Item Item [sub-typing and polymorphism] MusicCD Video MusicCD Video
ιάγραµµα κλάσεων [Class diagram] Εβδοµάδα 2: Υπο-τύποι και πολυµορφισµός [sub-typing and polymorphism] Database Music Σχεδίαση-Ανάπτυξη Εφαρµογών Πληροφορικής Αντώνιος Συµβώνης, ΕΜΠ, Slide 1 Σχεδίαση-Ανάπτυξη
Διαβάστε περισσότεραΕΠΛ233 Βιβλιοθήκες και Προσδιοριστές Πρόσβασης στην JAVA
Βιβλιοθήκες και Προσδιοριστές Πρόσβασης στην JAVA 2 «Μονάδα Μετάφρασης» 2 «Μονάδα Μετάφρασης» Όταν δημιουργείται ένα αρχείο πηγαίου κώδικα στην Java, το αρχείο καλείται µονάδα µετάφρασης (compilation unit)
Διαβάστε περισσότεραΘΕΜΑΤΑ ΕΞΕΤΑΣΕΩΝ ΟΜΑΔΑ Α
ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ ΘΕΣΣΑΛΙΑΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩN ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΑΘΗΜΑ: ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΗΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Ι ΕΞΕΤΑΣΤΙΚΗ ΠΕΡΙΟΔΟΣ: ΙΟΥΝΙΟΣ 2015 (10/7/2015) ΘΕΜΑΤΑ ΕΞΕΤΑΣΕΩΝ ΟΜΑΔΑ Α 1. (3.5 μονάδες)
Διαβάστε περισσότεραΕιδικά Θέματα Προγραμματισμού
Ειδικά Θέματα Προγραμματισμού Ενότητα 2: Εισαγωγή στον Αντικειμενοστραφή Προγραμματισμό Μιχάλας Άγγελος Τμήμα Μηχανικών Πληροφορικής ΤΕ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης
Διαβάστε περισσότερα2.1 Αντικειµενοστρεφής προγραµµατισµός
2.1 Αντικειµενοστρεφής προγραµµατισµός Στον αντικειµενοστρεφή προγραµµατισµό (object oriented programming, OOP) ένα πρόγραµµα υπολογιστή είναι ένα σύνολο αλληλεπιδρώντων αντικειµένων. Μπορεί να ειπωθεί
Διαβάστε περισσότεραΑντικειμενοστρεφής Προγραμματισμός
Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων Αντικειμενοστρεφής Προγραμματισμός 23/4/2018 Δρ. Ανδριάνα Πρέντζα Αναπληρώτρια Καθηγήτρια aprentza@unipi.gr Υπερφόρτωση μεθόδων Υπερφόρτωση μεθόδων Πολλαπλές
Διαβάστε περισσότεραΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Αλγοριθμική και Προγραμματισμός. Περισσότερα για τις Κλάσεις, τα Αντικείμενα και τις Μεθόδους
ΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Αλγοριθμική και Προγραμματισμός Παναγιώτης Σφέτσος sfetsos@it.teithe.gr Περισσότερα για τις Κλάσεις, τα Αντικείμενα και τις Μεθόδους Σύνοψη των βασικών λειτουργιών
Διαβάστε περισσότεραΟντοκεντρικός Προγραμματισμός ΦΡΟΝΤΙΣΤΗΡΙΟ JAVA
Οντοκεντρικός Προγραμματισμός ΦΡΟΝΤΙΣΤΗΡΙΟ JAVA Τι θα συζητήσουμε σήμερα Πώς υλοποιούμε συσχετίσεις μεταξύ κλάσεων απλές και πολλαπλές συσχετίσεις κληρονομικότητα Static, final Overloading Overriding Hiding
Διαβάστε περισσότεραΑρχικοποίηση Αντικειµένων & Κλάσεων στη Java Object Instantiation & Class Initialisation Κώστας Σαΐδης saiko@di.uoa.gr http://daemon.di.uoa.gr/daemon/issue4 Μάρτιος 2004 Η Αρχή είναι το ήµισυ του Παντός
Διαβάστε περισσότεραΑντικειμενοστρεφής Προγραμματισμός Διάλεξη 8 : ΚΛΗΡΟΝΟΜΙΚΟΤΗΤΑ & ΠΟΛΥΜΟΡΦΙΣΜΟΣ
Αντικειμενοστρεφής Προγραμματισμός Διάλεξη 8 : ΚΛΗΡΟΝΟΜΙΚΟΤΗΤΑ & ΠΟΛΥΜΟΡΦΙΣΜΟΣ ΚΛΗΡΟΝΟΜΙΚΟΤΗΤΑ (1/3) Στην αρχή της κληρονομικότητας βασίζεται ο σχεδιασμός και η υλοποίηση συστημάτων Η κληρονομικότητα χρησιμοποιείται
Διαβάστε περισσότεραΔιάλεξη 3: Προγραμματισμός σε JAVA I. Διδάσκων: Παναγιώτης Ανδρέου
Διάλεξη 3: Προγραμματισμός σε JAVA I Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή στις έννοιες: - Στοιχειώδης Προγραμματισμός - Προγραμματισμός με Συνθήκες - Προγραμματισμός με Βρόγχους
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Constructors
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Κλάσεις και Αντικείμενα Constructors Μαθήματα από το lab Ένα πρόγραμμα αποτελείται από διάφορες κλάσεις και αντικείμενα αυτών των κλάσεων. Μία από τις κλάσεις
Διαβάστε περισσότεραΑνάλυση Πληροφοριακών Συστημάτων. Εαρινό Εξάμηνο Lec08 09/04/2019 Διδάσκων: Γεώργιος Χρ. Μακρής
Ανάλυση Πληροφοριακών Συστημάτων Εαρινό Εξάμηνο 2018-2019 Lec08 09/04/2019 Διδάσκων: Γεώργιος Χρ. Μακρής Διαγράμματα Κλάσεων Τα βασικά στοιχεία Διαλέξεις παρουσιάσεις Το υλικό του μαθήματος στηρίζεται
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αντικείμενα με πίνακες. Constructors. Υλοποίηση Στοίβας
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Αντικείμενα με πίνακες. Constructors. Υλοποίηση Στοίβας Στην άσκηση αυτή θα υλοποιήσετε μια κλάση Geometric η οποία διαχειρίζεται μια γεωμετρική ακολουθία ακεραίων
Διαβάστε περισσότεραΑντικειμενοστρέφεια. Henri Matisse, Harmony in Red, Κωστής Σαγώνας Νίκος Παπασπύρου
Αντικειμενοστρέφεια Henri Matisse, Harmony in Red, 1908 Κωστής Σαγώνας Νίκος Παπασπύρου Ορισμοί αντικειμενοστρέφειας Ποιοι είναι οι ορισμοί των παρακάτω; Αντικειμενοστρεφής
Διαβάστε περισσότεραΟντοκεντρικός Προγραμματισμός
Οντοκεντρικός Προγραμματισμός Ενότητα 2: Η ΓΛΩΣΣΑ JAVA Κληρονομικότητα ΔΙΔΑΣΚΟΝΤΕΣ: Ιωάννης Χατζηλυγερούδης, Χρήστος Μακρής Πολυτεχνική Σχολή Τμήμα Μηχανικών Η/Υ & Πληροφορικής ΚΛΗΡΟΝΟΜΙΚΟΤΗΤΑ ΚΛΗΡΟΝΟΜΙΚΟΤΗΤΑ
Διαβάστε περισσότεραΑρχές Τεχνολογίας Λογισμικού Εργαστήριο
Αρχές Τεχνολογίας Λογισμικού Εργαστήριο Κωδικός Μαθήματος: TP323 Ώρες Εργαστηρίου: 2/εβδομάδα (Διαφάνειες Νίκου Βιδάκη) 1 JAVA Inheritance Εβδομάδα Νο. 3 2 Προηγούμενο μάθημα (1/2) Τι είναι αντικείμενο?
Διαβάστε περισσότεραΕιδικά Θέματα Προγραμματισμού
Ειδικά Θέματα Προγραμματισμού Ενότητα 6: Threads Μιχάλας Άγγελος Τμήμα Μηχανικών Πληροφορικής ΤΕ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αντικείμενα ως ορίσματα
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Αντικείμενα ως ορίσματα Αντικείμενα ως ορίσματα Μπορούμε να περνάμε αντικείμενα ως ορίσματα σε μία μέθοδο όπως οποιαδήποτε άλλη μεταβλητή Οποιαδήποτε κλάση
Διαβάστε περισσότεραΜάθημα 1 [3/11/2015].
Μάθημα 1 [3/11/2015]. Στην πρώτη διάλεξη πραγματοποιήθηκε επανάληψη της γλώσσας Java και ως εξάσκηση επιλύθηκαν οι ασκήσεις της Εξεταστικής Περιόδου 2015 οι οποίες κοινοποιούνται μαζί με ενδεικτική λύση
Διαβάστε περισσότεραΠρογραμματισμός Ι. Κλάσεις και Αντικείμενα. Δημήτρης Μιχαήλ. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο
Προγραμματισμός Ι Κλάσεις και Αντικείμενα Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Κλάσεις Η γενική μορφή μιας κλάσης είναι η εξής: class class-name { private data and
Διαβάστε περισσότερα(Διαφάνειες Νίκου Βιδάκη)
(Διαφάνειες Νίκου Βιδάκη) JAVA Inheritance Εβδομάδα Νο. 3 2 Προηγούμενο μάθημα (1/2) Τι είναι αντικείμενο? Ανάλυση αντικειμένων Πραγματικά αντικείμενα Καταστάσεις Συμπεριφορές Αντικείμενα στον προγραμματισμό
Διαβάστε περισσότερα02 Αντικειμενοστρεφής Προγραμματισμός
02 Αντικειμενοστρεφής Προγραμματισμός Τεχνολογία Λογισμικού Τμήμα Πληροφορικής & Τηλεπικοινωνιών, ΕΚΠΑ Εαρινό εξάμηνο 2016 17 Δρ. Κώστας Σαΐδης saiko@di.uoa.gr Αντικειμενοστρέφεια Στον προγραμματισμό object
Διαβάστε περισσότεραΔιασυνδέσεις / Διεπαφές. Παναγιώτης Σφέτσος, PhD
(Object Oriented Programming) Διασυνδέσεις / Διεπαφές PhD http://aetos.it.teithe.gr/~sfetsos/ sfetsos@it.teithe.gr Περιεχόμενα Μαθήματος Διεπαφές/Διασυνδέσεις (Interfaces) 2 Διεπαφές/Διασυνδέσεις (Interfaces)
Διαβάστε περισσότεραΕαρινό. Ύλη εργαστηρίου, Ασκήσεις Java
Εξάμηνο Μάθημα Τίτλος 2017 2018 Εαρινό Αντικειμενοστραφής Προγραμματισμός Ι Ύλη εργαστηρίου, Ασκήσεις Java Ημερομηνία Εργαστήριο 5 ο Α. Ύλη εργαστηρίου 5.1 Έννοιες αντικειμενοστραφούς προγραμματισμού,
Διαβάστε περισσότεραΔιάλεξη 02: Αντικειμενοστρεφής Προγραμματισμός με την JAVA. Διδάσκων: Παναγιώτης Ανδρέου
Διάλεξη 02: Αντικειμενοστρεφής Προγραμματισμός με την JAVA Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή στις έννοιες: - Επισκόπηση της JAVA - Περισσότερες Πληροφορίες στο μάθημα ΕΠΛ233
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Πολυμορφισμός Αφηρημένες κλάσεις Interfaces (διεπαφές)
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Πολυμορφισμός Αφηρημένες κλάσεις Interfaces (διεπαφές) Βρείτε τα λάθη Στο πρόγραμμα στην επόμενη διαφάνεια υπάρχουν διάφορα λάθη Ποια είναι? public abstract
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Constructors, equals, tostring
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Κλάσεις και Αντικείμενα Constructors, equals, tostring Constructors (Δημιουργοί) O Constructor είναι μια «μέθοδος» η οποία καλείται όταν δημιουργούμε το αντικείμενο
Διαβάστε περισσότεραΕισαγωγή στον Προγ/μό Η/Υ
Εισαγωγή στον Προγ/μό Η/Υ Ενότητα 7 2ο μέρος: Επιπλέον έννοιες σχετικά με αντικείμενα Διδάσκων: Μιχάλης Τίτσιας Περιεχόμενα Τι μπορεί να περιέχει μια τάξη Μέθοδοι τάξης και σταθερές τάξης Πολυμορφισμός
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αναφορές Στοίβα και Σωρός Αναφορές-Παράμετροι
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Αναφορές Στοίβα και Σωρός Αναφορές-Παράμετροι new Όπως είδαμε για να δημιουργήσουμε ένα αντικείμενο χρειάζεται να καλέσουμε τη new. Για τον πίνακα είπαμε ότι
Διαβάστε περισσότεραΕισαγωγή στον Αντικειμενοστρέφή Προγραμματισμό Διάλεξη #13
Wrapper Classes, Abstract Classes and Interfaces Διάλεξη #13: Μεταβλητές/μέθοδοι κλάσης, αφηρημένες κλάσεις και διαπροσωπείες Μεταβλητές /πεδία κλάσης [class variables] Τα αντικείμενα ανήκουν σε κλάσεις
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αναφορές Αντικείμενα ως ορίσματα
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Αναφορές Αντικείμενα ως ορίσματα Η μνήμη του υπολογιστή Η κύρια μνήμη (main memory - RAM) του υπολογιστή κρατάει τα δεδομένα για την εκτέλεση των προγραμμάτων.
Διαβάστε περισσότεραΕΠΛ233 ΠΛΗΡΟΦΟΡΙΑ ΤΥΠΟΥ. Type Information. Μ. Δικαιάκος
ΕΠΛ233 ΠΛΗΡΟΦΟΡΙΑ ΤΥΠΟΥ Type Information 2 Δυναμική Πληροφορία Τύπου Runtime type information (RTTI): μας επιτρέπει να ανακαλύπτουμε και να χρησιμοποιούμε δυναμικά (at run time) πληροφορίες για τον τύπο
Διαβάστε περισσότεραΒασίλης Χριστοφίδης Επαναληπτική Εξέταση (3 ώρες) Ηµεροµηνία: 21 Σεπτεµβρίου 2012
Πανεπιστήµιο Κρήτης Τµήµα Επιστήµης Υπολογιστών ΗΥ-252 Αντικειµενοστρεφής Προγραµµατισµός Βασίλης Χριστοφίδης Επαναληπτική Εξέταση (3 ώρες) Ηµεροµηνία: 21 Σεπτεµβρίου 2012 Θέμα 1 Θέμα 2 Θέμα 3 Θέμα 4 Θέμα
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Υπάρχουσες κλάσεις και αντικείμενα στην Java Strings Wrapper Classes Δομές
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Υπάρχουσες κλάσεις και αντικείμενα στην Java Strings Wrapper Classes Δομές ΚΛΑΣΕΙΣ ΚΑΙ ΑΝΤΙΚΕΙΜΕΝΑ Κλάση Μια κλάση είναι μία αφηρημένη περιγραφή αντικειμένων
Διαβάστε περισσότεραΕργαστήριο 02: Προγραμματισμός με Γενικούς Τύπους (JAVA Generics) ΕΠΛ231 Δομές Δεδομένων και Αλγόριθμοι
Εργαστήριο 02: Προγραμματισμός με Γενικούς Τύπους (JAVA Generics) ΕΠΛ231 Δομές Δεδομένων και Αλγόριθμοι 1 Generic Types Τα Generics έχουν προστεθεί στη JAVA από το 2004 ως μέρος του J2SE 5.0 Με τη χρήση
Διαβάστε περισσότεραΠΟΛΥΜΟΡΦΙΣΜΟΣ. 4.1 Κληρονομικότητα και Αρχή της Υποκατάστασης
ΠΟΛΥΜΟΡΦΙΣΜΟΣ Λόγω της θεμελιώδους σημασίας της έννοιας του πολυμορφισμού (polymorphism) στην αντικειμενοστρεφή σχεδίαση, κρίνεται σκόπιμο στο σημείο αυτό του βιβλίου να αναλυθεί εκτενέστερα. Ο πολυμορφισμός
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αναφορές Στοίβα και Σωρός Μνήμης Αντικείμενα ως ορίσματα
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Αναφορές Στοίβα και Σωρός Μνήμης Αντικείμενα ως ορίσματα ΑΝΑΦΟΡΕΣ new Όπως είδαμε για να δημιουργήσουμε ένα αντικείμενο χρειάζεται να καλέσουμε τη new. Για
Διαβάστε περισσότεραΑντικειµενοστρεφής Προγραµµατισµός
16 η διάλεξη Π. Σταθοπούλου pstath@ece.upatras.gr ή pstath@upatras.gr Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7 Φροντιστήριο : ευτέρα 11πµ-12πµ ΗΛ4 Προηγούµενη ιάλεξη
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κληρονομικότητα
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Κληρονομικότητα Η ΜΕΤΑΒΛΗΤΗ THIS Η μεταβλητή this Η μεταβλητή (παράμετρος) this Μια κρυφή παράμετρος η οποία περνάει σε κάθε μέθοδο και κρατάει μια αναφορά
Διαβάστε περισσότεραΑντικειμενοστρεφής Προγραμματισμός Διάλεξη 9 : ΑΦΗΡΗΜΕΝΕΣ ΚΛΑΣΕΙΣ
Αντικειμενοστρεφής Προγραμματισμός Διάλεξη 9 : ΑΦΗΡΗΜΕΝΕΣ ΚΛΑΣΕΙΣ INTERFACES ΕΣΩΤΕΡΙΚΕΣ ΚΛΑΣΕΙΣ (INNER CLASSES) Αφηρημένες Κλάσεις (Abstract Classes) (1/6) Οι αφηρημένες κλάσεις χρησιμοποιούνται για την
Διαβάστε περισσότεραΠακέτα (Packages) Φωλιασμένες ή Εσωτερικές Κλάσεις (Inner Classes) Παναγιώτης Σφέτσος, PhD
(Object Oriented Programming) Πακέτα (Packages) Φωλιασμένες ή Εσωτερικές Κλάσεις (Inner Classes) PhD http://aetos.it.teithe.gr/~sfetsos/ sfetsos@it.teithe.gr Περιεχόμενα Μαθήματος Πακέτα (Packages) Φωλιασμένες
Διαβάστε περισσότεραΜέθοδοι. Μέθοδοι ηµιουργοί, Υπερφόρτωση και Υπέρβαση Μεθόδων
Μέθοδοι Μέθοδοι ηµιουργοί, Υπερφόρτωση και Υπέρβαση Μεθόδων Μέθοδοι Οιµέθοδοικαθορίζουντηνσυµπεριφοράενόςαντικειµένου. Τα βασικά µέρη από τα οποία αποτελείται µία µέθοδος είναι τα εξής: Το όνοµα της µεθόδου
Διαβάστε περισσότεραΕισαγωγή σε αντικειμενοστραφή concepts. Και λίγη C#
Εισαγωγή σε αντικειμενοστραφή concepts Και λίγη C# Κλάσεις Κλάση: τύπος δεδομένων που αποτελεί συλλογή πεδίων, ορισμών συναρτήσεων/μεθόδων και ορισμών άλλων τύπων δεδομένων. Αντίστοιχο σκεπτικό με struct
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java III
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Εισαγωγή στη Java III Ισότητα Strings class StringTest public static void main(string args[]) String x1 = "java"; String y1 = "java"; System.out.println("1.
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Constructors, equals, tostring Αντικείμενα ως παράμετροι
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Constructors, equals, tostring Αντικείμενα ως παράμετροι Constructors (Δημιουργοί) O Constructor είναι μια «μέθοδος» η οποία καλείται όταν δημιουργούμε το αντικείμενο
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Υπερφόρτωση Αντικείμενα σαν ορίσματα
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Υπερφόρτωση Αντικείμενα σαν ορίσματα ΥΠΕΡΦΟΡΤΩΣΗ H κλάση Car Μια κλάση που κρατάει την θέση ενός αυτοκινήτου. Μέθοδος move(): μετακινεί το αυτοκίνητο κατά μία
Διαβάστε περισσότεραΑνάλυση άσκησης. Employee. SalariedEmployee CommissionEmployee HourlyEmployee. BasePlusCommissionEmployee
Μία εταιρεία πληρώνει τους εργαζόμενους της σε εβδομαδιαία βάση. Οι αποδοχές των εργαζόμενων υπολογίζονται με τέσσερις διαφορετικούς τρόπους : Α) Μισθωτοί (SalariedEmployee), πληρώνονται με σταθερό ποσό
Διαβάστε περισσότεραΚατασκευαστές. Μέθοδοι Κατασκευής (Constructors).
Κατασκευαστές Μέθοδοι Κατασκευής (Constructors). Οι κατασκευαστές (constructors) είναι μέθοδοι που εκτελούνται όταν κατασκευάζεται ένα αντικείμενο. Μια τάξη μπορεί να έχει αρκετούς κατασκευαστές, οι οποίοι
Διαβάστε περισσότεραΚλάσεις στη Java. Παύλος Εφραιμίδης. Java Κλάσεις στη Java 1
Κλάσεις στη Java Παύλος Εφραιμίδης Java Κλάσεις στη Java 1 Κλάσεις στην Java Θα δούμε τη διαδικασία δημιουργίας μιας κλάσης Θα υλοποιήσουμε μια κλάση για τη Δομή Δεδομένων Stack Java Κλάσεις στη Java 2
Διαβάστε περισσότεραΚλάσεις στη Java. Στοίβα - Stack. Δήλωση της κλάσης. ΗκλάσηVector της Java. Ηκλάση Stack
Κλάσεις στην Java Κλάσεις στη Java Παύλος Εφραιμίδης Θα δούμε τη διαδικασία δημιουργίας μιας κλάσης Θα υλοποιήσουμε μια κλάση για τη Δομή Δεδομένων Stack Java Κλάσεις στη Java 1 Java Κλάσεις στη Java 2
Διαβάστε περισσότεραΕαρινό. Ύλη εργαστηρίου, Ασκήσεις Java
Εξάμηνο Μάθημα Τίτλος 2017 2018 Εαρινό Αντικειμενοστραφής Προγραμματισμός Ι Ύλη εργαστηρίου, Ασκήσεις Java Ημερομηνία Εργαστήριο 8 ο Α. Ύλη εργαστηρίου 8.1 Αντικειμενοστραφής προγραμματισμός 8.2 Κλάσεις
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Constructors Υπερφόρτωση Αντικείμενα ως παράμετροι
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Constructors Υπερφόρτωση Αντικείμενα ως παράμετροι Μαθήματα από το lab Boolean μεταβλητές: Συνήθως τα ονόματα που δίνουμε στις boolean μεταβλητές περιγράφουν
Διαβάστε περισσότεραΔιδάσκων: Παναγιώτης Ανδρέου
Διάλεξη 15: Αφαιρετικές Κλάσεις (Abstract Classes)& Διαπροσωπείες (Interfaces) Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Αφαιρετικές Κλάσεις, Αφαιρετικές Μεθόδοι - Διαπροσωπείες: Ορισμός,
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αντικείμενα μέσα σε αντικείμενα Αντικείμενα ως επιστρεφόμενες τιμές Αντικείμενα με πίνακες
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Αντικείμενα μέσα σε αντικείμενα Αντικείμενα ως επιστρεφόμενες τιμές Αντικείμενα με πίνακες ANTIKEIMENA MEΣΑ ΣΕ ΑΝΤΙΚΕΙΜΕΝΑ Αντικείμενα μέσα σε αντικείμενα Εκτός
Διαβάστε περισσότεραΑΡΦΕ ΑΝΣΙΚΕΙΜΕΝΟΣΡΕΥΟΤ ΠΡΟΓΡΑΜΜΑΣΙΜΟΤ. Ιωάννης Φατζηλυγερούδης Αναπληρωτής Καθηγητής Τμήμα Μηχ/κών Η/Υ και Πληροφορικής Πανεπιστήμιο Πατρών
ΑΡΦΕ ΑΝΣΙΚΕΙΜΕΝΟΣΡΕΥΟΤ ΠΡΟΓΡΑΜΜΑΣΙΜΟΤ Ιωάννης Φατζηλυγερούδης Αναπληρωτής Καθηγητής Τμήμα Μηχ/κών Η/Υ και Πληροφορικής Πανεπιστήμιο Πατρών ΜΟΡΥΕ ΠΡΟΓΡΑΜΜΑΣΙΜΟΤ Διαδικασιακός ή Διαδικαστικός (Procedural)
Διαβάστε περισσότεραΚλάσεις. Τροποποιητές, Πακέτα, ιασυνδέσεις. Τροποποιητές ελέγχου προσπέλασης µεταβλητών και µεθόδων
Κλάσεις Τροποποιητές, Πακέτα, ιασυνδέσεις Τροποποιητές ελέγχου προσπέλασης µεταβλητών και µεθόδων Υπάρχουν 4τροποποιητές: default, public, private, protected. Default: εν προηγείται τροποποιητής του ονόµατος
Διαβάστε περισσότεραI (JAVA) Ονοματεπώνυμο: Α. Μ.: Δώστε τις απαντήσεις σας ΕΔΩ: Απαντήσεις στις σελίδες των ερωτήσεων ΔΕΝ θα ληφθούν υπ όψην.
I (JAVA) Ονοματεπώνυμο: Α. Μ.: + ΦΥΛΛΟ ΑΠΑΝΤΗΣΕΩΝ Δώστε τις απαντήσεις σας ΕΔΩ: Απαντήσεις στις σελίδες των ερωτήσεων ΔΕΝ θα ληφθούν υπ όψην. + 1 ΦΥΛΛΟ ΑΠΑΝΤΗΣΕΩΝ (σελ. 2/3) 2 ΦΥΛΛΟ ΑΠΑΝΤΗΣΕΩΝ (σελ. 3/3)
Διαβάστε περισσότεραΑντικειμενοστρεφής Προγραμματισμός
ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΙΚΑ ΜΑΘΗΜΑΤΑ Αντικειμενοστρεφής Προγραμματισμός Ενότητα 7: Βελτίωση Δομής με Κληρονομικότητα Γρηγόρης Τσουμάκας, Επικ. Καθηγητής Άδειες Χρήσης Το παρόν
Διαβάστε περισσότεραΑντικειμενοστρεφής Προγραμματισμός
Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων Αντικειμενοστρεφής Προγραμματισμός 3/4/2017 Δρ. Ανδριάνα Πρέντζα Αναπληρώτρια Καθηγήτρια aprentza@unipi.gr Γιατί έλεγχος πρόσβασης? Προστασία ιδιωτικής πληροφορίας
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java III
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Εισαγωγή στη Java III Το if-else statement Το if-else statement δουλεύει καλά όταν στο condition θέλουμε να περιγράψουμε μια επιλογή με δύο πιθανά ενδεχόμενα.
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αναφορές Στοίβα και Σωρός μνήμης Αντικείμενα παράμετροι String Interning
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Αναφορές Στοίβα και Σωρός μνήμης Αντικείμενα παράμετροι String Interning Αποθήκευση αντικειμένων Οι θέσεις μνήμης των αντικειμένων κρατάνε μια διεύθυνση στο
Διαβάστε περισσότεραΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 6/12/07
Πρώτοι αριθμοί ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 6/12/07 Ένας ακέραιος μεγαλύτερος του 1 είναι πρώτος αν έχει ακριβώς δύο διαιρέτες (τη μονάδα και τον εαυτό του). Πρόβλημα: έλεγχος
Διαβάστε περισσότεραΣΥΣΧΕΤΙΣΕΙΣ ΚΛΑΣΕΩΝ (Class relationships)
ΣΥΣΧΕΤΙΣΕΙΣ ΚΛΑΣΕΩΝ (Class relationships) Σκοπός Σκοπός των συσχετίσεων είναι να αναπαριστούν την αλληλεπίδραση μεταξύ των κλάσεων και των αντικειμένων. Απεικονίζονται διαγραμματικά με μία γραμμή μεταξύ
Διαβάστε περισσότεραΑντικειμενοστρεφής Προγραμματισμός Διάλεξη 4 : CLASSES
Αντικειμενοστρεφής Προγραμματισμός Διάλεξη 4 : CLASSES Κων. Κόκκινος Αντικειμενοστραφής Προγραμματισμός Η ιδέα του αντικειμενοστραφούς προγραμματισμού Αυτόνομες οντότητες Στιγμιότυπα οντοτήτων Παράδειγμα
Διαβάστε περισσότεραΕισαγωγή στον Αντικειμενοστρέφή Προγραμματισμό Διάλεξη #11
Κληρονομικότητα [inheritance] Διάλεξη #11: Κληρονομικότητα [inheritance] Τι είναι η κληρονομικότητα; Γιατί είναι σημαντική; Εισαγωγή στον Αντικειμενοστρεφή Προγραμματισμό,, Slide 1 Εισαγωγή στον Αντικειμενοστρεφή
Διαβάστε περισσότερα