大学生学费(接口)
来源:互联网 发布: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 方法包括:
- 构造方法Student(String name)
- 抽象方法void setFee(int fee)
-抽象方法int getFee()
2)定义一个接口Salary:包含一个方法int getSalary();
3)定义一个研究生类Graduate,继承Student类且实现Salary接口:
l 新增属性:收入(salary)
l 方法包括:
-构造方法Graduate(String name)
-重写void setFee(int fee)
-重写int getFee()
-重写int getSalary(),研究生获得工资1500
-新增方法boolean isLoan(),判断是否需要贷款(若收入小于学费则需贷款)
4)定义一个教师类(Teacher):
l 属性包括:姓名(name)、收入(salary)
l 方法包括:
-构造方法Teacher(String name)
- 重写int getSalary(),教师获得工资3000
5)定义一个大学类(University),通过void payOff(Salary 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);}}
结果:
阅读全文
0 0
- 大学生学费(接口)
- 第九周—大学生学费(接口)
- 接口练习 模拟学校学费发工资
- 接口 模拟学校学费老师研究生工资
- 大学生追女友花光学费露宿街头 4天偷396罐红牛
- 教程网(要学费的)
- 研究生学费返还是“文明”地剥夺 (转)
- 大学生
- 大学生
- 大学生
- 大学生
- 大学生
- 大学生?
- 中国石油大学(北京)在职EMBA学费排名 Churchman University中英双语课程风靡北美
- 西工大缴费系统(学费和网费),可以在网上给锐捷充值!
- 西工大缴费系统(学费和网费),可以在网上给锐捷充值!
- 了解美国本科学费早做筹划 语言考试(雅思)更当提前准备
- 小弟的学费
- 翘边阴影
- 鼠标右键 弹出属性对话框 QAction*cutAction
- Aerospike partition tree的内存管理
- OSI七层协议模型和TCP/IP四层模型
- 【Python】安装与测试
- 大学生学费(接口)
- 寻找正在连接中的网络连接
- 关于博客搬家的说明
- Java8学习笔记
- 培养整理的习惯
- 2017最后的机会:与100+顶尖科技商业领袖共话未来丨邀请函
- 十四个功能强大的 Android 引导视图
- 世界首例人类头部移植手术成功实施;董明珠怒怼贾跃亭;沃尔玛预购15辆特斯拉电动卡车丨价值早报
- C#落实的window消息队列