Προγραμματισμός ΙΙ: Τύποι Πεδίων και Μεθόδων

Προγραμματισμός ΙΙ

Τύποι Πεδίων και Μεθόδων

public class Car {
    // κατάσταση αυτοκινήτου
    public Color color; // χρώμα
    private String licenseNumber; // αριθμός κυκλοφορίας
    public int cc; // κυβισμός κινητήρα
    private double speed; // ταχύτητα
    public static int numberOfCars = 0; // αριθμός αυτοκινήτων

    // κατασκευαστής χωρίς ορίσματα
    public Car() {
        numberOfCars++;
    }

    // κατασκευαστής με ορίσματα
    public Car(Color color, String licenseNumber, int cc) {
        this();
        this.color = color;
        this.licenseNumber = licenseNumber;
        this.cc = cc;
    }

    // συμπεριφορά αυτοκινήτου
    public void startEngine() {...} // εκκίνηση του κινητήρα
    public void stopEngine() {...} // σβήσιμο του κινητήρα
    public void turnLeft(int degrees) {...} // στροφή αριστερά
    public void turnRight(int degrees) {...} // στροφή δεξιά
    public void break() {...} // φρενάρισμα
    public double getSpeed() {return speed;} // μέτρηση ταχύτητας
    // στατική μέθοδος
    public static int getNumberOfCars() {return numberOfCars;}
}

Τύπου Πεδίων και Μεθόδων (1)

Τύπου Πεδίων και Μεθόδων (2)

this

Παράδειγμα 1

public class Time {

    private static final int HOURS_PER_DAY = 24;
    private static final int MINUTES_PER_HOUR = 60;
    private static final int SECONDS_PER_MINUTE = 60;

    private int hour;
    private int minute;
    private int second;

    public Time() {
    }

    public Time(int hour, int minute, int second) {
        this.hour = hour;
        this.minute = minute;
        this.second = second;
    }

    public int getHour() {
        return hour;
    }

    public void setHour(int h) {
        hour = ((h >= 0 && h < HOURS_PER_DAY) ? h : 0);
    }

Παράδειγμα 1 (Συνέχεια)

    public int getMinute() {
        return minute;
    }

    public void setMinute(int m) {
        minute = ((m >= 0 && m < MINUTES_PER_HOUR) ? m : 0);
    }

    public int getSecond() {
        return second;
    }

    public void setSecond(int s) {
        second = ((s >= 0 && s < SECONDS_PER_MINUTE) ? s : 0);
    }

    public void setTime(int h, int m, int s) {
        setHour(h);
        setMinute(m);
        setSecond(s);
    }
}

Παράδειγμα 1 (Συνέχεια)

public class TimeTest {
    public static void main(String args[]) {
        Time t1 = new Time();
        Time t2 = new Time(12, 25, 42);
        t2.setTime(3, 4, 8);
        t1.setTime(0, 3, 15);
        System.out.println(t2.getHour() + " " + t2.getMinute() + " " + t2.getSecond());
        System.out.println(t1.getHour() + " " + t1.getMinute() + " " + t1.getSecond());
    }
}

Ερώτηση

    private static final double PI = 3.14;
    
    or

    private final float PI = 3.14F; 

Παράδειγμα 2

import java.util.Date;

public class Employee {
    private String firstName;
    private String lastName;
    private Date birthDate;
    private Date hireDate;

    public Employee(String fN, String lN, Date dateOfBirth, Date dateOfHire) {
        firstName = fN;
        lastName = lN;
        birthDate = dateOfBirth;
        hireDate = dateOfHire;
    }

    public String toString() {
        return "Name of employee: " + firstName + ", "
        + "Surname of employee: " + lastName + ", " + "Date of birth: "
        + birthDate + ", " + "Date of hire: " + hireDate + ". ";

    }
}

Παράδειγμα 2 (Συνέχεια)

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class EmployeeTest {
    public static void main(String args[]) {
        try {
            Date birth = new SimpleDateFormat("MM/dd/yy").parse("05/12/95");
            Date hire = new SimpleDateFormat("MM/dd/yy").parse("10/9/05");
            Employee employee = new Employee("Tim", "Yellow", birth, hire);
            System.out.println(employee.toString());
        } catch (ParseException e) {
            e.printStackTrace();
        }
    }
}

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


Creative Commons Licence
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.