欢迎来到天天文库
浏览记录
ID:40004393
大小:2.61 MB
页数:60页
时间:2019-07-17
《[计算机]uml课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、面向对象建模技术信息工程与自动化学院计算机系/计算机重点实验室教师:陈星第三课类继承(一)授课日期:2011年3月7★红色部分属于大纲要求类继承继承是两个类之间的一种具有单向传递性的关系不是对象之间的关系与人的分类概念较为接近什么是“继承”类继承关于“继承”的几个术语类继承继承在对象之间的作用继承的含义ABab?对象a与对象b之间会产生什么关系?类继承继承在对象之间的作用继承的含义ABaba∈b对象a所具有的属性和操作对象b自动都有。a∈b类继承继承在对象之间的作用继承的含义ABabbinstanceofA“对象b是A的实例”是真命题。都是同类对象类继承继承在对
2、象之间的作用继承的含义AB把系统中所有A的对象全部或部分替换为B的对象,系统也可以正常工作。替换终于有一条线索,可以处理这种构件之间的可替换性类继承设计一个商品销售界面的框架例子商品销售界面分类列表搜索区大图标展示区/商品细节区类继承定义一个框架例子类继承利用类继承修改系统,有时称为“无缝焊接”例子我的检索面板我的商品细节面板利用类继承,把自己的程序替换进去,让它们一起工作。类继承利用类继承,可以平滑地升级系统例子V2.0一些更好的程序我的商品细节面板V2.0你还可以继续改进类继承利用类继承,系统可以“平滑的进化/开发”例子旧系统新系统在原有框架下替换一些构件模
3、型实际系统把概念构件替换为实际构件面向对象软件开发方法的思想类继承继承的一般描述类继承请为Car、Bicycle、Truck建立类模型对象模型和类模型继承的范例1aCaraBicycleaTruck200milesPerGallonnumberOfGearsAxleWeighttopSpeed3.53301208对象类分界CarBicycleTruck类继承请为Car、Bicycle、Truck建立类模型类和属性继承的范例1milesPerGallonnumberOfGearsAxleWeighttopSpeedCarBicycleTruck类继承放置一个新的类
4、LandVehicle,不改变Car、Bicycle、Truck的语义?减少“黑线”继承的范例1milesPerGallonnumberOfGearsAxleWeighttopSpeedCarBicycleTruckLandVehicle通过绿线和黑线的组合Car、Bicycle、Truck还是能连接到topSpeed类继承UML模型UML中,类型放在冒号后面。类继承为List、Bag、LinkedList、ArrayList建立类模型。继承的范例2……aBagaLinkedListanArrayList对象类分界一组对象BagLinkedListArrayLi
5、st类继承放置一个新类Collection继承的范例2Collection一组对象BagLinkedListArrayList类继承LinkedList和ArrayList的对象是有序的,维护元素加入的次序。对象世界继承的范例2……aBagaLinkedListanArrayList02…1加入的次序类继承类世界继承的范例2Collection一组对象BagLinkedListArrayList序映射类继承增加一个新类继承的范例2Collection一组对象BagLinkedListArrayListNoName序映射类继承进一步减少绿线把新类定名为“List”
6、继承的范例2Collection一组对象BagLinkedListArrayListList序映射只要利用黑线与绿线组合;绿线与绿线组合,对象与类和属性的对应关系没有改变。减少了概念的联系,降低了耦合.类继承考虑方法contains:继承的范例2contains类继承利用继承性,只需要放置在继承的顶点(根类)。继承的范例2contains类继承考虑方法elementAt:继承的范例2elementAt类继承利用继承性:继承的范例2elementAt类继承考虑方法contains:继承的范例2numberOfElements类继承利用继承性:继承的范例2numbe
7、rOfElements类继承用UML表达类模型继承的范例2类继承整理后UML类模型继承的范例2aBagaLinkedListaArrayList这些对象有哪些操作?类继承继承的范例2aLinkedListaArrayListelementAt在两个对象中的实现是一样的吗?List类的elementAt如何实现?类继承继承的范例2其实这是一个抽象方法。类继承使用抽象类是人类智慧的一种本能。你会给很多水果削掉果皮,自然而然产生“削果皮”的概念,产生了抽象类Fruit抽象方法peel假如给一个Fruit的对象发送peel消息,将会怎样?假如给List对象发送一个con
8、tains消息,将会怎样
此文档下载收益归作者所有