第9章_继承和多态_编程练习_Exercise9_2按要求设计类

/**
 *Person,Student,Employee,Faculty,Staff类的设计
 *要求:父类Person 其子类有Student Employee。
 *Employee类有子类 Faculty和Staff。
 *Person有姓名,地址,电话,电子邮件,Student有班级。将这些定义为常量
 *Employee有办公室,工资和受聘日期
 */
public class Exercsie9_2{
 public static void main(String[] args){
  Student s = new Student("liuyu", "china", "1234", "liuyu@yahoo", "grade-3");
  Employee e = new Employee("zhangsan","janpan","123","zhangsan@qq","java department","5000/month", 2011,4,17);
  System.out.println(s.toString());
  System.out.println(e.toString());
 }
}

class Person{
 private String name = "" , add = "", call = "", email = "";
 Person(String name , String add, String call, String email){
  this.name = name;
  this.add = add;
  this.call = call;
  this.email = email;
 }
 
 public String getName(){
  return name;
 }
 public String getAdd(){
  return add;
 }
 public String getCall(){
  return call;
 }
 public String getEmail(){
  return email;
 }
}

class Student extends Person{
 private String grade = "";
 Student(String name, String add, String call, String email, String grade){
  super(name,add,call,email);
  this.grade = grade;
 }
 //覆盖lang下的toString方法,注意有返回值
 public String toString(){
  String str = "";
  str = getClass().getName() + "  " + getName() + "  ";
  return str;
 }
}

class Employee extends Person{
 private String office = "" , salary = "", date = "";
 MyData md;
 Employee(String name , String add, String call, String email, String office, String salary ,
   int year,int month,int day){
  super(name,add,call,email);
  md = new MyData(year, month ,day);
  this.office = office;
  this.salary = salary;
 }
 public String toString(){
  String str = "";
  str = getClass().getName() + "  " + getName()+ "  " + md.print()+"  ";
  return str;
 }
}

class MyData{
 private int year;
 private int month;
 private int day;
 MyData(int year, int month, int day){
  this.year = year;
  this.month = month;
  this.day = day;
 }
 public String print(){
  String str = "";
  str +=  "  year:" + this.year + "  month:" + this.month+ "  day:" +this.day;
  return str;
 }
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值