大学生学费(接口)

来源:互联网 发布:js 定义全局变量赋值 编辑:程序博客网 时间:2024/05/17 02:28

package college;public abstract class Student {public String name;public int fee;public Student(String name){   super();this.name=name;}public abstract void setFee(int fee);public abstract int getFee();}

大学里的学生(Student需要学费,而研究生(Graduate)作为学生比较特殊,除了需要交学费外,还可以获取一部分科研津贴,由学校University统一发放。此外,学校还需要发放教师Teacher的工资

编写代码模拟上述场景:

1) 设计抽象Student

l 属性包括姓名(name、学费fee);

l 方法包括

- 构造方法StudentString name

- 抽象方法void setFeeint fee

-抽象方法int getFee()

2)定义一个接口Salary包含一个方法int getSalary();

3)定义一个研究生类Graduate,继承Student类且实现Salary接口:

l 新增属性:收入salary

l 方法包括:

-构造方法GraduateString name

-重写void setFeeint fee

-重写int getFee()

-重写int getSalary(),研究生获得工资1500

-新增方法boolean isLoan(),判断是否需要贷款(收入小于学费则需贷款)

4)定义一个教师Teacher):

l 属性包括:姓名(name)、收入salary

l 方法包括:

-构造方法TeacherString name

- 重写int getSalary()教师获得工资3000

5)定义一个大学类(University通过void payOffSalary s)方法给研究生和教师发放并打印工资。

6定义主类Test,主函数中至少包括以下代码:

 

代码:

package college;public interface Salary{public abstract int getSalary();}


package college;public abstract class Student {public String name;public int fee;public Student(String name){   super();this.name=name;}public abstract void setFee(int fee);public abstract int getFee();}

package college;public class Graduate extends Student implements Salary{public int salary;public Graduate(String name){super(name);}public void setFee(int fee){this.fee=fee;}public int getFee(){System.out.println(this.name+"所缴学费为:"+fee);return fee;}public int getSalary(){salary=1500;//System.out.println(this.name+"的工资为:"+salary);return 1500;}public boolean isLoan(){if(getFee()>getSalary()){return true;elsereturn false;}}}

package college;public class Teacher implements Salary{String name;int salaty;Teacher(String name){this.name=name;}public int getSalary(){int salary = 3000;System.out.println(this.name+"的工资为:"+salary);return salary;}}

package college;public class University {void payoff(Salary s){s.getSalary();}}

package college;public class Test {public static void mian(String[]args) {Graduate g=new Graduate("小亮");g.setFee(1000);g.getFee();University u=new University();u.payoff(g);//打印输出工资System.out.println("是否需要贷款:"+g.isLoan());Graduate r=new Graduate("小李");r.setFee(3000);r.getFee();u.payoff(r);System.out.println("是否需要贷款:"+r.isLoan());Teacher t=new Teacher("王老师");u.payoff(t);}}


结果:




原创粉丝点击