码迷,mamicode.com
首页 > 其他好文 > 详细

接口和枚举

时间:2018-06-16 21:50:43      阅读:177      评论:0      收藏:0      [点我收藏+]

标签:组成   tuesday   说明   限时   特性   可靠   数据类型   nbsp   重要   

接口

Java中的 interface (接?)是?种表?抽象数据类型的好?法。接?中是?连串的?法标识,但是没有?法体 (定义)。如果想要写?个类来实现接?,我们必须给类加上 implements 关键字,并且在类内部提供接?中? 法的定义。所以接?+实现类也是Java中定义抽象数据类型的?种?法。

在Java代码中,接?被?的很?泛(但也不是所有类都是接?的实现),这?列出来了?个使?接?的好处:

  • 接?对于编译器和读者来说都是重要的?档:接?不仅会帮助编译器发现ADT实现过程中的错误,它也会帮助 读者更容易/快速的理解ADT的操作——因为接?将ADT抽象到了更?的层次,?户不需要关?具体实现的各 种?案。
  • 允许进?性能上的权衡:接?使得ADT可以有不同的实现?案,?这些实现?案可能在不同环境下的性能或其 他资源特性有很?差别。使?者可以根据??的环境/需求选择合适的实现?案。但是,在我们选择特定的? 案后,我们依旧要保持代码的表?独?性,即当ADT发?(内部)改变或更换实现?案后代码依然能正常运?。
  • 通过未决定的规格说明给实现者以定义?法的?由:例如,当把?个有限集合转化为?个列表的时候,有? 些实现可能是使?较慢的?法,但是它们确保这些元素在列表中是排好序的;?其他的实现可能是不管这些 元素转换后在列表中的排序,但是它们的速度更快。
  • ?个类具有多种“视?”:在Java中,?个类可以同时实现多个接?,例如,?个能够显?列表的窗?部件就可 能是?个同时实现了窗?和列表这两个接?的类。这反映的是多种ADT特性同时存在的特殊情况。
  • 允许不同信任度的实现:另?个多次实现?个接?的原因在于,你可以写?个简单但是?常可靠的实现,也 可以写?个很“炫”但是bug存在的?率(稳定性)??些的实现。?使?者可以根据实际情况选择相应的?案。

枚举 

有时候?个ADT的值域是?个很?的有限集,例如:

?年中的?份: January, February, …

?周中的天数: Monday, Tuesday, …

?向: north, south, east, west

画线时的line caps : butt, round, square


这样的类型往往会被?来组成更复杂的类型(例如 DateTime 或者 Latitude ),或者作为?个改某个?法的? 为的参数使?(例如 drawline )。当值域很?且有限时,将所有的值定义为被命名的常量是有意义的,这被称为枚举(enumeration)。

接口和枚举

标签:组成   tuesday   说明   限时   特性   可靠   数据类型   nbsp   重要   

原文地址:https://www.cnblogs.com/L160300101/p/9191423.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!