- 1、本文档共96页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
上海交通大学计算机科学与工程系-CoopIS.ppt
* * 其它 名称可视性 在同一程序的不同模块中如果用了同样的名称,如何区分 “翻转域名表示方法” 使用其它组件 例:import java.util.arrayList or import java.util.* * * 小结 软件与编程 什么是Java Java的历史 Java的特点 Java相关的概念 面向对象概念 Java与面向对象 AWT 所提供的图形功能是各种通用型操作系统所提供的图形功能的交集。由于AWT 是依靠本地方法来实现其功能的,我们通常把AWT控件称为重量级控件。 AWT 是基于本地方法的C/C++程序,其运行速度比较快;Swing是基于AWT 的Java程序,其运行速度比较慢 * * * 类Quadrilateral的界面可以等同于类Polygon的界面,而Rectangle类的界面又与Quadrilateral类的界面相同。 新类的界面还可以被看做是既存类界面的一个扩充界面。例如,从一个既存的车辆类派生的四轮驱动车类可能不仅是车辆类子集合定义的特殊化,而且还可能在新类的界面中引入新的能力。 * * * * 在类的继承层次中,Quadrilateral的实际参数可以替换Polygon的形式参数。 类Quadrilateral的界面与类Polygon的界面是相容的 Quadrilateral的界面可响应Polygon界面的所有消息。 * * (4) 消息:合作之道 消息(message):对象间只能通过发送消息进行联系,外界不能处理对象的内部数据,只能通过消息请求它进行处理(如果它提供相应消息的话)。 * * 消息是一个对象与另一个对象的通信单元,是要求某个对象执行类中定义的某个操作的规格说明。发送给一个对象的消息定义了一个方法名和一个参数表(可能是空的),并指定某一个对象。 一个对象接收的消息则调用消息中指定的方法,并将形式参数与参数表中相应的值结合起来。 * * OOM = Object +Class +Inheritance +Communication with messages * * 传统方法:面向过程设计,以计算为核心,数据与操作分离,不易理解 OOM:以object 为核心,强调对现实概念的模拟而不强调算法。“面向对象方法学的基本原则,是按照人们习惯的思维方式建立问题域的模型,开发出尽可能直观、自然地表现求解方法的软件系统”。 Class:由特殊到一般的归纳(induction) Inheritance:由一般到特殊的演绎(deduction) (5) 传统方法与OO的比较 * * 传统方法:结构依赖于功能,不稳定。 OOM:以object模拟实体,需求变化不会引起结构的整体变化,因为实体相对稳定,故系统也相应稳定。 传统方法:通过建立标准函数库来重用软构件。但标准函数缺少必要的“柔性”,难以适应不同场合的不同需要 OOM:一个class所有的 instances 都可重用它的代码;由 inheritance 派生出的新的 class 可重用其父类的代码,并且可以修改、扩充而不影响其父类的使用。。 * * 传统方法:可维护性是最令人头痛的问题。 OOM:从以下几方面改善了可维护性 稳定性好:软件功能需求的变化不牵动全局,只需局部修改; Class 独立性强:只要修改不涉及class的对外接口,则内部修改完全不影响外部调用; Inheritance和多态性(polymorphism)使其很容易被修改和扩充; 容易理解; 容易测试、调试。 有这一条就什么都好办了! 这一点还可商榷 * * OOM并不是减少了开发时间,而是通过提高可重用性、可维护性,进行扩充和修改的容易程度等,从长远角度改进了软件的质量。 OOM与Prototyping结合使用效果好。 6.6 对象概念 * * f1 f2 f3 …… fi …… fn fi(X) S gi(X,S) S’ 输出 输出 1、Object : = ID + Method + Attribute + Message * * 特点: 以数据为中心,不设与数据无关的操作; Object主动处理而不 被动地等待被处理,外部只能通过message请求操作; 具有黑盒性:外部操作时,无须知道该object内部的数据结构及算法; 具有并行性:不同object各自独立地处理自身数据,彼此间仅通过传递message完成通信; 模块独立性好:内聚强( ① )、耦合松( ③ ④ ) * * 2、Class:具有相同数据和相同操作的一组对象; 3、Instance:某个class描述的具体对象; 4、Message: = object_ID. metho
文档评论(0)