原型继承(个人认为)

继承是面向对象编程的核心概念之一,它允许一个对象得到另一个对象的属性和方法 ,这使消除代码冗余、复用代码变得简单。举个例子现在我们有一个类circle,里面有draw方法。在未来的某一天,我们需要向程序中添加新的类Square类,这个类也有draw方法,我们假设他们的实现逻辑都一样。我们不想重复的敲两次相同的代码,因为如果这个draw方法有bug或者在未来的某一天我们需要去改进这个方法,我们就去一个一个得修改,这时后继承得概念就出来了。
在这里插入图片描述
在这里插入图片描述

我们可以新建一个Shape类将常规的方法放在都放到shape类里面,然后让circle和Square类都继承自shape。在上面的图中,我们可以称shape 为父类、基类、超类。对应的circle和square类就被称为子类、继承类、下级类。最后我们把这种关系称为IS-A(是一个)。Circle 是一个 shape,没毛病吧。
在javascript 中只有对象没有类
什么是原型继承?
总所周知,在javascript中没有类只有对象。那该如何引入继承,现在我们有一个Circle对象,然后我们再新建一个对象Shape将常规的方法和属性都放进去,最后我们将Circle链接到Shape上面,这时候Circle就能访问到Shape对象的属性和方法了。我们成Shape是Circle的原型。

请添加图片描述
在JavaScript中的每一个对象,除了一个特殊的,其他的对象都有原型,它们都从原型中继承所有成员,在JavaScript中创建的对象直接或间接的继承自元对象这个就叫原型继承,元对象是JavaScript中所有对象的根对象 ,它没有原型。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值