第9章面向对象方法学引论(课件).ppt

第9章面向对象方法学引论(课件).ppt

  1. 1、本文档共113页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* 回答以下问题: 问1:行为者希望系统提供什么功能 能够处理入库/出库事务,产生定货报表 问2:行为者要创建、读取、更新或删除(CRUD)什么信息 事务,定货报表 问3:系统给行为者通知什么信息 定货报表 问4:系统需要从行为者那得到什么信息 入库/出库事务 得到用例为:处理事务,产生报表 * * * * * * 表示对象状态的数据和实现操作的代码与局部数据,都被封装在黑盒子里面,不能从外面直接访问或修改这些数据和代码。 接口是对象可以接受的消息,外部只能通过向对象发送消息来使用它。 打包指将方法与成员变量同放于一个对象中。这样,对数据的存取,只需通过调用该对象本身的方法即可。 另外一个例子: Employee雇员类就封装了属性(姓名和雇佣日期)和行为(完成工作任务与计算休假时间)。 * 面向对象程序的其它部分(对象以外的部分)都不能直接作用于一个对象的数据,对象间的通信只能通过明确的消息来进行。 该图是将外表和具体实现相分离的一个例子。 儿童用药做成球状,吃起来象泡泡糖,你根本就不知道它的主要成分是鳕鱼肝油。 方法隐藏的例子: 来看看用来统计每个雇员病假情况的人力资源应用软件。 对于开发人员来说,计算病假的公式是可见的,是每月0.5天。 假如计算公式变成了每月0.6天,这对统计报告程序是没有影响的。 * 表示对象状态的数据和实现操作的代码与局部数据,都被封装在黑盒子里面,不能从外面直接访问或修改这些数据和代码。 接口是对象可以接受的消息,外部只能通过向对象发送消息来使用它。 * Accessor 和mutator方法常常以下述形式成对出现: getSomething()用来读隐藏数据 setSomething() 用来修改隐藏数据 * An object declaration creates a reference type in a direct access memory area called the stack Date myDate; An object declaration does not actually create the object The reference initially contains the literal null Objects are created by using the new operator myDate = new Date(); Objects are allocated within an indirectly accessed memory area called the heap All objects are accessed via their object references * 表中的“?”表示对应的访问是允许的。 “*”表示子类中访问保护变量有特殊权限的限制。 public:任何包、任何类 protected:类和它的子类 package:即 “friendly”, 定义包中的任何类,是缺省值 private:类 Java可见性规则 Package本身永远可见 public类或接口对那些引用了它所在的包的类都可见 类或接口没有被声明为public,那么它只对它声明的包内的类来说是可见的 然而它可以被在另一个包中的类继承 这是Java默认的访问级别 仅当类、成员和构造器都是可见的,类的成员 (成员变量或方法)或构造器才可见 编译器强制执行可见性规则 * 根据前面的可见性规则来判断 例1:ReachMe 类和myStaticInt 变量都是public,所以myStaticInt 对于引用程序来说是可见的 如果变量myStaticInt没有被声明为public ,那又会发生什么呢? 当你编译引用程序TryAccess.java时,编译器会报如下错误: TryAccess.java:5: myStaticInt is not public in packageA.ReachMe; cannot be accessed from outside package int anInt = ReachMe.myStaticInt; ^ 1 error 例2: 编译器报以下错误: TryAccess.java:1: packageA.ReachMe is not public in packageA; cannot be accessed from outside package import packageA.ReachMe;

文档评论(0)

秦圈圈 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档