• 第十次作业-找回感觉的练习


    一、题目

    贷款购买房屋时,支付首付款是一种功能操作,定义在Payment接口中。住宅产权房屋类和商业产权房屋类均具有支付首付款的功能。依据以上内容,创建一个接口和两个类:

    (1)接口Payment,包含:

    • double downPay(double price,double area):一个计算房屋首付款的方法,参数price代表房屋每平方米的价格,area代表房屋的总平方数,即面积。

    (2) Payment接口的非抽象使用类——Residence类(住宅产权房屋类),包含:

    • double downPay(double price,double area):重写计算房屋首付款的方法,并将结果返回(住宅产权房屋的首付比例为总房款的20%)。

    (3) Payment接口的非抽象使用类——Commercial类(商业产权房屋类),包含:

    • double downPay(double price,double area):重写计算房屋首付款的方法,并将结果返回(商业产权房屋的首付比例为总房款的45%)。

          在主类Test中,创建住宅产权房屋对象,完成住宅产权房屋首付款的计算。再将定义商业产权房屋对象传递给Payment接口对象,之后利用接口回调完成商业产权房屋首付款的计算。输入测试数据,完成结果的输出。

    二、代码

    1.Test.java

    import java.util.Scanner;
    /**
     * 创建住宅产权房屋对象,完成住宅产权房屋首付款的计算。
     * 再将定义商业产权房屋对象传递给Payment接口对象,
     * 之后利用接口回调完成商业产权房屋首付款的计算。
     * @author X1393
     */
    public class Test {
    	/**
    	 * @param args
    	 */
    	public static void main(String[] args) 
    	{
    		// TODO Auto-generated method stub
    		Residence R = new Residence(); 	//定义对象
    		Payment C =new Commercial(); 	//定义接口对象引用Commercial
    		Scanner reader = new Scanner(System.in);
    		System.out.println("请输入房屋的总面积");
    		double S = reader.nextDouble();
    		System.out.println("请输入房屋每平方米的价格");
    		double P = reader.nextDouble();
    		System.out.println("住宅产权房屋的首付:"+R.downPay(S, P));
    		System.out.println("商业产权房屋的首付:"+C.downPay(S, P));
    	
    	}
    
    }
    

    2.Commercial.java

    /**
     * Payment接口的非抽象使用类——Commercial类
     * 重写求首付方法
     * @author X1393
     *
     */
    public class Commercial implements Payment{
    
    	@Override
    	public double downPay(double price, double area) { //重写方法
    		// TODO Auto-generated method stub
    		return price*area*0.45;
    	}
    
    }
    

    3.Residence.java

    /**
     * 定义一个Payment接口的非抽象使用类——Residence类
     * 重写求首付方法
     * @author X1393
     *
     */
    public class Residence implements Payment{
    
    	@Override
    	public double downPay(double price, double area) {  //重写方法
    		// TODO Auto-generated method stub
    		return price*area*0.2;
    	}
    
    }
    

    4.Payment.java

    /**
     * 创建接口包含计算首付的方法payment
     * @author X1393
     *
     */
    public interface Payment {
    	double downPay(double price,double area);
    }
    

    三、运行结果

  • 相关阅读:
    【带着canvas去流浪(14)】Three.js中凹浮雕模型的生成方式
    Stanford公开课《编译原理》学习笔记(1~4课)
    Vue源码中compiler部分逻辑梳理(内有彩蛋)
    Vue+ElementUI项目使用webpack输出MPA
    Vue-Router中History模式
    Vue中拆分视图层代码的5点建议
    如何正确使用Java泛型
    ZooKeeper的三种典型应用场景
    Tomcat多实例部署
    Tomcat常用的过滤器
  • 原文地址:https://www.cnblogs.com/Xwwg/p/11804487.html
Copyright © 2020-2023  润新知