Java examples for Object Oriented Design:Class
Class Composition demonstration
public class Main { public static void main(String[] args) {// w w w . jav a 2 s . c o m Date birth = new Date(7, 24, 1949); Date hire = new Date(3, 12, 1988); Employee employee = new Employee("Bob", "Blue", birth, hire); System.out.println(employee); } } class Date { private int month; // 1-12 private int day; // 1-31 based on month private int year; // any year private static final int[] daysPerMonth = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; // constructor: confirm proper value for month and day given the year public Date(int month, int day, int year) { this.month = month; this.day = day; this.year = year; System.out.printf("Date object constructor for date %s%n", this); } // return a String of the form month/day/year public String toString() { return String.format("%d/%d/%d", month, day, year); } } class Employee { private String firstName; private String lastName; private Date birthDate; private Date hireDate; // constructor to initialize name, birth date and hire date public Employee(String firstName, String lastName, Date birthDate, Date hireDate) { this.firstName = firstName; this.lastName = lastName; this.birthDate = birthDate; this.hireDate = hireDate; } // convert Employee to String format public String toString() { return String.format("%s, %s Hired: %s Birthday: %s", lastName, firstName, hireDate, birthDate); } }