接口隔离原则~

接口隔离原则是面向对象设计原则中的一条原则,它的核心思想是将大接口拆分为多个小接口客户端不应该依赖它不需要的接口,即一个类对另一个类的依赖应该建立在最小的接口上,接口应该具有单一功能,不应该包含不相关或不需要的方法,以便提高系统的灵活性和可维护性。它同时也要求接口的设计应该稳定,一旦设计好后,就不应该频繁地进行修改。

实例:

假设我们定义图形的基本操作有绘制,移动,缩放,对于某些特殊的功能,并不是每个图形所必须的,那么根据接口隔离原则,我们不应该将其特殊的功能定义在包含图形基本操作的接口中,而是写在一个单独的接口中,以便需要该功能的类可以实现该接口

// Shape接口---定义图形的基本操作
 interface Shape {
    
    
    void draw();
    void move(int x, int y);
    void resize(int width, int height);
}
// Rotatable接口---“特殊功能"图形的旋转
  interface Rotatable {
    
    
    void rotate(double angle);
}
// 矩形类不需要实现新添加的旋转功能,不需要实现Rotatable接口
class Rectangle implements Shape {
    
    
    // 实现绘制、移动和缩放方法...
    @Override
    public void draw() {
    
    
        // 绘制矩形...
    }
    @Override
    public void move(int x, int y) {
    
    
        // 移动矩形...
        }
    @Override
    public void resize(int width, int height) {
    
    
        // 缩放矩形...
    }}
// 圆形类---需要实现新添加的旋转功能,需要实现Rotatable接口
public class Circle implements Shape, Rotatable {
    
    
    @Override
    public void draw() {
    
      // 绘制圆形...
        }
    @Override
    public void move(int x, int y) {
    
    
        // 移动圆形...
    }
    @Override
    public void resize(int width, int height) {
    
    
        // 缩放圆形...
    }
    @Override
    public void rotate(double angle) {
    
    
        // 旋转圆形...
    }
}

猜你喜欢

转载自blog.csdn.net/m0_64365419/article/details/133157361
今日推荐