`
axl234
  • 浏览: 260191 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Javascript 继承模式

 
阅读更多

在面向对象的JavaScript开发中使用继承可以提高代码重用性,javascript有多重方式可以实现继承,考虑代码的可维护性在项目中应该保持代码风格的一致性,下面是JavaScript中继承的实现方式之一:

 

辅助对象:

 

var global = window;

 

(function(ns,undefined){

           

    //辅助对象:

    var Class = {

         

        extends: function(SubClass, SuperClass){

             

            var F = function() {};

            F.prototype = SuperClass.prototype;

            SubClass.prototype = new F();

            SubClass.prototype.constructor = SubClass;

             

            SubClass.base = SuperClass.prototype;

            if(SuperClass.prototype.constructor == Object.prototype.constructor) {

                SuperClass.prototype.constructor = SuperClass;

            }

           

        }

    }

     

    global.Class = Class;

}(global, undefined));

 继承模式:

 

function Person(name){

    this.name = name;

}

 

Person.prototype = {

     

    getName: function(){

        console.log("Person.prototype.getName")

    },

     

    say: function(){

        console.log("Person.prototype.say")

    }

};

 

function Employee(title, name){

    Employee.base.constructor.call(this, name);

    this.title = title;

}

Class.extends(Employee, Person);

 

//重写person.prototype.say

Employee.prototype.say = function(){

    Employee.base.say.call(this);//调用父类方法

    console.log("Employee.prototype.say");

};

 

Employee.prototype.getTitle = function(){

    console.log("Employee.prototype.getTitle")

};

 调用演示:

 

var e = new Employee("前端", "jser");

console.log(e.name)

console.log(e.title)

e.getName() 

e.getTitle()

e.say()

 

//运行结果:

//jser

//前端

//Person.prototype.getName

//Employee.prototype.getTitle

//Person.prototype.say

//Employee.prototype.say

分享到:
评论

相关推荐

    JavaScript继承模式粗探

    真正意义上来说Javascript并不是一门面向对象的语言,没有...最基础的原型链继承在这里就不复述了,主要讲一下其他的继承模式。 1.借用构造函数继承 function Father (name) { this.name=name; } function Son (n

    JavaScript模式中文[pdf] 百度云

     类式继承模式#3——借用和设置原型  类式继承模式#4——共享原型  类式继承模式#5——临时构造函数  Klass  原型继承  通过复制属性实现继承  借用方法  小结  第7章 设计模式  单体模式  工厂模式  ...

    JavaScript模式【英文版】.pdf

    如果您是一名有经验的开发者,正在寻找与对象、函数、继承以及其他特定语言分类,那么本书中的抽象方案和代码模板将是十分理想的指南,无论您正在使用Javascript编写客户端、服务端,抑或是桌面应用程序。...

    JavaScript继承基础讲解(原型链、借用构造函数、混合模式、原型式继承、寄生式继承、寄生组合式继承)

    说好的讲解JavaScript继承,可是迟迟到现在讲解。废话不多说,直接进入正题。  既然你想了解继承,证明你对JavaScript面向对象已经有一定的了解,如还有什么不理解的可以参考《面向对象JS基础讲解,工厂模式、构造...

    JavaScript设计模式 (美)哈梅斯(Harmes,R), (美)迪亚斯(Diaz,D)著 源码+PDF

    第一部分给出了实现具体设计模式所需要的面向对象特性的基础知识,主要包括接口、封装和信息隐藏、继承、单体模式等内容。第二部分则专注于各种具体的设计模式及其在JavaScript语言中的应用,主要介绍了工厂模式、...

    学用 JavaScript 设计模式.pdf

    外文翻译:学用JavaScript设计模式,pdf版本,中文版 设计模式是可重用的用于解决软件设计中一般问题的方案。设计模式如此让人着迷,以至在任何编程语言中都有对其进行的探索。 其中一个原因是它可以让我们站在巨人...

    JavaScript模式 斯托扬·斯特凡洛夫 著

    类式继承模式#3——借用和设置原型 类式继承模式#4——共享原型 类式继承模式#5——临时构造函数 Klass 原型继承 通过复制属性实现继承 借用方法 小结 第7章 设计模式 单体模式 工厂模式 迭代器模式 装饰者模式 策略...

    JavaScript设计模式中文版第4章-继承.pdf

    JavaScript设计模式中文版第4章-继承.pdf

    JavaScript设计模式中文版第4章-继承定义.pdf

    JavaScript设计模式中文版第4章-继承定义.pdf

    JavaScript常见继承模式实例小结

    主要介绍了JavaScript常见继承模式,结合实例形式总结分析了javascript原型链继承、构造函数继承、组合继承、原型式继承、寄生式继承等相关实现技巧与操作注意事项,需要的朋友可以参考下

    javascript设计模式的学习

    javascript设计模式的学习 重点学习了原型链的一些继承模式 但是在日常开发当中很少用到 不知道是哪里出了问题

    javascript设计模式 – 装饰模式原理与应用实例分析

    本文实例讲述了javascript设计模式 – 装饰模式原理与应用。分享给大家供大家参考,具体如下: 介绍:装饰模式可以在不改变一个对象本身功能的基础上给对象增加额外的新行为。在现实生活中,这种情况也到处存在,...

    javascript 设计模式

    javascript 设计模式 js继承,类创建,接口定义等设计方法详解

    一文理清 JavaScript 中对象的创建模式与继承模式

    一文理清 JavaScript 中对象的创建模式与继承模式 文章目录一文理清 JavaScript 中对象的创建模式与继承模式一、前言 :1. 写作目的2. 需要具备的知识点3. 阅前声明二、JavaScript 中对象的创建模式1. ( 单例模式 ) ...

    前端项目-augment.zip

    前端项目-augment,世界上最小、最快的经典JavaScript继承模式。

Global site tag (gtag.js) - Google Analytics