我正在读一本关于android的书,但是在一本迷你书上刷了一些java的东西。我已经读过一本关于Java的书,并且了解接口。书上说
接口实现层次结构(如果可以称之为“层次结构”)跨越类扩展层次结构。图4-1说明了这个想法,其中我垂直显示类扩展并水平显示接口实现。(Android的KeyboardView类位于android.inputmethod服务包中。清单4-3中的KeyboardView和内置的MyListener类都实现了Android的OnClickListener接口。
Burd,Barry (2011-11-14)。Android应用程序开发全合一的傻瓜(第197页)。约翰·威利和儿子。Kindle版。
“切割累加类等级”是否意味着兄弟类都扩展了接口.我不明白他们用这个图表指出了什么,并说它横贯横贯图4-3中的类的垂直传家宝.请解释一下,如果有比我所得到的更深刻的特殊概念.
发布于 2012-08-01 23:28:50
MyListener
和KeyboardView
-classes都实现OnClickListener
-interface。这使得这两个类都是OnClickListener
的。
其思想如下:每个类都来自一个基类(Object
是可用的最基本的类)。这使得每个类都成为Object
。从面向对象的角度来看,你可以说的最抽象的事情是,它是一个对象。
回到接口,假设您有两个接口,Singer
和Writer
。一个人可以是一个歌手,一个人可以是一个作家。但他/她也可以兼而有之。
实现Singer
和/或Writer
将告诉您更多关于对象的信息。一些代码:
class Guy implements Singer, Writer{
// Empty
}
Guy chris = new Guy();
hireWriter(chris); // Accepts "Writer" as it's parameter
hireSinger(chris); // Accepts "Singer" as it's parameter
通过实现接口,您可以告诉代码这个对象是:
Object
Singer
Writer
通过提供更多关于类的信息,这种“切断类的层次结构”不是从更多的类派生出来的,而是通过实现接口来实现的。
https://stackoverflow.com/questions/11768861
复制相似问题