需求:
活期是0.35%,定期是 1.75%,定期如果满10万额外给予3%的收益。
结算利息要先进行用户名、密码验证,验证失败直接提示,登录成功进行结算
步骤:
1.创建一个抽象的账户类Account作为父类模板,提供属性(余额)
2.在父类Account中提供一个模板方法实现登录验证,利息结算、利息输出。
3.具体的利息结算定义成抽象方法,交给子类实现。
4.定义活期账户类,让子类重写实现具体的结算方法
5.定义定期账户类,让子类重写实现具体的结算方法
实现代码
1.定义父类模板,模板方法,抽象方法
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32public abstract class account { //1.先定义账户存款 private double money; //2.定义父类模板,方便子类调用 public final void handle(String username, String passWord) { //①判断用户名和密码与先写好的Curry和FMVP是否一样, if ("Curry".equals(username) && "FMVP".equals(passWord)) { System.out.println("登录成功~~~"); //②调用抽象方法calculate 计算利息 double result = calculate(money); //③输出利息 System.out.println("您的利息为:" + result); } else { System.out.println("登录失败"); } } public abstract double calculate(double money); //无参构造器 public account() { } //有参构造器 public account(double money) { this.money = money; } //get和set方法 public double getMoney() { return money; } public void setMoney(double money) { this.money = money; } }
2.定义活期和定期两个子类继承父类
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29//活期 public class dueOnDemand extends account { //子类调用父类的有参构造器 public dueOnDemand(double money) { super(money); } @Override public double calculate(double money) { double rsMoney = money * 0.0035; return rsMoney; } } //定期 public class fixedPeriod extends account { @Override public double calculate(double money) { double rsMoney; if (money > 100000) { rsMoney = money * 0.0475; } else { rsMoney = money * 0.0175; } return rsMoney; } }
3.定义测试类来验证代码正确性
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13public class Test { public static void main(String[] args) { Scanner sc=new Scanner(System.in); //1.创建子类对象,子类对象功能更强大,注意父类不能创建对象 dueOnDemand due=new dueOnDemand(10000); //2.输入用户名和密码 System.out.println("请输入你的用户名"); String putName= sc.next(); System.out.println("请输入你的密码"); String putPassWord= sc.next(); due.handle(putName,putPassWord); }
最后
以上就是粗犷芹菜最近收集整理的关于java学习案例--子父类模拟银行利息结算需求:步骤: 实现代码的全部内容,更多相关java学习案例--子父类模拟银行利息结算需求内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复