JS與Java都支持繼承,讓子類可以繼承父類的屬性和方法。但是JS和Java的繼承實現方式不同,下面我們來分別看一下它們的繼承實現。
JS繼承
//定義一個父類Animal function Animal(name) { this.name = name; } //對Animal進行原型擴展 Animal.prototype.getName = function () { return this.name; }; //定義一個子類Dog function Dog(name, age) { Animal.call(this, name); this.age = age; } //設置子類原型為父類實例,實現繼承 Dog.prototype = new Animal(); //對Dog進行原型擴展 Dog.prototype.getAge = function () { return this.age; }; //創建一個實例 var dog = new Dog("Tom", 3); //調用繼承自Animal的方法 dog.getName(); //Tom //調用子類自己擴展的方法 dog.getAge(); //3
JS的繼承方式是通過設置子類的原型為父類實例,實現繼承父類的屬性和方法。但是要注意,在設置原型時,應該使用一個新的父類實例來代替直接引用父類對象,否則多個子類共享父類對象的屬性和方法。
Java繼承
//定義一個父類Animal public class Animal { private String name; public Animal(String name) { this.name = name; } public String getName() { return name; } } //定義一個子類Dog public class Dog extends Animal { private int age; public Dog(String name, int age) { super(name); this.age = age; } public int getAge() { return age; } } //創建一個實例 Dog dog = new Dog("Tom", 3); //調用繼承自Animal的方法 dog.getName(); //Tom //調用子類自己擴展的方法 dog.getAge(); //3
Java的繼承方式是通過使用“extends”關鍵字來聲明子類繼承自父類,并且在子類中使用“super”關鍵字調用父類的構造函數,實現繼承父類的屬性和方法。
上一篇php 人物投票