一、面向对象概念
(百度百科)
面向对象开发方法认为客观世界是由对象组成的,对象由属性和操作组成,对象可按其属性进行分类,对象之间的联系通过传递消息来实现,对象具有封装性、继承性和多态性。
面向对象开发方法是以用例驱动的、以体系结构为中心的、迭代的和渐增式的开发过程,主要包括需求分析、系统分析、系统设计和系统实现四个阶段,但是各个阶段的划分不像结构化开发方法那样清晰,而是在各个阶段之间迭代进行的。
一开始大家对面向对象都很模糊,没关系的,不必过度懊恼,只要常思考,相信定会水到渠成。
二、流程
我们在写代码时,想用面向对象的方式来写,但又会有无从下手之感。不必担心,相信你按照如下流程,一定会对面向对象有更清晰的了解。
我们以学校学员管理系统为例来走一走下面的流程。
1.分析需求
第一步,我们先汇总需求。
在敲代码前,不妨在纸上写点东西。我们以主谓宾的形式,将用户需求写下来,写的越精细越有利于我们事后分析类的属性和方法。
请看下面是我简单写的需求,缺点是不够详细,以至于少了很多东西,此处留个伏笔。
第二步,将主谓宾部分标记出来
主语用⚪圆圈画出来,谓语用波浪线画出来。
并对宾语进行分析,比如,第一行的‘账户和密码’前面,加上了‘老师的’来修饰,我们就可以判断出 账户和密码 是 老师类 的属性。
第三步,归类
将主语作为类,对应属性按照下图所示汇总出来。
第四步,对比类的属性得出大类
对比得出,老师类和学生类都有的属性有:姓名、性别、账户、密码、年龄。
我们将这些相同属性归于一个用户类。(这就用到了三大特性之一的继承)
我们在学习继承时,都是按照父类到子类学的,适当跳出这个固有思维,从子类找父类。
第五步,筛选检查,补充或删减
此时,就到了揭露刚才伏笔的时候了。
由于我刚才写的过于简洁,发现这几个类连不上呀,一定时出问题了。
下面我们以第一的登录为例,详细写一下就知道出什么问题了。
没错,我们少了系统,要加上一个系统类。
今天先与大家分享分析需求的开始,明天将更新新的内容。
感谢大家观看,如上述内容有错误或有疑惑,请在评论区留言,期待可以和大家一起学习进步。