js中的继承与重写
rt.
用function 分别定义Person和Account类模型,其中Account从Person继承,并重写toString()方法
<script type="text/javascript"> function go() { var acc1 = new Account("Taro", "Shibuya1-1-2", "1001", 20000); var acc2 = new Account("Hanako", "Akasaka2-3-4", "1002", 35000); acc1.toString(); acc2.toString(); } // 定义Person构造器 function Person(name, address) { this.name = name; this.address = address; } // 在Person.property中添加toString方法 Person.prototype.toString = function() { document.write(this.name + " " + this.address + "<br>"); } // 定义Account构造器 function Account(name, address, number, amount) { // 从Person继承 this.newObj = Person; this.newObj(name, address); delete this.newObj; // Account特有属性 this.number = number; this.amount = amount; } Account.prototype = Object.create(Person.prototype); // 设置"constructor" 属性指向Account Account.prototype.constructor = Account; // 更改Person中toString方法 Account.prototype.toString = function() { document.write(this.name + " " + this.address + " " + this.amount + "<br>"); } Account.prototype.deposit = function(x) { this.amount += x; } Account.prototype.withdraw = function(x) { this.amount -= x; } </script>
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。