接口 模拟学校学费老师研究生工资
2017-11-06 10:29
246 查看
大学里的学生(Student)需要交学费,而研究生(Graduate)作为学生比较特殊,除了需要交学费外,还可以获取一部分科研津贴,由学校(University)统一发放。此外,学校还需要发放教师(Teacher)的工资。
编写代码模拟上述场景:
1) 设计抽象类Student:
属性包括姓名(name)、学费(fee);
方法包括:
构造方法Student(String name)
抽象方法void setFee(int fee)
抽象方法int getFee()
2) 定义一个接口Salary:包含一个方法int getSalary();
3) 定义一个研究生类Graduate,继承Student类且实现Salary接口:
新增属性:收入(salary)
方法包括:
构造方法Graduate(String name)
重写void setFee(int fee)
重写int getFee()
重写int getSalary(),研究生获得工资1500
新增方法boolean isLoan(),判断是否需要贷款(若收入小于学费则需贷款)
4) 定义一个教师类(Teacher):
属性包括:姓名(name)、收入(salary)
方法包括:
构造方法Teacher(String name)
重写int getSalary(),教师获得工资3000
5) 定义一个大学类(University),通过void payOff(Salary s)方法给研究生和教师发放并打印工资。
6)定义主类Test,主函数中至少包括以下代码:
public abstract class Student {
String name;
int fee;
public Student(String name){
this.name=name;
}
abstract void setFee(int fee);
abstract int getFee();
}
研究生工资小于学费时:
编写代码模拟上述场景:
1) 设计抽象类Student:
属性包括姓名(name)、学费(fee);
方法包括:
构造方法Student(String name)
抽象方法void setFee(int fee)
抽象方法int getFee()
2) 定义一个接口Salary:包含一个方法int getSalary();
3) 定义一个研究生类Graduate,继承Student类且实现Salary接口:
新增属性:收入(salary)
方法包括:
构造方法Graduate(String name)
重写void setFee(int fee)
重写int getFee()
重写int getSalary(),研究生获得工资1500
新增方法boolean isLoan(),判断是否需要贷款(若收入小于学费则需贷款)
4) 定义一个教师类(Teacher):
属性包括:姓名(name)、收入(salary)
方法包括:
构造方法Teacher(String name)
重写int getSalary(),教师获得工资3000
5) 定义一个大学类(University),通过void payOff(Salary s)方法给研究生和教师发放并打印工资。
6)定义主类Test,主函数中至少包括以下代码:
public abstract class Student {
String name;
int fee;
public Student(String name){
this.name=name;
}
abstract void setFee(int fee);
abstract int getFee();
}
public interface Salary { public abstract int getSalary(); }
public class Graduate extends Student implements Salary{ int salary; Graduate(String name){ super(name); //因为父类是有参的构造方法,所以super后要加参数,若是无参的,则是super()(可以省略) } void setFee(int fee){ this.fee=fee; } int getFee(){ return fee; } public int getSalary(){ return salary=1500; } boolean isLoan(){ if(getSalary()<getFee()) return true; return false; } }
public class Teacher implements Salary { String name; int salary; Teacher(String name){ this.name=name; } public int getSalary(){ return salary=3000; } }
public class University { void payOff(Salary s){ s.getSalary(); } }
public class Test { public static void main(String[] args) { // TODO Auto-generated method stub Graduate g=new Graduate("小亮"); g.setFee(1000); 939e University u=new University(); u.payOff(g); System.out.println("工资是:"+g.getSalary()); System.out.println("是否需要贷款:"+g.isLoan()); Teacher t=new Teacher("大王"); u.payOff(t); System.out.println("工资是:"+t.getSalary()); } }研究生工资大于学费时:
研究生工资小于学费时:
相关文章推荐
- 接口 模拟学校学费老师研究生工资
- 接口 模拟学校学费老师研究生工资
- 接口 模拟学校学费老师研究生工资
- 接口 模拟学校学费老师研究生工资
- 接口 模拟学校学费老师研究生工资
- 接口 模拟学校学费老师研究生工资
- 接口 模拟学校学费老师研究生工资
- 接口 模拟学校学费老师研究生工资
- 接口 模拟学校学费老师研究生工资
- 接口 模拟学校学费老师研究生工资
- 接口 模拟学校学费老师研究生工资
- 接口练习 模拟学校学费发工资
- 上机练习题——接口课堂练习2:大学里的学生(Student)需要交学费,而研究生(Graduate)作为学生比较特殊,除了需要交学费外,还可以获取一部分科研津贴,由学校(University)统一发放
- 接口-大学里的学生(Student)需要交学费,而研究生(Graduate)作为学生比较特殊,除了需要交学费外,还可以获取一部分科研津贴,由学校(University)统一发放。此外,学校还需要发放教
- 课堂练习2:大学里的学生(Student)需要交学费,而研究生(Graduate)作为学生比较特殊,除了需要交学费外,还可以获取一部分科研津贴,由学校(University)统一发放。此外,学校还需要
- Java作业-研究生教师工资(接口)
- 大学里的学生(Student)需要交学费,而研究生(Graduate)作为学生比较特殊,除了需要交学费外,还可以获取一部分科研津贴,由学校(University)统一发放。此外,学校还需要发放教师(T
- 学校学生老师工资多态
- 接口-大学里的学生(Student)需要交学费,而研究生(Graduate)作为学生比较特殊,除了需要交学
- 大学里的学生(Student)需要交学费,而研究生(Graduate)作为学生比较特殊,除了需要交学费外,还可以获取一部分科研津贴,由学校(University)统一发放。此外,学校还需要发放教师(T