爪哇2博客
爪哇2博客

爪哇中的接口隔离原理

在本教程中,我们将学习接口隔离原理,这是其中之一。 固体原则.
简而言之,接口隔离原则指示不应强迫客户端实施其赢得的方法’不能使用。您始终可以从您不使用的方法中抛出UnsupportedOperationException’不想使用,但不建议使用,这会使您的班级难以使用。

让’借助于一个简单的例子就可以理解。
假设我们已经创建了如下简单的Set接口。

1
2
3
4
5
6
7
8
 
上市 接口 <E> {
   布尔值 (E e);
   布尔值 包含(目的 o);
   E 天花板(E e);
   E 地板(E e);
}
 

创建一个类TreeSet.java,如下所示。

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
 
组织.Arpit.爪哇2blog;
 
上市 树集 实施 {
 
    @覆写
    上市 布尔值 (目的 e) {
        //实现此方法
        返回 ;
    }
 
    @覆写
    上市 布尔值 包含(目的 o) {
        //实现此方法
        返回 ;
    }
 
    @覆写
    上市 目的 天花板(目的 e) {
        //实现此方法
        返回 空值;
    }
 
    @覆写
    上市 目的 地板(目的 e) {
        //实现此方法
        返回 空值;
    }
}
 

如下创建另一个类HashSet.java。

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
 
组织.Arpit.爪哇2blog;
 
上市 哈希集 实施 {
 
    @覆写
    上市 布尔值 (目的 e) {
        返回 ;
    }
 
    @覆写
    上市 布尔值 包含(目的 o) {
        返回 ;
    }
 
    @覆写
    上市 目的 天花板(目的 e) {
        //此方法不适用于HashSet
        返回 空值;
    }
 
    @覆写
    上市 目的 地板(目的 e) {
        //此方法不适用于HashSet
        返回 空值;
    }
 
}
 

您是否看到了问题,即使您在HashSet中不需要ceiling和floor方法,我们也必须实现它们。
上述问题的正确解决方案是:
创建另一个名为NavigableSet的接口,它将具有ceiling和floor方法。

1
2
3
4
5
6
 
上市 接口 导航集<E> {
   E 天花板(E e);
   E 地板(E e);
}
 

和设置界面将如下更改

1
2
3
4
5
6
 
上市 接口 <E> {
   布尔值 (E e);
   布尔值 包含(目的 o);  
}
 

现在TreeSet.java将实现Set和NavigableSet两个接口。如下更改TreeSet.java。

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
 
组织.Arpit.爪哇2blog;
上市 树集 实施 ,可导航集{
 
    @覆写
    上市 布尔值 (目的 e) {
        //实现此方法
        返回 ;
    }
 
    @覆写
    上市 布尔值 包含(目的 o) {
        //实现此方法
        返回 ;
    }
 
    @覆写
    上市 目的 天花板(目的 e) {
        //实现此方法
        返回 空值;
    }
 
    @覆写
    上市 目的 地板(目的 e) {
        //实现此方法
        返回 空值;
    }
}
 

哈希集将仅实现Set,因为它不需要ceiling和floor方法。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 
组织.Arpit.爪哇2blog;
 
上市 哈希集 实施 {
 
    @覆写
    上市 布尔值 (目的 e) {
        返回 ;
    }
 
    @覆写
    上市 布尔值 包含(目的 o) {
        返回 ;
    }
 
}
 

如您在这里看到的,HashSet没有实现任何不需要的方法。
那’关于Java中的接口隔离原理的全部内容

分享这个

作者

关注作者

相关文章

  • 一月02

    爪哇中的开放式封闭原则

    在本教程中,我们将学习Java中的开放式封闭设计原则。开放式封闭原则是SOLID原则之一。开放式封闭设计原则规定“软件实体(类,模块,功能等)应为扩展而开放,而为修改而封闭”。此定义由Bertrand Meyer提供。一旦我们编写了课程,然后[…]

  • 12月28日

    爪哇中的单一责任原则

    在本教程中,我们将学习Java中的单一职责原则,它是SOLID原则之一,也是最简单的设计原则。单一责任原则规定,更改类应该只有一个原因。如果您有多个原因来更改类,则可以根据[…]

  • 爪哇中的扎实原则
    11月9日

    爪哇中的SOLID原理

    在这篇文章中,我们将看到Java中的5条SOLID原则。罗伯特·C·马丁(Robert C. Martin)提出了五项面向对象的设计原则,并使用了缩写S.O.L.I.D。该首字母缩写词的每个字母都讨论Java的原理。当您结合使用S.O.L.I.D的所有原理时,对您来说会变得更加容易[…]

发表评论

您的电子邮件地址不会被公开。 必需的地方已做标记 *

订阅我们的新闻

获取质量教程到您的收件箱。现在订阅。


让’s be Friends

©2020 爪哇2博客