`

继承设计

阅读更多
function extend(subClass, superClass){
        var F = function(){};
        F.prototype = superClass.prototype;
        subClass.prototype = new F();
        subClass.prototype.contructor = subClass;

        subClass.superclass = superClass.prototype;
        if(superClass.prototype.constructor == Object.prototype.constructor){
                 superClass.prototype.constructor = superClass;
        }
    }
    
    function Person(name){
        this.name = name;
    }
    
    Person.prototype.getName = function(){
        return "sss";
    }
    
    function Author(name, books){
        Author.superclass.constructor.call(this, name);
        this.books = [];
    }

    extend(Author, Person);

    Author.prototype.getBooks = function(){
        return this.books;
    }
    
    Author.prototype.getName = function(){
        var name = Author.superclass.getName.call(this);
        return name + ", Author of" + this.getBooks().join(",");
    }
    
    window.onload = function(){
        //var a = new Author("li","abcdefg");
        alert(Author.superclass.getName());
    }


有了superclass属性就可以直接调用超类中的方法。这在既要重定义超类的某个方法而又想访问其在超类中的实现时可以派上用场。
分享到:
评论

相关推荐

    继承设计练习

    这个练习主要是为了帮助开发者熟悉如何在C++中实现继承设计。下面我们将深入探讨C++继承的基本概念、语法以及其在实际编程中的应用。 1. **继承的概念** 继承是一种“is-a”关系,意味着子类是父类的一种特殊形式...

    继承窗体的设计C#源码

    在C#编程中,"继承窗体的...在分析源码时,我们需要关注这些关键点,理解每个类和方法的作用,以及它们如何协同工作以实现窗体的继承设计。这将帮助我们更好地理解和利用C#的面向对象特性,提高代码的效率和可维护性。

    C#泛型类窗体继承设计器无法使用解决办法,解决案例Demo

    winform窗体继承泛型类时,设计器无法使用解决办法: 当我们使用winform程序时,winform窗体程序和控件程序都是可以通过设计器进行控件拖拽的,但如果我们继承了一个带有泛型的form基类.那么设计器是无法使用的.

    C++课程-4_继承与派生

    10. **设计模式**:在软件工程中,继承是许多设计模式的基础,如工厂模式、策略模式、装饰器模式等,它们利用继承来实现特定的结构和行为。 学习这部分内容时,阅读"4_继承与派生.pdf"文件将有助于深入理解这些概念...

    c++ 图形面积计算 利用继承与多态

    7. 设计与实现: - 在实际编码中,应先定义`Shape`基类,然后定义`Circle`、`Triangle`和`Rectangle`派生类,每个类都有自己的构造函数以初始化成员变量。 - `getArea()`方法在每个派生类中重写,实现各自图形的...

    验证有继承时的调用顺序

    在编程领域,继承是面向对象编程的一个核心特性,它允许我们创建一个新类(子类)来继承另一个类(父类)的属性和方法。...在实际编程中,合理的继承设计能帮助我们更好地组织代码,降低复杂性,并实现更好的代码复用。

    对轿车,自行车实现多态,继承等

    在这个场景中,"对轿车,自行车实现多态,继承等"指的是在设计软件时,我们可能创建了一个抽象的交通工具类(如Vehicle),然后轿车(Car)和自行车(Bicycle)作为这个类的子类,通过继承来获取交通工具类的属性和...

    C# 继承窗体的设计

    当我们谈论“C# 继承窗体的设计”时,我们主要关注的是如何在Windows Forms应用程序中利用继承来创建和定制用户界面。 首先,让我们深入理解什么是窗体(Form)。在Windows Forms中,窗体是用户与应用程序交互的...

    winform泛型类窗体继承解决办法C#小Demo

    winform窗体继承泛型类时,设计器无法使用解决办法: 当我们使用winform程序时,winform窗体程序和控件程序都是可以通过设计器进行控件拖拽的,但如果我们继承了一个带有泛型的form基类.那么设计器是无法使用的. 这时...

    java的继承+java

    Java的继承机制是面向对象编程的核心特性之一,它允许子类继承父类的特性(属性和方法),从而实现代码的重用和类的分层结构。...同时,通过合理的继承设计,可以构建层次分明、易于维护的软件体系结构。

    c++程序设计 继承与派生实验(二)

    在这个“C++程序设计 继承与派生实验(二)”中,我们将深入探讨这三个关键知识点:类的派生与继承的概念、继承方式对成员访问权限的影响,以及虚基类的用法。 首先,让我们理解类的继承与派生。继承是面向对象设计...

    C++面向对象程序设计习题继承与派生.pdf

    "C++面向对象程序设计习题继承与派生.pdf" 继承是面向对象程序设计中的一种重要机制,它允许一个类继承另一个类的属性和行为特征。通过继承,新类可以从现有类中获得特征,从而达到代码复用的目的。在C++中,继承...

    android 11.Android的类别继承与委托之范例

    这样的继承设计可能会引入错误,特别是在有多个继承层级的系统中,副作用可能会影响更远的子类。 1.2 改进继承关系:委托 为了解决上述问题,我们可以使用委托(delegation)模式。在这种模式下,子类不直接继承...

    C++设计模式和继承代价

    本篇文章将围绕“C++设计模式和继承代价”这一主题,深入探讨设计模式的核心概念以及在C++中使用继承时可能带来的成本。 首先,设计模式是软件工程中的一种最佳实践,它描述了在特定场景下如何高效地解决常见问题。...

    实验3 继承与多态性.docx

    本实验的主要目的是要让学生掌握类的继承设计语法,构建类的继承体系,并且在继承体系的基础上设计多态性。通过本实验,学生将学习如何定义虚方法,抽象类,虚函数,多态机制等概念,并掌握如何使用这些概念来设计和...

    C++面向对象程序设计继承

    C++面向对象程序设计中的重要内容继承。合成与继承、单继承、多继承

    爬虫python入门-21-单继承.ev4.rar

    在爬虫开发中,我们可以利用单继承设计模块化的爬虫框架。例如,创建一个基础的Spider类作为父类,包含基本的爬取和解析功能。然后,针对不同的网站或任务,创建特定的子类,它们继承自Spider父类,并根据需求重写或...

    C++程序设计讲义 继承与派生

    ### C++程序设计讲义:继承与派生 #### 一、继承与派生的概念 在面向对象程序设计中,**继承**是一个重要的概念,它允许我们基于已存在的类(通常被称为**基类**或**父类**)来定义新的类(即**派生类**或**子类**...

Global site tag (gtag.js) - Google Analytics