生活中我们用洗衣机洗衣服不比考虑洗衣机的构造和制造我们只需要直接把衣服丢进去即可,这种 让其他专业的事物去做的思想 就是面向对象,每一步我们都不需要亲力亲为,只需要关注结果就行。在编程中面向对象编程思想将数据与函数绑定到一起分类进行封装,每个程序员只要负责分配给自己的分类,这样能够更快速的开发程序,减少了重复代码。
面向过程: 根据业务逻辑从上到下写代码,每一步都是自己做。
面向对象: 将数据与函数绑定到一起,分类进行封装,每个程序员只要负责分配给自己的分类,这样能够更快速的开发程序,减少了重复代码,每一步都照专业的人做
至今还没有统一的概念我这里把它定义为:
按人们 认识客观世界的系统思维方式,采用基于对象(实体)的概念建立模型,模拟客观世界分析、设 计、实现软件的办法。
是一种解决软件复用的设计和编程方法。
这种方法把软件系统中相近相似的操作逻辑和操作 应用数据、状态,以类的型式描述出来,以对象实例的形式在软件系统中复用,以达到提高软件开发效率的作用。
面向对象编程的2个非常重要的概念:类和对象
对象是面向对象编程的核心,在使用对象的过程中,为了将具有共同特征和行为的一组对象抽象定义,提出了另外一个新的概念: 类
类就相当于制造飞机时的图纸,用它来进行创建的飞机就相当于对象
概念:
具有相似内部状态和运动规律的实体的集合(或统称为抽象)。
具有相同属性和行为事物的统称
类是抽象的,在使用的时候通常会找到这个类的一个具体的存在,使用这个具体的存在。一个类可以找到多个对象
概念:
某一个具体事物的存在,在现实世界中可以是看得见摸得着的。
可以是直接使用的
类和对象的关系好比就是做饼的模子和饼之间的关系,通过模子来制造饼。类就是创建对象的模板
类(Class) 由3个部分构成
- 类的名称:类名
- 类的属性(就是变量):一组数据
- 类的方法(就是函数):允许对进行操作的方法 (行为)
demo:
# 猫类
类名:猫(cat)
属性:品种 、毛色、性别、名字、 腿儿的数量
方法(行为/功能):叫 、跑、吃、摇尾巴
如何把日常生活中的事物抽象成程序中的类?
拥有相同(或者类似)属性和行为的对象都可以抽像出一个类
方法:一般名词都是类(名词提炼法)
Eg:
小明正在使用电脑编程
小明 -->可以抽像成人类
电脑 -->可以抽像成电脑类