Δημιουργία κλάσεων

Διομήδης Σπινέλλης
Τμήμα Διοικητικής Επιστήμης και Τεχνολογίας
Οικονομικό Πανεπιστήμιο Αθηνών
dds@aueb.gr

Ορισμός κλάσεων

Ορισμός πεδίων υπόστασης

Ορισμός μεθόδων υπόστασης

Πρόσβαση στα μέλη της κλάσης

Πρόσβαση στα μέλη της κλάσης: παράδειγμα

Μέθοδοι κατασκευής

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

class Point {
    /* Fields */

    /** Point x coordinate */
    private int x;
    /** Point y coordinate */
    private int y;

    /* Methods */
    /** Default constructor */
    Point() { x = y = 0; }
    /** Constructor with coordinates */
    Point(int x, int y) {
        this.x = x;
        this.y = y;
    }
}

Έλεγχος πρόσβασης

Κάθε μέθοδος ή πεδίο μπορεί να έχει ως προσδιοριστή
public
Το μέλος είναι ορατό σε όλες τις άλλες κλάσεις
private
Το μέλος είναι ορατό μόνο στις μεθόδους της δικής μας κλάσης
(τίποτα)
Το μέλος είναι ορατό στις κλάσεις του πακέτου μας
Μια καλοσχεδιασμένη κλάση έχει:

Ορισμός ιδιοτήτων και μεθόδων κλάσης

Παράδειγμα ιδιοτήτων και μεθόδων κλάσης

Δήλωση μεταβλητών με var

Μπλοκ αρχικοποίησης

Σε ανώνυμα μπλοκ { } στο σώμα της κλάσης μπορεί να τοποθετηθεί:

Εσωτερικές κλάσεις

Μια κλάση μπορεί να οριστεί εσωτερικά:

Παράδειγμα εσωτερικής κλάσης

class Rectangle {
    private static class Point {
        private int x, y;

        /** Point constructor */
        Point(int ix, int iy) {
            x = ix;
            y = iy;
        }
    }

    private Point topLeft, bottomRight;

    /** Rectangle constructor */
    Rectangle(int x, int y, int height, int width) {
        topLeft = new Point(x, y);
        bottomRight = new Point(x + width, y + height);
    }
}

Παράδειγμα ανώνυμης κλάσης

class InnerCall {
    public static void main(String args[]) {
        System.out.println(new Object());
        System.out.println(new Object() {
            @Override
            public String toString() {
                return "I am a woke object";
            }
        });
    }
}

Απαριθμήσεις

Παράδειγμα

enum Ingredients {
  TOMATO,
  ONION,
  TZATZIKI,
  POTATO,
  MUSTARD,
  SOUVLAKI,
  GYROS
};

Χρήση απαριθμήσεων

Το σχεδιαστικό πρότυπο singleton

Παράδειγμα singleton

Άσκηση: δημιουργία μιας κλάσης

Άσκηση 4

Μπορείτε να κατεβάσετε το αντίστοιχο αρχείο και να στείλετε τους βαθμούς σας από τους δεσμούς που βρίσκονται στη σελίδα των ασκήσεων.

Βιβλιογραφία

Περιεχόμενα