Too young, too simple. Sometimes, naive & stupid

面向对象程序设计

面向对象程序设计

对象

  • 万物皆为对象
  • 包含一定的数据结构和状态的实体,称为对象
  • 作用于对象的行为(如访问和处理对象的状态),称为操作(operation)

面向对象(Objective Orientation,OO)

  1. 以==对象==为核心
  2. 先构造与整个系统(问题)相关的各个对象,描述他们的状态,他们的行为,然后通过消息来调动这些对象,让他们来解决这个问题
  3. ==程序 = 对象 + 消息==
  4. 面向对象将对象作为软件系统结构的基本组成单元,以主体数据为中心,将数据及其上作用的操作一起封装,以标准的接口规范对外提供服务

    面向对象程序设计

更易理解

  • 用更利于人理解的方法对复杂系统进行分析、设计与编程。

更高效

  • 面向对象能有效提高编程的效率,通过封装技术,消息机制可以像搭积木的一样快速开发出一个全新的系统,

可重用性,可维护性更好。

再面向过程的思想中,编程者更像是一个==独裁者==,一个==执行者==;

面向对象的思想中,编程者更像是一部==电影的导演==。他组织剧组里的成员,交代分工和工作时的互相配合,然后再启动拍摄后退居到幕后,具体工作由收下按照他早已做好的安排来完成。

封装(Encapsulation)

  • 开车时,引擎之于司机;
  • 定义对象的操作,==只提供抽象的接口,并隐藏他们的具体实现==,称为封装。
  • 面向对象封装了数据和逻辑,具有==更好的信息隐藏能力==。

继承(Inheritance)

  • 子类(也称派生类)对象拥有与其基类(也称父类)相同的全部属性和方法,

多态性(Poymorphism)

  • 多态是指在基本类中定义的属性或行为被子类继承后,==可以有不同的数据类型或行为特征==,多态性使程序可以按照他们的共同特征来书写