uml面向对象设计uml实践基础 怎么样

该商品已下柜,非常抱歉!
UML面向对象设计基础
商品介绍加载中...
扫一扫,精彩好书免费看
服务承诺:
京东平台卖家销售并发货的商品,由平台卖家提供发票和相应的售后服务。请您放心购买!
注:因厂家会在没有任何提前通知的情况下更改产品包装、产地或者一些附件,本司不能确保客户收到的货物与商城图片、产地、附件说明完全一致。只能确保为原厂正货!并且保证与当时市场上同样主流新品一致。若本商城没有及时更新,请大家谅解!
权利声明:京东上的所有商品信息、客户评价、商品咨询、网友讨论等内容,是京东重要的经营资源,未经许可,禁止非法转载使用。
注:本站商品信息均来自于合作方,其真实性、准确性和合法性由信息拥有者(合作方)负责。本站不提供任何保证,并不承担任何法律责任。
印刷版次不同,印刷时间和版次以实物为准。
价格说明:
京东价:京东价为商品的销售价,是您最终决定是否购买商品的依据。
划线价:商品展示的划横线价格为参考价,该价格可能是品牌专柜标价、商品吊牌价或由品牌供应商提供的正品零售价(如厂商指导价、建议零售价等)或该商品在京东平台上曾经展示过的销售价;由于地区、时间的差异性和市场行情波动,品牌专柜标价、商品吊牌价等可能会与您购物时展示的不一致,该价格仅供您参考。
折扣:如无特殊说明,折扣指销售商在原价、或划线价(如品牌专柜标价、商品吊牌价、厂商指导价、厂商建议零售价)等某一价格基础上计算出的优惠比例或优惠金额;如有疑问,您可在购买前联系销售商进行咨询。
异常问题:商品促销信息以商品详情页“促销”栏中的信息为准;商品的具体售价以订单结算页价格为准;如您发现活动商品售价或促销信息有异常,建议购买前先联系销售商咨询。
加载中,请稍候...
加载中,请稍候...
加载中,请稍候...
加载中,请稍候...
加载中,请稍候...
加载中,请稍候...
加载中,请稍候...
浏览了该商品的用户还浏览了
加载中,请稍候...
价 格: 到
   
