`
dyh200896
  • 浏览: 3955 次
  • 性别: Icon_minigender_1
  • 来自: 广东
社区版块
存档分类
最新评论

javascript 利用call方法实现多层次继承

阅读更多
利用call方法模拟面向对象程序设计中的多层次继承

其实如果熟悉java或其他面向对象程序设计思想,理解javascript的call方法的使用,就能很好理解了。

直接给出代码:
	function GrandFather(){
		this.g=function(msg){
			alert(msg+"\n grandFather: Good Morning,grandson!");
		}
		this.g2=function(msg){
			alert(msg+"\n grandFather: have a good day, grandson!");
		}
	}

	function Father(){
		GrandFather.call(this);
		this.f=function(msg){
			
			alert(msg+"\n father:you bad boy,haha!");
		}
	}

	function Son(){
		Father.call(this);
	}

	var son = new Son();
	son.f("son: hi,Dad!");
	son.g("grandson: Morning,grandFather!");
	son.g2("grandson: Let me walk with you!");


分享到:
评论

相关推荐

    JavaScript实现继承的几种方式

    继承是面向对象的核心特性之一,它允许一个对象(子类)从另一个对象(父类)获取属性和方法,从而形成类之间的层次结构。本篇文章将深入探讨JavaScript中实现继承的几种常见方式。 1. 原型链继承 JavaScript的原型...

    javascript控件开发之继承关系

    在这个主题中,“javascript控件开发之继承关系”主要探讨的是如何利用JavaScript的面向对象特性来构建和组织控件的层次结构,以及如何通过继承来实现代码的复用和模块化。 在JavaScript中,继承是基于原型...

    用JavaScript实现单继承和多继承的简单方法

    JavaScript的面向对象特性主要依赖于原型继承,这与传统的类继承有所不同,但同样可以实现单继承和多继承的效果。 ### 单继承的实现 在JavaScript中,单继承可以通过原型链直接实现。以下是一种简洁的实现方式: ...

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

    JavaScript中的继承是一个重要的概念,它允许开发者创建具有共同属性和方法的类层次结构,从而减少代码重复并提高代码复用性。与其他面向对象语言不同,JavaScript并没有简单的继承关键字,而是利用原型(prototype)...

    Javascript组合继承方法代码实例解析

    组合继承是JavaScript中实现继承的一种常见方式,它结合了原型链继承和构造函数继承的特点,以充分利用两者的优点。在组合继承中,子类型能够继承父类型的属性和方法,并且每个实例都有自己的属性,不会因为共享而...

    javascript 用函数实现继承详解

    JavaScript中的继承是面向对象编程的重要概念,用于创建类与类之间的层次关系,使得子类可以重用父类的属性和方法。在JavaScript中,由于没有真正的类,而是使用函数和原型来模拟类的行为。本文将深入讲解如何用函数...

    JavaScript面向对象高级编程

    同时通过设置子类的原型为父类的一个实例,可以实现方法的继承。 4. **封装**:封装是将数据(属性)和操作数据的方法绑定在一起,形成一个类,并对类的内部实现进行隐藏。在JavaScript中,虽然没有类的语法糖,但...

    JavaScript中的继承之类继承

    例如,如果多个父类有同名方法,子类只能继承到其中一个,而无法实现方法重载。此外,通过实例化父类来设置子类原型可能导致不必要的内存开销,尤其是在处理大量实例时。因此,在实际开发中,我们需要根据具体需求...

    javascript 继承学习心得总结

    在JavaScript中,由于其动态类型和原型为基础的特性,继承并非像其他面向对象语言那样具有严格的类层次结构,而是通过模拟继承的方式来实现。 **一、继承的目的** JavaScript的继承主要用于避免重复编写相同的代码...

    Ext继承和扩展

    通常,文件会包含多个类定义,每个类定义都是通过`Ext.extend()`来实现继承的。这些类可能包含特定的配置选项、方法重写、事件监听等。 ### 类的配置 `Ext`允许我们在类定义时提供配置对象,这可以用来初始化实例的...

    ext继承重写

    我们在`MyPanel`中重写了这个方法,首先调用了`callParent()`函数来执行父类的原始实现,然后添加了自定义逻辑(如设置面板标题),最后允许父类的剩余逻辑继续执行。 在实际开发中,`ext_extends`可能会包含多个...

    JavaScript OOP类与继承

    总结来说,JavaScript的类和继承机制提供了一种组织和复用代码的方式,使得我们能够创建复杂的对象层次结构。通过类构造器、原型和继承,我们可以设计出具有封装性、继承性和多态性的对象,从而更好地应对实际项目的...

    学习JavaScript设计模式(继承)

    继承是这些模式中的一种,它是面向对象编程的关键概念,允许一个类(或对象)从另一个类(或对象)继承属性和方法,从而实现代码复用和创建类的层次结构。 在JavaScript中,继承是一个复杂的话题,因为与其他面向...

    js继承

    在JavaScript中,继承允许一个对象(子类)获取另一个对象(父类)的属性和方法,从而实现代码复用和创建复杂的类层次结构。下面将详细探讨JavaScript中的几种继承方式。 1. 原型链继承 这是JavaScript中最基本的...

    javascript设计模式与开发实践源码

    JavaScript中的`.call()`和`.apply()`方法可以帮助实现这一点。 7. 外观模式: 外观模式提供了一个简单的接口,用于与复杂的子系统交互。在JavaScript中,可以创建一个对象来封装一组相关或相互依赖的对象。 8. ...

    老生常谈 关于JavaScript的类的继承

    在JavaScript中,继承的常见模式还包括使用`call`或`apply`调用父类的构造函数来初始化子类实例,以及使用函数如`Object.assign`或ES6的`class`语法来简化继承实现。例如,`_super`是用于在子类中调用父类方法的常见...

    JavaScript最常用的55个经典技巧

    - `class` 关键字用于创建类,`extends` 实现继承。 - `super` 关键字在子类中调用父类构造函数或方法。 12. 反射API: - `Object.getOwnPropertyDescriptor()`、`Object.defineProperty()` 等用于获取和设置...

    javascript prototype 原型链

    在多层次继承的情况下,原型链更加复杂。在上述代码中,`Employee`是`Person`的子类。子类的构造函数`Employee`通过`Person.call(this, name)`来调用基类的构造函数,确保子类实例可以拥有基类的属性。同时,`...

    js代码-构造函数继承方式

    在JavaScript中,有多种实现构造函数继承的方法,如经典继承、原型链继承、寄生组合式继承等。这里我们主要讨论两种常见的实现方式: 1. **原型链继承**:这是最直接的构造函数继承方式,通过修改一个对象的`__...

    一套比较完整的javascript面试题(部分答案)

    在给出的文件内容中,我们可以提炼出多个重要的知识点,这些知识点覆盖了基本的语法、数据类型、作用域、对象创建、继承、原型链以及一些高级特性。 首先,关于JavaScript中的基本数据类型,面试题涉及到了null和...

Global site tag (gtag.js) - Google Analytics