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

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

Αντικείμενα

Κλάσεις

Δημιουργία νέων αντικειμένων

Καθορισμός μνήμης αντικειμένων με new

Καθορισμός μνήμης αντικειμένων με αντιγραφή

Κλήση μεθόδων

Πρόσβαση σε ιδιότητες

Ορατότητα

Παράδειγμα: Point

class Point {
  // Public fields
  public int x, y;
  private boolean visible;
  private int serialNumber;
  // Private method
  private void setpos(int sx, int sy) {
    x = sx;
    y = sy;
  }
  // Public methd
  public void moveToCenter() {
    setpos(0, 0);
  }

}

Παράδειγμα: TestPoint

class TestPoint {
  public static void main(String args[])
  {
    Point a;

    a = new Point();
    a.moveToCenter();
    // Use public field
    a.x = 10;
  }
}

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

Κλήση κατασκευαστών

Ιδιότητες και μέθοδοι κλάσης

Παράδειγμα: εύρεση ημέρας

import java.util.*;
import java.io.*;

class FindDay {
  /** Return the name of the given numeric week day */
  public static String weekDayName(int weekDayNumber) {
    switch (weekDayNumber) {
    case Calendar.MONDAY: return "Δευτέρα";
    case Calendar.TUESDAY: return "Τρίτη";
    case Calendar.WEDNESDAY: return "Τετάρτη";
    case Calendar.THURSDAY: return "Πέμπτη";
    case Calendar.FRIDAY: return "Παρασκευή";
    case Calendar.SATURDAY: return "Σάββατο";
    case Calendar.SUNDAY: return "Κυριακή";
    }
    return null;
  }

  public static void main(String args[]) throws Exception {
  // ...
}

Παράδειγμα: εύρεση ημέρας (main)

Μέθοδοι όλων των αντικειμένων

Άσκηση: δημιουργία αντικειμένων και πρόσβαση στις μεθόδους τους

Άσκηση 3

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

Σημείωση: για να διαβάζετε σωστά τα ελληνικά μηνύματα λάθους που εμφανίζει η κλάση που σας δίδεται, μπορείτε στη μεταγλώττιση να δώσετε την παράμετρο -encoding ISO-8859-7.

javac -encoding ISO-8859-7 MyClass.java

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

Περιεχόμενα