JavaScript的OOPS继承 – JavaScript教程 – srcmini

本文概要

  • 要记住的要点
JavaScript的继承是一种机制,允许我们已经存在的类的基础上创建新类。它提供了灵活的子类重用父类的方法和变量。
JavaScript的extends关键字用于父类的基础上创建一个子类。它有利于子类来获取所有属性和它的父类的行为。
要记住的要点
  • 它保持了IS-A的关系。
  • 关键字延伸类表达式或类声明被使用。
  • 使用extends关键字,就可以获取内置对象的所有属性和行为,以及自定义类。
  • 我们还可以使用基于原型的方式来实现继承。
JavaScript的延伸示例:内置对象
在这个例子中,我们扩展Date对象,以显示今天的日期。
< script> class Moment extends Date { constructor() { super(); }} var m=new Moment(); document.writeln("Current date:") document.writeln(m.getDate()+"-"+(m.getMonth()+1)+"-"+m.getFullYear()); < /script>

输出:
Current date: 31-8-2018

让我们看一个例子来显示从给定日期的年份。
< script> class Moment extends Date { constructor(year) { super(year); }} var m=new Moment("August 15,1947 20:22:10"); document.writeln("Year value:") document.writeln(m.getFullYear()); < /script>

【JavaScript的OOPS继承 – JavaScript教程 – srcmini】输出:
Year value: 1947

JavaScript的延伸,例如:自定义类
在这个例子中,我们声明子类,它扩展它的父类的属性。
< script> class Bike { constructor() { this.company="Honda"; } } class Vehicle extends Bike { constructor(name,price) { super(); this.name=name; this.price=price; } } var v = new Vehicle("Shine","70000"); document.writeln(v.company+" "+v.name+" "+v.price); < /script>

输出:
Honda Shine 70000

JavaScript的延伸示例:基于原型的方法
在这里,我们执行基于原型的继承。在这种方法中,没有必要使用类和关键字扩展。
< script> //Constructor function function Bike(company) { this.company=company; }Bike.prototype.getCompany=function() { return this.company; } //Another constructor function function Vehicle(name,price) { this.name=name; this.price=price; } var bike = new Bike("Honda"); Vehicle.prototype=bike; //Now Bike treats as a parent of Vehicle. var vehicle=new Vehicle("Shine",70000); document.writeln(vehicle.getCompany()+" "+vehicle.name+" "+vehicle.price); < /script>

输出:
Honda Shine 70000

    推荐阅读