在Android里定义了如下的类别继承(Class Inheritance)体系:
Android里的类别继承及对象组合" src="http://www.cnmsdn.com/attached/201005/20100531180523_17403.jpg" width="300" height="232" border="0" onload="return imgzoom(this,550);" style="cursor:pointer;" onclick="javascript:window.open(this.src);"/>
还有如下的对象组合(Object Composition)关系:
Android里的类别继承及对象组合" src="http://www.cnmsdn.com/attached/201005/20100531180524_64852.jpg" width="300" height="215" border="0" onload="return imgzoom(this,550);" style="cursor:pointer;" onclick="javascript:window.open(this.src);"/>
ViewGroup的子孙类别(如下图的LinearLayout),也自然继承了上图的组合关系:
Android里的类别继承及对象组合" src="http://www.cnmsdn.com/attached/201005/20100531180525_37085.jpg" width="300" height="250" border="0" onload="return imgzoom(this,550);" style="cursor:pointer;" onclick="javascript:window.open(this.src);"/>
同样地,View的子孙类别也具有同样的继承,可推导出如下之组合关系:
Android里的类别继承及对象组合" src="http://www.cnmsdn.com/attached/201005/20100531180526_14268.jpg" width="300" height="222" border="0" onload="return imgzoom(this,550);" style="cursor:pointer;" onclick="javascript:window.open(this.src);"/>
这些是Android已经提供的基类(Base Class)。
在这里,话插一下,我在北京程序员杂志上写的<<基类与愚公移山>>一文里,我称之为『畚箕』。Android应用程序的开发者就如同挑畚箕的人,在中华历史上,有个家喻户晓的伟大人物就是『愚公』,它是挑畚箕的人,想把泰山的土一担一担挑去填北海。现在,我就来扮演愚公的角色,挑一担(写个Android应用程序)给你看看,但是请你不要叫我愚公就是。此外,我这个超级愚公还可以一根扁担挑3个畚箕呢!!
首先建立一个Android Project:
Android里的类别继承及对象组合" src="http://www.cnmsdn.com/attached/201005/20100531180528_35442.jpg" width="239" height="300" border="0" onload="return imgzoom(this,550);" style="cursor:pointer;" onclick="javascript:window.open(this.src);"/>
我这个愚公希望手机画面出现如下:
Android里的类别继承及对象组合" src="http://www.cnmsdn.com/attached/201005/20100531180529_37898.jpg" width="300" height="218" border="0" onload="return imgzoom(this,550);" style="cursor:pointer;" onclick="javascript:window.open(this.src);"/>
在画面上输入一个字符串,并按下时,就在画面title区输出了该字符串:
Android里的类别继承及对象组合" src="http://www.cnmsdn.com/attached/201005/20100531180530_16672.jpg" width="300" height="225" border="0" onload="return imgzoom(this,550);" style="cursor:pointer;" onclick="javascript:window.open(this.src);"/>