找回感受的練習

題目要求

貸款購買房屋時,支付首付款是一種功能操做,定義在Payment接口中。住宅產權房屋類和商業產權房屋類均具備支付首付款的功能。依據以上內容,建立一個接口和兩個類:java

(1)接口Payment,包含:ide

double downPay(double price,double area):一個計算房屋首付款的方法,參數price表明房屋每平方米的價格,area表明房屋的總平方數,即面積。
(2) Payment接口的非抽象使用類——Residence類(住宅產權房屋類),包含:測試

double downPay(double price,double area):重寫計算房屋首付款的方法,並將結果返回(住宅產權房屋的首付比例爲總房款的20%)。
(3) Payment接口的非抽象使用類——Commercial類(商業產權房屋類),包含:3d

double downPay(double price,double area):重寫計算房屋首付款的方法,並將結果返回(商業產權房屋的首付比例爲總房款的45%)。
在主類Test中,建立住宅產權房屋對象,完成住宅產權房屋首付款的計算。再將定義商業產權房屋對象傳遞給Payment接口對象,以後利用接口回調完成商業產權房屋首付款的計算。輸入測試數據,完成結果的輸出。code

代碼

Payment 接口

package com.tomotoes.probleam.ten;

public interface Payment {
    double getRatio();

    default double downPay(double price, double area) {
        return price * area * getRatio();
    }
}

Residence 類

package com.tomotoes.probleam.ten;

/**
 * @author Simon
 * @project practice
 * @package com.tomotoes.probleam.ten
 * @date 2019/11/6 8:48
 */
public class Residence implements Payment {
    public static final double RATIO = 0.2;

    @Override
    public double getRatio() {
        return RATIO;
    }
}

Commercial 類

package com.tomotoes.probleam.ten;

/**
 * @author Simon
 * @project practice
 * @package com.tomotoes.probleam.ten
 * @date 2019/11/6 8:49
 */
public class Commercial implements Payment {
    public static final double RATIO = 0.45;

    @Override
    public double getRatio() {
        return RATIO;
    }
}

Test 類

package com.tomotoes.probleam.ten;

import java.util.Scanner;

/**
 * @author Simon
 * @project practice
 * @package com.tomotoes.probleam.ten
 * @date 2019/11/6 8:46
 */
public class Test {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        {
            System.out.println("請輸入住宅產權房屋的信息(每平方米的價格 , 總平方數)");
            Residence residence = new Residence();
            final double result = residence.downPay(scanner.nextDouble(), scanner.nextDouble());
            System.out.println(result);
        }
        {
            System.out.println("請輸入住宅產權房屋的信息(每平方米的價格 , 總平方數)");
            Payment payment = new Commercial();
            final double result = payment.downPay(scanner.nextDouble(), scanner.nextDouble());
            System.out.println(result);
        }
    }
}

運行結果

相關文章
相關標籤/搜索