1、概念
什么是对象:对象是一个整体,对外提供一些操作
什么是面向对象: 使用对象是,只关注对象提供的功能,不关注其内部细节。
面向对象是一种思想,并非只有编程中能用,任何事情都可以用。
2、JS中的面向对象
面向对象编程(OOP)的特点
● 抽象:抓住核心问题
● 封装:不考虑内部实现,只考虑功能使用
● 继承:从已有对象上,继承出新的对象
-多重继承
-多态
对象的组成
● 方法——函数:过程、动态的
● 属性——变量:状态、静态的
● 为对象添加方法和属性
● this详解:事件处理中,this的本质,this——函数属于谁
● 不能再系统对象中随意添加方法、属性,否则会覆盖已有方法、属性
工厂方式
○ 什么是工厂——原料-->加工-->出厂
○ 用构造函数创建一个类
○ 什么是类、对象(实例):模具和零件
工厂方式的问题
问题
● 没有new
● 函数重复定义
加上new
● 偷偷做了两家事
-替你创建了一个空白对象
-替你返回了这个对象
● new和this
4、原型——prototype
什么是原型
● 原型是class,修改它可以影响一类元素
● 在已有对象中加入自己的属性、方法
● 原型修改对已有对象的影响
为Array添加sum方法
● 给对象添加方法,类似于行行间样式
● 给原型添加防范,类似于class
原型的小缺陷
● 无法限制覆盖
5、流行的面向对象编写方式
用混合方式构造对象
● 用混合方式构造函数/原型方式
● Mixed Constructor Function/Prototype Method
原则
● 构造函数:加属性
● 原型:加方法
对象命名规范
● 类名首字母大写
抽象:
类:不 具备功能,只能用来构造对象
原型:扩展对象功能