摘要:最简单的类构造函数和原型链里增加方法在运动男在工作类里的静态方法在运动我是静态方法男在工作里面的继承,对象冒充实现继承只有一个弹框,说明没有继承到上的方法在运动男在工作类继承类里面的继承,原型链实现继承在运动男在工作类继承类原型链实现继承的
最简单的类
function Person() { this.name = "lisi"; this.age = 20; } var p = new Person(); alert(p.name);构造函数和原型链里增加方法
function Person() { this.name = "lisi"; this.age = 20; this.run = function() { alert(this.name + "在运动"); } } Person.prototype.sex = "男"; Person.prototype.work = function() { alert(this.name + "在工作"); } var p = new Person(); alert(p.name); p.run(); p.work()类里的静态方法
function Person() { this.name = "lisi"; this.age = 20; this.run = function() { alert(this.name + "在运动"); } } Person.getInfo = function() { alert("我是静态方法") } Person.prototype.sex = "男"; Person.prototype.work = function() { alert(this.name + "在工作"); } var p = new Person(); // p.work(); Person.getInfo()es5里面的继承,对象冒充实现继承
只有一个弹框,说明没有继承到prototype上的方法
function Person() { this.name = "lisi"; this.age = 20; this.run = function() { alert(this.name + "在运动"); } } Person.prototype.sex = "男"; Person.prototype.work = function() { alert(this.name + "在工作"); } //Web类继承Person类 function Web() { Person.call(this); } var w = new Web(); w.run(); w.work();es5里面的继承,原型链实现继承
function Person() { this.name = "lisi"; this.age = 20; this.run = function() { alert(this.name + "在运动"); } } Person.prototype.sex = "男"; Person.prototype.work = function() { alert(this.name + "在工作"); } //Web类继承Person类 function Web() { } Web.prototype = new Person(); var w = new Web(); w.run(); w.work();原型链实现继承的问题
function Person(name, age) { this.name = name; this.age = age; this.run = function() { alert(this.name + "在运动"); } } Person.prototype.sex = "男"; Person.prototype.work = function() { alert(this.name + "在工作"); } function Web(name, age) { } Web.prototype = new Person(); var w = new Web("lisi", 20) w.run() w.work()原型链+对象冒充的组合继承模式
function Person(name, age) { this.name = name; this.age = age; this.run = function() { alert(this.name + "在运动"); } } Person.prototype.sex = "男"; Person.prototype.work = function() { alert(this.name + "在工作"); } function Web(name, age) { Person.call(this, name, age); } Web.prototype = new Person(); var w = new Web("lisi", 20) w.run() w.work()原型链+对象冒充的另一种方式
function Person(name, age) { this.name = name; this.age = age; this.run = function() { alert(this.name + "在运动"); } } Person.prototype.sex = "男"; Person.prototype.work = function() { alert(this.name + "在工作"); } function Web(name, age) { Person.call(this, name, age); } Web.prototype = Person.prototype; var w = new Web("lisi", 20) w.run() w.work()
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/101668.html
angular2是什么?我猜不容我赘述,各位一定略有耳闻,无论是曾经AngularJS的拥趸,亦或是React的粉丝,都或多或少的对她有过一点了解。未见其物、先闻其声,angular2在问世之前已经做足了宣传,想必诸位也一定被下面各种词汇所震慑,什么:TypeScript、 ES5、 ES6、 Dart、 Immutable、 Unidirectional Data Flow、 Reactive ...
摘要:前言是面对对象的语言,因此有必要单独纪录下对象的各种定义和理解。面对对象基本概述概述是基于面向过程的变成思想,是对面向过程的一种封装。面对对象开发就是不断的创建对象,使用对象,指挥对象做事情。面对对象设计其实就是在管理和维护对象之间的关系。 前言 java是面对对象的语言,因此有必要单独纪录下对象的各种定义和理解。 面对对象,主要包括:面向对象思想,类与对象及其使用,对象的内存图,成...
摘要:类与对象基本概念如果在之后跟着的是一个包含有类名的字符串,则该类的一个实例被创建。如果该类属于一个名字空间,则必须使用其完整名称。如果一个类被声明为,则不能被继承。命名空间通过关键字来声明。 类与对象 基本概念 new:如果在 new 之后跟着的是一个包含有类名的字符串,则该类的一个实例被创建。如果该类属于一个名字空间,则必须使用其完整名称。 Example #3 创建一个实例 ...
摘要:即使抽象类里不包含抽象方法,这个抽象类也不能创建实例抽象类可以包含成员变量方法普通方法和抽象方法构造器初始化块内部类接口枚举种成分。 抽象类 当编写一个类时,常常会为该类定义一些方法,这些方法用以描述该类的行为方式,那么这些方法都有具体的方法体。但在某些情况下,某个父类只是知道其子类应该包含怎样的方法,但无法准确地知道这些子类如何实现这些方法。使用抽象方法即可满足该要求:抽象方法是只有...
阅读 2263·2023-04-25 16:42
阅读 1163·2021-11-22 14:45
阅读 2314·2021-10-19 13:10
阅读 2806·2021-09-29 09:34
阅读 3375·2021-09-23 11:21
阅读 2071·2021-08-12 13:25
阅读 2151·2021-07-30 15:15
阅读 3471·2019-08-30 15:54