里氏代换原则

java 复制代码
package com.jmj.principles.dmeo2.after;

/**
 * 四边形接口
 */
public interface Quadrilateral {

    double getLength();


    double getWidth();

}
java 复制代码
package com.jmj.principles.dmeo2.after;

/**
 * 长方形类
 */
public class Rectangle implements Quadrilateral{
    private double length;
    private double width;

    public double getWidth() {
        return width;
    }

    public void setWidth(double width) {
        this.width = width;
    }

    public double getLength() {
        return length;
    }

    public void setLength(double length) {
        this.length = length;
    }
}
java 复制代码
package com.jmj.principles.dmeo2.after;



public class RectangleDemo {

    public static void main(String[] args) {
     Rectangle rectangle = new Rectangle();
        rectangle.setLength(20);
        rectangle.setWidth(10);
        resize(rectangle);
        printLengthAndWidth(rectangle);
    }

    //扩宽方法
    public static void  resize(Rectangle rectangle){
        //宽如果比长小,进行扩宽的操作
        while (rectangle.getWidth()<=rectangle.getLength()){
            rectangle.setWidth(rectangle.getWidth()+1);
        }

    }

    public static void printLengthAndWidth(Rectangle rectangle){
        System.out.println(rectangle.getLength());
        System.out.println(rectangle.getWidth());
    }

}
java 复制代码
package com.jmj.principles.dmeo2.after;

import com.jmj.principles.dmeo2.before.Rectangle;

/**
 * 正方形
 */
public class Square implements Quadrilateral {

    private double side;

    public double getSide() {
        return side;
    }

    public void setSide(double side) {
        this.side = side;
    }

    @Override
    public double getLength() {
        return side;
    }

    @Override
    public double getWidth() {
        return side;
    }
}
相关推荐
期待のcode几秒前
Thymeleaf模板引擎
java·html·springboot
白宇横流学长5 分钟前
基于SpringBoot实现的电子发票管理系统
java·spring boot·后端
白宇横流学长7 分钟前
基于SpringBoot实现的智慧就业管理系统
java·spring boot·后端
粉末的沉淀8 分钟前
tauri:关闭窗口后最小化到托盘
前端·javascript·vue.js
weixin_4624462312 分钟前
EasyExcel 动态修改模板 Sheet 名称:自定义 SheetWriteHandler 拦截器
java·开发语言·easyexcel
赵庆明老师17 分钟前
NET 使用SmtpClient 发送邮件
java·服务器·前端
苏小瀚19 分钟前
[Java EE] HTML·CSS·JavaScript基础
java·java-ee
绝世唐门三哥29 分钟前
使用Intersection Observer js实现超出视口固定底部按钮
开发语言·前端·javascript
李拾叁的摸鱼日常30 分钟前
Spring 框架中 RequestContextHolder 深度解析
java·架构
C++业余爱好者39 分钟前
JVM优化入门指南:JVM垃圾收集器(GC)介绍
java·开发语言·jvm