面向对象
OOP 面向对象编程 OOA 面向对象分析 OOD面向对象设计;
面向过程程序设计 先具体再整体;
面向对象程序设计 先整体再具体;
类 一个集合 多个对象共有属性和方法的一个集合;
对象就是某个类型的具体的实例;
封装函数:
- 函数是否多次使用;
- 参数的设置 函数内部的有些值是需要改变的;
- 函数需不需要返回值;
1 | //1.字面量定义;2.工厂函数;3.构造函数;4.原型对象;5.组合创建(构造函数和原型对象) 6.ES6语法创建(结合了组合创建,利用原型对象默认自带的constructor, (语法糖)) |
通过“工厂函数”创建的对象不好区分类,比如人 动物;
构造函数:一个函数在与new运算符之后系统内部会有四步:
创建一个新对象;
改变this指向 指向这个新对象;
执行函数代码;
返回这个值;
先定义一个函数,这个函数里的私有属性不会拿到,要通过实例属性来定义(this),然后通过构造函数返回值;
通过构造函数的系统内的运算后 接受这个构造函数返回的值(创建的对象),来达到对所创建的对象的类型区分;
使用构建函数的话 每次实例创建 都会创建一个新的实例方法 缺点:内存消耗;
原型对象:
每一个构建函数都有一个原型对象(prototype); 每一个原型对象里都有一个指向构造函数的指针(constructor); 原型对象上的属性和方法能被实例访问;
ES6语法来创建一个对象 通过原型对象里自带的constructor来写属性或方法,在其下面直接可写方法;
在构造函数内声明的变量 只能在内部访问到;
这个变量称为私有属性, 不能成为实例的属性;
- 本文标题:面向对象
- 本文作者:sonder
- 创建时间:2019-05-27 10:26:11
- 本文链接:https://sonderss.github.io/2019/05/27/面向对象/
评论