目录
什么是面向对象(oop)?
面向过程
面向对象
两者区别
面向对象的特点
对象的组成
构造函数ES5
工厂模式(了解)
构造函数模式
构造函数和对象的关系
总结
什么是面向对象(oop)?
面向过程
就是将一件“大事”,按一些更小的步骤(小事)顺序去一个一个完成。这几乎符合人类的基本行为习惯。
思想演示举例
第一步,学生提出要报名,并提供姓名和照片
第二步,咨询老师接收照片并登记学生姓名第三步,学生缴费(付款到学校账号)并获得缴费凭证
第四步,咨询老师验证凭证并分配班级
第五步,最终结果为:报名完成,学生可以在规定的时间到规定的班级(教室)上课,数
据库中就有了该学生的信息。
面向对象
就是将要完成的一件“大事”,分割出其中的一个一个“独立对象”,每个对象都有其自身的“特征信息”,和“行为动作/功能”。被其他的对象根据需要进行调用,返回数据.每个对象之间都各行其是,互相之间按照要求做事,返回结果。
思想演示举例
学生对象:有姓名有照片,有钱,能“提出报名”,能“缴费”
咨询老师对象:能接收照片并登记姓名,能分配班级。
班级对象:有班号,有开班日期,有教室
两者区别
面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了;
面向对象是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为。
面向对象的特点
1、封装
隐藏对象的属性和实现细节,仅对外提供公共访问方式,将变化隔离,便于使用,提高复用性和安全性。
2、继承
提高代码复用性;继承是多态的前提。
3、多态
父类或接口定义的引用变量可以指向子类或具体实现类的实例对象。提高了程序的拓展性。
对象的组成
方法(有归属)----函数(自由的)
属性(有归属)----变量(自由的)
构造函数ES5
1 new 出来的都是对象
2 能被new 的都是构造函数(class除外)
工厂模式(了解)
工厂模式其实就是把需要一个个的编写的对象,放在一个函数中统一的进行创建,说白了就是普通函数的封装。
工厂模式总共3步骤:
1)引进原材料 --- 创建一个空对象
2)加工原材料 --- 加工对象:给对象添加属性和方法;
3)输出产品 --- 返回对象:return 对象;
构造函数模式
-
可以自己指定一个函数,使用new产生对象
-
属性和方法直接赋值给this.
-
没有return,不能且不用返回任何的值.
构造函数和对象的关系
我们在javaScript里用构造函数来实现面向对象编程,ES6中使用class,vue和react里面使用的也是class
需要使用构造函数来new出对象,然后进行编程
构造函数可以产生任意多的对象.
总结
1 面向对象:将一个大的功能,分割成为一个小的对象,每一个对象实现不同的功能,彼此之间互相调用,返回结果,不需要关注实现的过程.
2 对象的产生方式
-
自己声明
-
系统构造函数生成
-
自定义构造函数生成
3 构造函数:就是产生对象的,构造函数中的this指向,实例化对象