In einer Vorlesung wurde das Konzept der Vererbung grundlegend erläutert und in einer Übungsaufgabe illustriert, wie das in prototypbasierten Sprachen aussehen kann. Wir sollten meine alte Freundin JavaScript mit dem Interpreter von Mozilla benutzen. Subtyping und Vererbung ist für JavaScript wohl nur ansatzweise und unbehände gelöst; zahlreiche Quellen im Web führten mich zu Lösungen, die als Prototyp eines Subtyps ein Object des Supertyps setzten. Das sah in etwa so aus:
function Person(name) { var name = name; this.print = function() { print(name); } } Person.prototype = new Person("A"); function Student(name, id) { Person.prototype.constructor(name); var id = id; this.print = function() { Person.prototype.print(); print(id); } } Student.prototype = new Person("B");
Die Notation mit den Prototypen ist ziemlich unhandlich — und auch nicht korrekt. Read more »