微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

大厂面试经典问题:什么是继承 ?JavaScrpt中如何通过原型链实现继承 ?

有同学提问,能不能讲讲继承,这一篇笔记就来深入说说继承相关的内容,包含了什么是继承,JavaScript如何实现继承,通过原型链实现继承。
什么是继承 ?JavaScript中如何通过原型链实现继承 ?

以下我们先使用UML类图来表示类的属性方法,用以举例说明

UML(统一建模语言)是一种为面向对象系统的产品进行说明、可视化和编制文档的一种标准语言,是非专利的第三代建模和规约语言。

UML是面向对象设计的建模工具,独立于任何具体程序设计语言。

以下两个无关的类:我们发现,People类 和 Car类 没有任何

 

 

 

People类和Student类的关系:我们发现,Student是一种 People

 

  • People类拥有的属性方法Student类都有,Student类还扩展了一些属性方法

  • Student “是一种” People,两类之间是 “is a kind of ”关系

  • 这就是继承关系:Student 类继承自People类

 

1、什么是继承

继承描述了两个类之间的 “ is a kind of ” 关系比如:学生“是一种”人,所以人类和学生类之间就构成继承关系People是 "父类"(或 "超类"、”基类“)Student是 ”子类“(或 ”派生类“)子类丰富了父类,让类描述得更具体、更细化。


在UML图示中使用白色的空心箭头来表示类和类之间的继承关系箭头的方向是由子类指向父类这样的表达方式就是继承

更多的继承关系举例

父类子类
People Student、Teacher
Vehicle Car、Truck、Motorcycle
Appliance Television、Refrigerator
Publication Book、Magazine

 

JavaScript中如何实现继承?

  • 实现继承的关键在于:子类必须拥有父类的全部属性方法,同时子类还应该能定义自己特有的属性方法

  • 使用JavaScript特有的原型链特性来实现继承,是普遍的做法

  • 在今后学习ES6时,将介绍新的实现继承的方法

 

通过原型链实现继承

 

 

 

 

 当然还有在ES6中如何实现继承,后续有需求了再分享 !大家也可以踊跃提问哈 ,一起加油 ^_^我们学的不仅是技术,更是梦想 !因为爱,所以认真 。如有相关前端方面的技术问题 ,欢迎主页添加我,我会定期在群里给大家分享最新技术和解答问题 。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