JavaScript之继承

本文详细介绍了JavaScript如何通过构造函数和原型实现面向对象编程的三大特性:封装、继承和多态。重点阐述了JS中继承的实现方式及其背后的原理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

说在前面:JS其实不是面向对象的编程语言

JS继承

面向对象的三大特征:

(1)封装: 将功能相同的属性和方法 写在一起, ‘低耦合,高内聚’;
Date() Math number String write() window document Location

(2)继承 : extend ----> Java
是指 自己没有的东西 从别人 拿过来
Animal 父类 : eat,sleep,play,run…
Dog cat tiger…
父类与子类之间的关系 类与类之间的关系

在js中没有类的概念, 是通过构造函数 原型实现继承
继承可以实现数据共享, 优化内存, 节省资源

(3)多态: 主要针对 强类型的语言, 在js中目前不存在
多种状态的存在
是指 父类的引用 指向子类的对象;

在JavaScript中,继承就是当前对象可以使用其他对象的方法和属性。

继承 是指一种关系,是类与类之间的关系, 但是js中没有类这个概念,js是通过构造函数模拟类,然后通过原型来实现继承.
继承也是为了数据共享
原型作用之一: 数据共享,节省内存空间
原型作用之二: 为了实现继承
最简单的继承实现:直接遍历父对象的属性,将所有的属性添加到当前对象上

var animal={name='flash'};
var dog={};
 for(var k  in   animal){
  dog[k]=animal[k];
 }

每一个构造函数都有prototype原型属性,通过构造函数创建出来的对象都继承自该原型属性.所以可以通过更改构造函数的原型属性来实现继承.
1.给原型对象中添加成员(通过对象的动态特性)不是严格意义上的继承
2.直接替换原型对象
3.利用混入的方式 给原型对象添加成员

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值