Open felix-cao opened 5 years ago
JavaScript 继承
面向---适应...的需要,注重
语言的分类
面向对象编程
面向过程编程
静态类型编程语言
动态类型编程语言
对象
对象总是从类中创建
对象从原型对象中克隆来的
克隆是创建对象的过程和手段
使用克隆技术的原型模式是一种编程泛型成为原型编程泛型。
JavaScript 使用原型模式搭建整个面向对象系统
JavaScript
所有的数据都是对象
要得到一个对象,不是通过实例化类,而是找到一个对象作为原型并克隆它
对象会记住它的原型
如果对象无法响应某个请求,它会把这个请求委托给他自己的原型。
具体实现
JavaScript 在设计之初模仿java引入了两套类型机制:基本类型和引用类型,除基本类型中的 null 和 undefined,其他都是对象
java
null
undefined
根对象是 Object.prototype, JavaScript 中的每个对象都是从 Object.prototye对象克隆来的
Object.prototype
Object.prototye
具体实现,对象会记住它的构造器的原型
JavaScript为每个对象提供一个隐藏的属性 __proto__, 默认指向它的构造函数的原型对象
__proto__
构造函数的原型对象即
具体实现:当一个对象无法响应一个请求时,会把这个请求委托给他的构造器的原型。原型继承的精髓,
j当一个对象无法响应某个请求时,它会顺着原型链把请求传递下去,直到遇到一个可以处理改请求的对象为止。
在这个原型编程泛型的指导下,我们把需要共享的属性和方法放在 构造函数的 prototype 属性上
prototype
JavaScript 继承
一、前言
1.1 继承是面向对象的三个特征之一。
面向---适应...的需要,注重
语言的分类
面向对象编程
和面向过程编程
静态类型编程语言
和动态类型编程语言
对象
1.2 编程语言中创建对象的方式
对象总是从类中创建
对象从原型对象中克隆来的
克隆是创建对象的过程和手段
使用克隆技术的原型模式是一种编程泛型成为原型编程泛型。
JavaScript
使用原型模式搭建整个面向对象系统二、原型编程泛型的四个基本原则
所有的数据都是对象
要得到一个对象,不是通过实例化类,而是找到一个对象作为原型并克隆它
对象会记住它的原型
如果对象无法响应某个请求,它会把这个请求委托给他自己的原型。
三、JavaScript 的原型继承
3.1 原则一,所有数据都是对象
具体实现
JavaScript
在设计之初模仿java
引入了两套类型机制:基本类型和引用类型,除基本类型中的null
和undefined
,其他都是对象根对象是
Object.prototype
,JavaScript
中的每个对象都是从Object.prototye
对象克隆来的3.2 原则二,克隆原型
JavaScript
引擎内部负责克隆细节的实现,我们只需要显示的调用3.3 原则三,对象会记住它的原型
具体实现,对象会记住它的构造器的原型
JavaScript
为每个对象提供一个隐藏的属性__proto__
, 默认指向它的构造函数的原型对象构造函数的原型对象即
3.4 原则四,原型委托
具体实现:当一个对象无法响应一个请求时,会把这个请求委托给他的构造器的原型。原型继承的精髓,
j当一个对象无法响应某个请求时,它会顺着原型链把请求传递下去,直到遇到一个可以处理改请求的对象为止。
在这个原型编程泛型的指导下,我们把需要共享的属性和方法放在 构造函数的
prototype
属性上