1.java编程基础入门43继承和组合_第1页
免费预览已结束,剩余2页可下载查看

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、43继继承是象的三大特征之一,也是实复用的重要,Java 的继承具有单继的特点,每个类只有一个直接父类,43继继承是象的三大特征之一,也是实复用的重要,Java 的继承具有单继的特点,每个类只有一个直接父类,可以有多个间接父类。继承是一种is-a的关系。优点:代码复子类可重写父类的方创建子类对象时,无需创建父类的对象,子类自动拥有父类的成员变量和方法。子类在父类的基础上可根据自己的业务需求扩展,新增属性和方法缺点:破坏封封装:通过private 修饰属性属性,使得数据不容易被任意窜改,继承:通过子类继承父类从而获得父类的属性和方法,正常情况下,protected修饰属性,专门用于给子类继承的,

2、权限一般在本包下和子类里继承破坏了封装:是因为属性的修饰符被修改,使得属性在本包和子类可以任意修改属性的数据,数据的安全性从而得不到保如下例子中父类Fruit中有成员变量wgh。Ap继承了Fruit之后,pl可接操作Fruitpub class Fruit /成员变/ pva ubl weight;为了让子类继承,改为了: poece dob eihpublic void System.out.pln(我是一个水果!重 + weh * 继承子pu class Al xted rui pu ic v main(Stringargs) Ap a = new pea.eg= 10支持扩展,但往往以增

3、加复杂度为代不支持动态继承,在运行时,子类无法选择不同的父紧耦当子类继承了父类,需要修改父类接口名称时,修改了接口名称,子类都会报错,如,可能还可以修改,如果由多个人修改,不敢想象呀组紧耦当子类继承了父类,需要修改父类接口名称时,修改了接口名称,子类都会报错,如,可能还可以修改,如果由多个人修改,不敢想象呀组组合? 组合在代码中如何体现呢?如下: public class Anima public voidbreath() System.out.p吸中.);ln(组合pui class rd /将Anil作为Briat i a pul Bird(Ania hi. = pub ah) .ahpu

4、l fly() Symu飞ln(我pul ic vi main(Stringargs) im anima = new nial(; ir b = new Bird(animal); bet优不破坏封装,松具有可扩展支持动态组缺整体类不能自动获得和局部类同样的组合对比继承结构,子类可以获得父实现细节,破坏封装。组合结构:整体不能看到分实现细节,不会破坏封继承模式是单继承,不支持分实现细节,不会破坏封继承模式是单继承,不支持动态继承,组合模式可以支持动态继承结构中,子类可以回溯父类,直到Object类,这样就可以根据业务实现多态和向),组合中不可以上在开发过程中,如果复用的部分不会改变,为了安全性和封装的本质,应该使不仅需要复用,而且还可能要重写或扩展,则应该使用继合,当如何选择两个类之间,明显的存在整体和部分的关系,则应该使用组合来实现复用

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论