问题:11.2
( Person、Student、Employee、Faculty 和 Staff 类)设计一个名为 Person 的类和它的两个名为 Student 和 Employee 的子类。Employee 类又有子类:教员类 Faculty 和职员类 Staff。每个人都有姓名、地址、电话号码和电子邮件地址。学生有班级状态(大一、大二、大三或大四)。将这些状态定义为常量。一个雇员涉及办公室、工资和受聘日期。使用编程练习题 10.14中定义的 MyDate 类为受聘日期创建一个对象。教员有办公时间和级别。职员有职务称号。覆盖每个类中的 toString 方法,显示相应的类别名字和人名.画出这些类的UML图并实现这些类。编写一个测试程序,创建 Person、Student、Employee、Faculty 和 Staff,并且调用它们的 toStringO 方法。
代码:
package test;
class exercpeople {
private String name;
private String address;
private String telphone;
private String email;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public String getTelphone() {
return telphone;
}
public void setTelphone(String telphone) {
this.telphone = telphone;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
}
class Employee extends exercpeople { //子类Employee
private String office;
private double wage;
private String hiredate;
public String getOffice() {
return office;
}
public void setOffice(String office) {
this.office = office;
}
public double getWage() {
return wage;
}
public void setWage(double wage) {
this.wage = wage;
}
public String getHiredate() {
return hiredate;
}
public void setHiredate(String hiredate) {
this.hiredate = hiredate;
}
}
class Faculty extends Employee { //子类Faculty
private String degree;
private String level;
public String getDegree() {
return degree;
}
public void setDegree(String degree) {
this.degree = degree;
}
public String getLevel() {
return level;
}
public void setLevel(String level) {
this.level = level;
}
}
class Staff {
private String duty;
public String getDuty() {
return duty;
}
public void setDuty(String duty) {
this.duty = duty;
}
}
package test; //代码分为两个.class文件,存在同一个包下
public class Expeople {
public static void main(String[] args) {
Faculty a=new Faculty();
a.setName("小张");
a.setTelphone("18463080600");
a.setDegree("本科");
a.setLevel("一级");
a.setEmail("33695422@qq.com");
System.out.println("员工姓名:"+a.getName()+" 电话:"+a.getTelphone());
System.out.println(" 学位:"+a.getDegree()+" 级别:"+a.getLevel()+" 邮箱:"+a.getEmail());
}
}
浙公网安备 33010602011771号