iframe(src='///ns.html?id=GTM-T947SH', height='0', width='0', style='display: visibility:')《UML面向对象设计基础》—第1章1.6节类
本节书摘来自异步社区《UML面向对象设计基础》一书中的第1章1.6节类,作者【美】Meliir Page-Jones,更多章节内容可以访问云栖社区“异步社区”公众号查看。
1.6 类UML面向对象设计基础回想一下在机器人软件中,通过执行Hominoid.New创建了一个对象(表示一个机器人)。Hominoid(类的一个例子)作为创建机器人对象(如句柄为602237 的对象)的模型。每当执行语句Hominoid.New时,示例一个与用Hominoid.New创建的每一个对象结构相同的对象。“结构相同”,指每个机器人对象与其他对象有相同的操作和变量,特别是当程序员编码写Hominoid类时的操作和变量。参见图1.13
类(class)是创建(示例)对象的模板。从类示例出的每个对象具有相同结构和行为。如果对象obj属于类C,则称“obj为C的一个实例”。
同一个类的对象之间有两点不同:一是每个对象具有不同的句柄;二是在任何特定时刻,每个对象可能有不同的状态(指存储在变量中的不同“值”)。
开始你可能对一个类和一个对象之间的区别比较模糊。下面提供了区别两者的简单方法:
类是用于设计和编程的。对象是运行时(由类)创建的。流行软件包对于类和对象提供了非常好的类比。比如你从Wallisoft Corp购买了电子表格软件包Visigoth 5.0。软件包本身好比类。由此创建的电子表格好比对象。每个电子表格具有作为类Visigoth 的一个实例应有的“电子表格结构”。
在运行时,一个类如Hominoid可以产生3个、300个或3000个对象(即Hominoid的实例)。因此一个类类似于一个模板:一旦模板的形状被剪裁,就可以仿制上千次。所有的仿制品都是相同的,当然与原来的模板形状也是相同的。
为清楚地说明这个问题,让我们更进一步地看一下从一个类产生的对象。正如我们所知,一个类的所有对象都具有相同的结构:相同的一组操作和属性(注:方法是操作的实现。用编程术语讲,可以将方法看作是过程或函数体的程序。类似地,变量是属性的实现,句柄是对象标识符的实现)。因此类的每个对象(事例)都具有自身实现操作的一组方法和实现属性的一组变量的拷贝。在给定的时间内,原则上讲有多少对象被示例,就有多少方法和变量被拷贝。如图1.14所示。
如果读者不介意,我将深入到计算机内部实现,进一步解释相同类(如类C)的一组对象的真实结构。假设实现图1.14中的操作的每个方法占100个字节,每个变量占2个字节,每个句柄占6个字节。因此,object1将占416个字节的内存()。因此三个对象一共占用1248个字节(3416)。十五个这样的对象将占用6240个字节(15416)。但用这种方法给对象分配内存是非常浪费的,因为15个对象的15组方法是相同的。由于每组方法只包含过程代码,一个代码集可以被所有的对象共享。因此,尽管原则上讲每个对象具有自己的操作方法,但实际上(为节省空间)它们都共享同一个物理拷贝。
另一方面,尽管每个对象的句柄和变量在结构上是相同的,但他们不能被对象共享。因为它们在运行时必须含有不同的值。
因此,由于C的所有对象都共享同一组操作,C的15个对象实际占用内存空间只有640个字节(一组方法占用400字节,15组变量占用150字节,15个句柄占用90个字节)。640字节比6240字节要节省得多,这也是面向对象环境中给对象分配内存的通常方式。参见图1.15。
在本章提到的几乎所有操作和属性都属于每个对象。它们被称为对象实例操作和对象实例属性或简称为实例操作和实例属性。然而,还有类操作和类属性。对于给定类总是存在一组类操作和类属性,不管该类产生了多少对象。类操作和类属性需要应付不能被任何对象表示的状态。类操作最著名的例子就是New,它示例一个给定类的新对象。
消息New 不能发送给某个对象。例如,我们有类BankCustomer的三个对象,表示银行的实际客户(假设这三个对象分别为bob,carol和ted),我们想示例一个新BankCustomer对象(如alice)。给哪个对象发送消息New呢?没有什么理由发送给bob,发送给carol或ted 也没道理。更糟糕的是,永远不能示例第一个银行客户,因为开始时没有任何BankCustomer 类的对象可以向其发送New消息。
因此,New是一个必须发送给类而不是发送给对象的消息。机器人游戏中的Hominoid.New就是一个例子。这是一个发送给类Honinoid的类消息,执行类操作New建立一个新对象,即类Hominoid的新实例。
类属性的一个例子是noOfHominoidsCreated:Integer。New每执行一次,该值增加一次。然而尽管有许多机器人对象,但只有该类属性的一个拷贝。可以设计一个类操作供给外界访问该类属性。
图1.16示意了具有两个类操作(每个方法占100字节)和三个类属性(每个变量占2字节)的类C的内存结构。“类结构”的字节数(本例为206)仍然不变,无论C示例了多少对象。随着类实例的增加,C及其15个对象一共占用846个字节(即206+640)内存空间。
注意原则上和实际中每个类都只有一组类方法。这点与实例方法不同,因为其原则上每个对象有一组方法(只是为了节省内存使对象的操作共享相同的方法)。类变量和实例变量的区别十分明显:每个类只有一组类变量,而类的每个对象无论在原则上还是在实际上都只有一组实例变量。如果你学习过抽象数据类型(ADTs),可能想知道类和ADT 之间的区别。则答案是:ADT描述的是接口。它只描述向ADT用户提供的功能,但并不说明ADT如何实现这些功能。而类是实现ADT的具体内容(或至少具有内部设计和代码)。实际上,对于给定的ADT,可以设计和建立几个不同的类。例如,一些类可以产生运行效率非常高的对象,而对于同一个ADT的另一些类可以产生占用内存少的对象。
本书的第三部分更详细地介绍有关抽象数据类型、类及它们之间的区别。 在此之前,可以将“类”和“ADT”看作是同义词。请把这一点记在脑子里,现在让我们转到讨论继承的重要概念。
本文仅用于学习和交流目的,不代表异步社区观点。非商业转载请注明作译者、出处,并保留本文的原始链接。uml面向对象设计基础 怎么样_百度知道
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。
uml面向对象设计基础 怎么样
我有更好的答案
所谓“好的面向对象设计”是那些可以满足“应对变化,提高复用”的设计。面向对象设计模式不像算法技巧,可以照搬照用,它是建立在对“面向对象”纯熟、深入的理解的基础上的经验性认识。掌握面向对象设计模式的前提是首先掌握“面向对象”,但是面向对象设计模式的最终实现仍然要使用面向对象编程语言来表达。面向对象设计模式描述的是软件设计,因此它是独立于编程语言的、.NET、C++/CLI等,如Visual Basic什么是面向对象设计编辑概念面向对象设计模式是“好的面向对象设计”
采纳率:92%
来自团队:
为您推荐:
其他类似问题
您可能关注的内容
换一换
回答问题,赢新手礼包商品名称:
评价得分:
此评价对我
此评价对我
此评价对我
此评价对我
此评价对我
此评价对我
此评价对我
此评价对我
此评价对我
此评价对我
此评价对我
此评价对我
此评价对我
此评价对我
此评价对我
此评价对我
此评价对我
此评价对我
此评价对我
此评价对我
多品类齐全,轻松购物
快多仓直发,极速配送
好正品行货,精致服务
省天天低价,畅选无忧相关文章推荐
业务模型;UML类图
类图(Class Diagram)可能是用得最多的一种UML图。类图的基本语法并不复杂,你可能最多学习两三天就可以掌握,然而要真正做到活用类图则可能需要几年的功力。类图是锻炼面向对象分析(OOA:Ob...
1.类图与对象图的含义
类图(Class Diagram)显示了系统的静态结构,而系统的静态结构构成了系统的概念基础。系统中的各种概念都是现实应用中有意义的概念,这些概念包括真实世界中的概念、抽象的...
他的最新文章
讲师:董晓杰
讲师:姚远
他的热门文章
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)}

我要回帖

更多关于 uml建模 面向对象设计 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信