面向对象概述
软件开发方法:面向过程和面向对象
- 面向过程:关注点在实现功能的步骤上
- PO:Procedure Oriented。代表语言:C语言
- 面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。
- 例如开汽车:启动、踩离合、挂挡、松离合、踩油门、车走了。
- 对于简单的流程是适合使用面向过程的方式进行的。复杂的流程不适合使用面向过程的开发方式。
- 面向对象:关注点在实现功能需要哪些对象的参与
- OO:Object Oriented 面向对象。包括OOA,OOD,OOP。OOA:Object Oriented Analysis 面向对象分析。OOD:Object Oriented Design 面向对象设计。OOP:Object Oriented Programming 面向对象编程。代表语言:Java、C#、Python等。
- 面向对象就是分析出解决这个问题都需要哪些对象的参加,然后让对象与对象之间协作起来形成一个系统。
- 例如开汽车:汽车对象、司机对象。司机对象有一个驾驶的行为。司机对象驾驶汽车对象。
- 面向对象开发方式耦合度低,扩展能力强。例如采用面向过程生产一台电脑,不会分CPU、内存和硬盘,它会按照电脑的工作流程一次成型。采用面向对象生产一台电脑,CPU是一个对象,内存条是一个对象,硬盘是一个对象,如果觉得硬盘容量小,后期是很容易更换的,这就是扩展性。
面向对象三大特征
- 封装(Encapsulation)
- 继承(Inheritance)
- 多态(Polymorphism)
类与对象
类:
- 现实生活中事物与事物之间具有共同特征
- 类实际上是一个模板 ,是一个抽象的概念
- 状态在程序中对应属性。属性通常用变量来表示
- 行为在程序中对应方法。用方法来描述行为动作。
- 类 = 属性 方法
对象:
- 实际存在的个体
- 对象又称实例(instance)
- 通过类可以实例化对象