面向对象的一些基本概念

对象具有:状态/数据/属性 和 行为/操作/方法。

类是对象的抽象。

对象的一个或多个属性引用其他对象则称为合成(组合)。

对象引用最为属性的优点:避免数据冗余和保持数据的完整性(一致性)。数据冗余同时一般都会带来数据的不一致(多分同类型数据,当改变某一个时需要将所有的副本全部进行改变)。

面向对象的三个特征:用户自定义类型,继承,多态。

 

对象交互:

外部触发事件使对象运转,一次外部事件引起对象的连锁反应。

将对象的行为指定为Java方法:对象行为可看做是对象能够执行的服务,为了使对象A能够请求对象B的某些服务,对象A需要知道用于跟对象B通信的语言,包括:

1.对象A要清楚的知道B能够执行哪些服务或方法:即方法的名字;

2.对象A可能需要提供一些附加信息给B以使B知道如何正确的处理请求:方法的参数;

3.对象B需要知道对象A是否期望报告请求执行的结果:即是否返回方法执行结果;

 

方法首部包括:方法返回类型,方法名,方法参数;

方法体用来实现业务规则;

对象作为方法调用的环境:与非OOPL中的函数不同:非OOPL中函数由整个编程环境执行,而OOPL中的方法由特定对象执行。

referenceVar.methodName(args)形式的表达式定义为消息,即:在对象referenceVar上调用方法或发送消息给对象referenceVar,都是请求对象referenceVar执行方法methodName,该方法代表了对象所属的应用程序提供的服务。

 

结构化程序设计:使用功能分解的方法进行软件设计,首要关注的是应用程序将要执行的功能,数据只是功能加工的对象。

因此:

软件会按照功能被分解为多个细粒度的功能模块,这些功能模块(函数)对传过来的数据进行加工,也就是数据从一个函数传递到另一个函数就像流水线一样;

这些数据结构在贯穿应用程序的很多地方必须都能被理解:即耦合;

程序完成后要修改数据结构会导致连锁反应,许多函数都要同时被修改;

函数之间耦合度高,因此造成测试困难,不完善的逻辑产生数据完整性错误,难以精确查明错误可能发生地方(即在哪个具体的函数中),因为数据被多个函数进行了加工。

 

面向对象程序设计:

注意力主要集中在设计应用程序的数据结构上,其次才是功能;

数据被封装在对象的内部,因此数据结构只需被数据所属的对象理解;

如果应用程序投入使用后数据结构需要发生变化,不会产生连锁反应,因为只有受影响的对象需要修改(封装和信息隐藏保证了变化不会蔓延);

每个对象负责保证自己的数据完整性,容易查找和测试。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值