Java黑皮书课后题第11章:11.2(Person Student Employee Faculty Staff类)设计一个名为Person的类及其两个名为Student和Employee的子类

Java黑皮书课后题第11章:11.2(Person Student Employee Faculty Staff类)

  • 题目
  • 缺陷
  • UML图
  • 代码
    • Test02_MyDate.java:用于参考的MyDate
    • Test02_Person.java:Person类
    • Test02_Student.java: Student类
    • Test02_Employee.java:Employee类
    • Test02_Faculty.java:Faculty类
    • Test02_Staff.java:Staff类
    • Test02.java:测试程序所在类

题目

11.2(Person、Student、Employee、Faculty和Staff类)设计一个名为Person的类及其两个名为Student和Employee的子类。Employee类又有子类:教员类Faculty和职员类Staff。每个人都有姓名、地址、电话号码和电子邮件地址。学生有班级状态(大一、大二、大三或大四)。将这些状态定义为常量。一个雇员涉及办公室、工资和受聘日期。使用编程练习题10.14中定义的MyDate类为受聘日期创建一个对象。教员有办公时间和级别。职员有头衔。重写每个类中的toString方法,显示相应的类名和人名。
画出这些类的UML图并实现这些类。编写一个测试程序,创建Person、Studet、Employee、Faculty和Staff,并且调用他们的toString方法,显示响应的类名和人名
画出这些类的UML图并实现这些类。编写一个测试程序,创建Person Student Employee Faculty和Staff,并调用它们的toString方法

缺陷

题目很冗长,但介绍还不全
各个方法有getter and setter、构造器方法没有、输出语句格式是什么……这些都没说
全凭感觉

UML图

博主刚刚入门UML,还会有很多问题,欢迎大佬指正
Java黑皮书课后题第11章:11.2(Person Student Employee Faculty Staff类)设计一个名为Person的类及其两个名为Student和Employee的子类_第1张图片

代码

Test02_MyDate.java:用于参考的MyDate

点击这里浏览编程练习题10.14中定义的MyDate类

import java.util.GregorianCalendar;

public class Test02_MyDate {
   
    int year, month, day;   // 月从0开始

    public Test02_MyDate(){
   
        GregorianCalendar gc = new GregorianCalendar();
        year = gc.get(GregorianCalendar.YEAR);
        month = gc.get(GregorianCalendar.MONTH);
        day = gc.get(GregorianCalendar.DAY_OF_MONTH);
    }

    public Test02_MyDate(long l){
   
        GregorianCalendar gc = new GregorianCalendar();
        gc.setTimeInMillis(l);
        year = gc.get(GregorianCalendar.YEAR);
        month = gc.get(GregorianCalendar.MONTH);
        day = gc.get(GregorianCalendar.DAY_OF_MONTH);
    }

    

你可能感兴趣的:(Java黑皮书课后题,java)