Java面向对象的设计和分析 傷城~ 2022-10-06 10:52 146阅读 0赞 **面向对象思想** **一、面向对象设计的重要经验** 谁拥有数据,谁就对外提供操作这些数据的方法。 **二、事例分析** 1、人在黑板上画圈: 对象:person,blackboard,circle 画圆的方法:draw()\{ 圆心x,y,rdius半径\}——>属于circle 1)这里的人只是一个指挥者,人在指挥圆在画圆,而黑板只是一个载体。 2)圆拥有圆心和半径,所以它有画圆的方法。 2、列车司机紧急刹车: 对象:人、列车 刹车的方法——>属于列车 人踩离合器刹车,只是给了列车一个刹车的命令。只有列车内部才知道如何去控制发动机熄火,让车停下来。 3、售货员统计售货小票上的总金额: 对象:售货员,票据 统计票据金额的方法——>属于票据 售货员只是调用了票据上的getTotalMoney()的方法,这个方法内部计算出售货票据的总金额。 4、人关门: 对象:人,门 关门这个动作——>属于门,只有门才知道如何转动门轴,弹簧等将门关上。 **面向对象的设计思路示例** **示例一** 1、需求: 球从一根绳子的一段移动到了另一端 2、分析: 1)球:有移动的方法,但是需要知道移动到下一个位置的点,这需要绳子提供 2)绳子:有根据当前点获取下一个点的方法,可以绳子对象可以创建在球的描述类中,供球的方法调用,让球知道下个点的位置。 代码: //绳子的描述类 class Rope { private Point start; private Point end; public Rope(Point start ,Point end) { this.start=start; this.end=end; } //绳子通过当前点,返回下一个点 public Point nextPoint(Point currentPoint) { /*通过两点一线的数学公式可以计算出当前点的下一个点,这个细节不属于设计阶段要考虑的问题,如果当前点是终止点,则返回null,如果当前点不是线上的点,则抛出异常。*/ } } //球的描述类 class Ball { private Rope rope; private Point currentPoint; public Ball(Rope rope,Point currentPoint) { this.rope=rope; this.currentPoint=currentPoint; } //球具有移动的方法 public void move() { currentPoint = rope.nextPoint(currentPoint); System.out.println(“球移动到了”+currentPoint); } } **示例二** 1、需求: 两块石头磨成一把石刀,石刀可以砍树,砍成木材,木材做成椅子 2、分析: 这里的两块石头是原材料,不作为操作方法的对象,而作为被操作的对象,即石头和树作为材料进行加工,而操作这两个对象的就是工厂,将其加工成为石刀和椅子 1)这里将石头磨成石刀,操作磨刀这个方法的对象不是石头,而是工厂 2)石刀是对象,有砍树的方法 3)加工椅子的工厂将木材加工成为椅子 代码: //加工石刀的工厂 class KnifeFactory { public StoneKnife createKnife(Stone first,Stone second) { //这里是将两块石头变成石刀的方法,返回石刀 } } //石刀的描述类 class StoneKnife { public Wood hack(Tree tree) { //这里是砍树的方法,返回的是木材 } } //加工椅子的工厂 class ChairFactory { public Chair makeChair(Wood wood) { //这里是将木材变为椅子的方法,返回椅子 } }
相关 Java面向对象设计及实战——类和对象 1.当需求单一或者简单时,我们一步一步去实现没问题,并且效率也挺高。可随着需求的更改,功能的增多,发现需要面对每一个步骤很麻烦了。2.这时就开始思索,能不能把这些步骤和功... 骑猪看日落/ 2024年04月29日 11:04/ 0 赞/ 38 阅读
相关 java面向对象的内存分析 文章目录 1、Java虚拟机的内存可以分为5个部分 2.栈的特点: 3.堆的特点: 4.方法区的特点: 5.本地方法栈: 6.寄存器: ゝ一世哀愁。/ 2024年04月08日 10:38/ 0 赞/ 31 阅读
相关 UML面向对象系统分析和设计:交互图 UML面向对象系统分析和设计 1. 概述(交互图) 交互图是用来表达系统的各个对象之间如何交互,如何完成某个行为的动态模型工具。主要用于对用例图中的控制流进行建模。一 心已赠人/ 2022年12月15日 12:59/ 0 赞/ 213 阅读
相关 java面向对象分析与设计试卷_Java面向对象程序设计试卷(七)(含答案)..doc Java面向对象程序设计试卷(七)(含答案). Java面向对象程序设计试卷(七) 一、选择题 1、根据java标识符命名规则和风格约定,下面哪一个标识符是类名? A、 不念不忘少年蓝@/ 2022年11月04日 11:18/ 0 赞/ 141 阅读
相关 Java面向对象的设计和分析 面向对象思想 一、面向对象设计的重要经验 谁拥有数据,谁就对外提供操作这些数据的方法。 二、事例分析 1、人在黑板上画圈: 对象:person,blackboard, 傷城~/ 2022年10月06日 10:52/ 0 赞/ 147 阅读
相关 面向对象设计 — 类和对象 面向对象的三条学习主线 1. java类及类的成员 属性、方法、构造器;代码块、内部类 2. 面向对象的三大特征 封装性、继承性、多态 蔚落/ 2022年08月28日 12:45/ 0 赞/ 384 阅读
相关 面向对象的分析与设计 一、传统开发方法中存在的问题 在二十世纪六十年代以前,软件系统都是较小且相对简单的;所用的编程语言都是十分简单(Fortran,Cobol等 );时 忘是亡心i/ 2022年05月17日 02:23/ 0 赞/ 203 阅读
相关 软件工程--面向对象的分析和设计方法 面向对象的基本概念: 面向对象=对象+类+继承+通信 类的定义:一旦标识了一个类,就给出了它的规格说明,其中包括类的实例可执行的操作和它们的数据表示。 你的名字/ 2022年04月14日 07:12/ 0 赞/ 194 阅读
相关 面向对象分析与设计--OOAD [面向对象][Link 1]([Object Oriented][],[OO][])是当前[计算机][Link 2]界关心的重点,它是90年代[软件开发][Link 3]方法 青旅半醒/ 2021年12月08日 23:21/ 0 赞/ 263 阅读
还没有评论,来说两句吧...