Java9第七章-面向对象.ppt

上传人:小飞机 文档编号:6509256 上传时间:2023-11-07 格式:PPT 页数:28 大小:391KB
返回 下载 相关 举报
Java9第七章-面向对象.ppt_第1页
第1页 / 共28页
Java9第七章-面向对象.ppt_第2页
第2页 / 共28页
Java9第七章-面向对象.ppt_第3页
第3页 / 共28页
Java9第七章-面向对象.ppt_第4页
第4页 / 共28页
Java9第七章-面向对象.ppt_第5页
第5页 / 共28页
点击查看更多>>
资源描述

《Java9第七章-面向对象.ppt》由会员分享,可在线阅读,更多相关《Java9第七章-面向对象.ppt(28页珍藏版)》请在三一办公上搜索。

1、第七章,面向对象的分析与设计,回顾与作业点评,继承多态访问修饰符static final abstract关键字接口,本章任务,掌握面向对象的分析与设计掌握对象模型的建立掌握类之间的关系掌握可维护与复用设计原则,知识要点,面向对象的分析与设计对象模型的建立类之间的关系可维护与复用设计原则,7.1面向对象的分析与设计,7.1.1.类的设计建议:1)一个.java文件只写一个类2)代码尽可能精简,public class TestQiuHe/*求1-200整数的和*/public int qiuHe(int last)/算法,效率比较高适用于1-n的连续整数int he=(1+last)*last

2、/2;/和=(首数+尾数)*个数/2return he;/其中last表示传递的是尾数也就是此列连续的数列最后一个数,它也是此数列的个数。/测试1-200的整数的和。public static void main(String args)TestQiuHe t=new TestQiuHe();System.out.println(1-200的数的和为:+t.qiuHe(200);/如果传递的是100那么结果就是5050class TestPro/一个TestQiuHe.java文件中可以定义两个类但只有TestQiuHe是用/public修饰的。,7.1.2 类名、变量名、方法名的选取1)用英

3、文2)有意义3)常量大写4)包小写,7.1.3.类的属性设计建议1)将类的属性设计为私有的2)对局部变量初始化7.1.4.类的设计建议1)考虑构造方法2)定义构造方法时不要调用其他方法3)方法参数不宜过多4)定义专门的清理或关闭方法,继承的设计建议,将常用方法和属性放在超类中1)不要使用protected以免破坏封装2)在类关系模型中使用继承3)除非使用继承得到的方法有用,否则不要使用继承4)重写方法时不要改变预期行为5)尽量使用多态,而不是类型信息6)尽量将非常常用的方法和属性放在超类中7)不要泛用反射,7.2对象模型建立,1.UML简介统一建模语言,用来描述OOA、OOD结果,是描述、构建

4、和图形化文档的描述语言,绘制对象模型图,分为静态图和动态图。静态图包括:包图 组件图 对象图 部署图 复合结构图 用例图 类图动态图包括:交互概观图 顺序图 通信图 状态图 活动图 定时图,7.2.2.用例图:是显示用例和参与者的名称及其关系的图,用例描述参与者如何使用系统来实现其目标的,是对某个系统功能的描述。,7.2.3.类图:显示系统的静态结构,如类、接口及其关联,包含类名,属性和方法。,类名,方法,属性,7.2.4 序列图:也叫时序图,用于按时间顺序模拟控制流程。显示了在对象生命线上各点之间的对象传递的消息,描述消息及时间的顺序。水平方向表示消息或方法被哪个对象调用,垂直方向表示发生地

5、及时间顺序序列。,7.2.5状态图:描述每个类对应的对象在其生存期间的动态行为,save(),delete(),7.2.6活动图:描述系统行为,展现参与行为的类所进行的各种活动的顺序关系,7.2.7组件图:描述软件的各种组件之间的依赖关系,7.2.8部署图:描述运行软件的系统中硬件和软件的物理结构,7.3类之间的关系,1.泛化:与继承类似,指子类是一种特殊化的父类,狮子,class Animalclass Tiger extends Animalpublic class Test public void test()Animal a=new Tiger();,2依赖:显示一个元素在某种程度上依

6、赖于另一个元素,3关联:是类实例之间相互连接的描述,分为一对一、一对多、多对多关联。,class CPUpublic void run()System.out.println(CPU run);public class Computer public CPU cpu;/也可以配置到其它电脑上所以用public修饰 public Computer()public Computer(CPU cpu)/通过参数传递来实例化CPU this.cpu=cpu;/开启电脑 public void start()cpu.run();/cpu运作 public static void main(String

7、args)Computer com=new Computer(new CPU();com.start();,class Hand/手类public void na()/拿的方法System.out.println(Hand 拿);class Foot/脚类public void pao()/pao的方法System.out.println(Foot 跑);public class Person private Hand hand;/用私有的修饰表示此hand只属于这个人private Foot foot;/同理Person()hand=new Hand();/手和脚是组成人的一部分不能分割只能

8、通过Person构造来实例化hand和footfoot=new Foot();public static void main(String args)Person p=new Person();p.foot.pao();p.hand.na();,7.4软件的可维护与复用设计原则,1.开闭原则:系统是可扩展的,不要对源代码进行大幅度的修改,即对功能扩展开放,对源码功能修改关闭。2.替换原则:父类可以出现的地方,子类也可以出现3.依赖倒转原则:针对接口编程,不要针对实现编程4接口分离原则:提供调用者需要的方法,屏蔽不需要的方法,/-这里不用接口继承,因为可能出现修改了父接口影响了子接口interf

9、ace IOrderForPortal String getOrder();/入口接口定义一个得到订单的方法interface IOrderForOtherSys/为其他系统的订单接口String insertOrder();String getOrder();interface IOrderForAdmin/extends IOrderForPortal,IOrderForOtherSysString deleteOrder();/管理员接口提供订单的增,删,改,查String updateOrder();String insertOrder();String getOrder();,cla

10、ss Order implements IOrderForPortal,IOrderForOtherSys,IOrderForAdmin private Order()/-什么都不干,就是为了不让直接 new,防止客户端直接New,然后访问它不需要的方法./返回给Portalpublic static IOrderForPortal getOrderForPortal()return(IOrderForPortal)new Order();/返回给OtherSyspublic static IOrderForOtherSys getOrderForOtherSys()return(IOrder

11、ForOtherSys)new Order();/返回给Adminpublic static IOrderForAdmin getOrderForAdmin()return(IOrderForAdmin)new Order();,/-下面是接口方法的实现.只是返回了一个String用于演示-public String getOrder()return implemented getOrder;public String insertOrder()return implemented insertOrder;public String updateOrder()return implemente

12、d updateOrder;public String deleteOrder()return implemented deleteOrder;,public class TestCreateLimit/测试创建限制public static void main(String args)IOrderForPortal orderForPortal=Order.getOrderForPortal();IOrderForOtherSys orderForOtherSys=Order.getOrderForOtherSys();IOrderForAdmin orderForAdmin=Order.g

13、etOrderForAdmin();System.out.println(Portal门户调用方法:+orderForPortal.getOrder();System.out.println(OtherSys外部系统调用方法:+orderForOtherSys.insertOrder();System.out.println(Admin管理后台调用方法:+orderForAdmin.getOrder()+;+orderForAdmin.insertOrder()+;+orderForAdmin.updateOrder()+;+orderForAdmin.deleteOrder();,5组合和聚合复用原则:设计类时遵循组合和聚合关系,6最少知识原则:一个对象应该对其他对象有尽可能少的了解,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号