私はJavascriptが初めてで、正しい解決策を見つけるのに苦労しています。プロパティを持つ新しいサブクラスを定義するとき、それを行うための正しい/ベストプラクティスは何ですか? 以下のコードは MDN から引っ張ってきましたが、継承でプロパティを渡す方法については触れていません。必要なのは、インスタンス化中に定義されるプロパティを持つスーパークラスとサブクラスです。スーパークラスのプロパティはすべてのサブクラスで利用できる必要があり、サブクラスのプロパティはサブクラスにのみ属します。誰かが私を正しい方向に向けることができますか?
// define the Person Class
function Person() {}
Person.prototype.walk = function(){
alert ('I am walking!');
};
Person.prototype.sayHello = function(){
alert ('hello');
};
// define the Student class
function Student() {
// Call the parent constructor
Person.call(this);
}
// inherit Person
Student.prototype = new Person();
// correct the constructor pointer because it points to Person
Student.prototype.constructor = Student;
// replace the sayHello method
Student.prototype.sayHello = function(){
alert('hi, I am a student');
}
// add sayGoodBye method
Student.prototype.sayGoodBye = function(){
alert('goodBye');
}
var student1 = new Student();
student1.sayHello();
student1.walk();
student1.sayGoodBye();
// check inheritance
alert(student1 instanceof Person); // true
alert(student1 instanceof Student); // true