under——子对象访问父对象的方式

在传统的面向对象语言中,通常都会提供一种用于子类访问父类的特殊语法,因为我们在实现子类方法往往需要其父类方法的额外辅助。在这种情况下,子类通常就需要去调用父类中的同名方法,以便最终完成工作。

接下来,让我们再对之前的示例做一些修改,在构建继承关系的过程中引入一个under属性,并令其指向其父级原型对象:

function Shape(){}
Shape.prototype.name=‘shape‘;
Shape.prototype.toString=function(){
    var result=[];
    if(this.constructor.under){
        result[result.length]=this.constructor.under.toString();
    }
    result[result.length]=this.name;
    return result.join(‘, ‘);
};

function TwoDShape(){}
var F=function(){}
F.prototype=Shape.prototype;
TwoDShape.prototype=new F();
TwoDShape.prototype.constructor=TwoDShape;
TwoDShape.uner=Shape.prorotype;
TwoDShape.prototype.name=‘2D shape‘;

function Triangle(side,height){
    this.side=side;
    this.height=height;

}

var F =function(){}
F.prototype=TwoDShape.prototype;
时间: 2024-10-31 16:52:08

under——子对象访问父对象的方式的相关文章

javascript --- 子对象访问父对象的方式

在传统面向对象的编程语言里,都会提供一种子类访问父类的特殊语法,引文我们在实现子类方法往往需要父类方法的额外辅助.在这种情况下,子类通常会调用父类中的同名方法,最终以便完成工作. javascript虽然没有类似上述的特殊语法,但我们可以造一个啊! function her(){}; her.prototype.name = 'Anna'; her.prototype.toString = function(){ var const = this.constructor; return cons

【笔记】uber--子对象访问父对象的方式

读书笔记<javascript面向对象编程指南> function Shape(){} Shape.prototype.name = 'shape'; Shape.prototype.toString = function(){ var result = []; if (this.constructor.uber) { result[result.length] = this.constructor.uber.toString(); } result[result.length] = this

Qt那点事儿(三) 论父对象与子对象的关系

第三回 父与子 70后的道友都应该看过这么一部片子叫做<<父子情深>>.讲述的是一个小男孩患了绝症,父亲为了满足他的愿望,让已关门的游乐园为他们父子俩重新开放.在游乐园尽情地玩耍后,最后小孩子在父亲的怀中安详地闭上了眼睛.缓缓转动的摩天轮,配着淡淡忧伤的曲调,这一刻哥泪流满面.谁说世上只有妈妈好,父爱也顶半边天.此时台下的众多男道友热泪盈眶,不约而同地起立鼓掌.史上最大的冤屈,终于得以昭雪. 但是人世间这种真挚的父爱也存在于Qt中吗? 对此,从小缺乏父爱的张无忌小友给出了自己的答案

以对象的方式来访问xml数据表(二)

为什么要以对象的方式来访问xml数据表? 还记得,自己是在一次完成师兄布置的任务时接触到了xml,那时候需要用xml来作为数据文件,保存一个简单的图书管理系统的数据.于是就知道了,可以用xml文件来保存数据(而且比用简单的文本文件保存数据规范的多,在访问与读取数据上面都十分方便),就这样使用xml的征程开始了. 自己做的第一个WPF桌面应用程序——备忘录,就是用xml文件作为数据库.而且那个时候考虑到以后可能会经常使用到xml文件作为数据库,于是乎就写了一个专门用于访问xml文件的动态链接库,这

以对象的方式来访问xml数据表(三)

怎样以对象的方式来访问xml数据表? 在讲如何具体实现(二)中所说的专门用于访问xml文件的动态链接库之前,我们先来看看这个动态链接库具体要实现什么功能. 动态链接库IXmlDB.dll的功能: 1.对于不同的对象具有通用性.(简单地说就是在不修改内部代码的情况下,可以用不同的对象去映射不同的xml数据表) 由于数据保存在xml数据表里,所有数据都是以字符串的形式保存的,那么与之对应的对象里的属性就可以全部统一为string类型. 类与xml数据表映射的两个实例代码: User类与其对应xml数

JavaScript对象属性访问的两种方式

JavaScript对象属性访问的两种方式 object.attribute object["attribute"] 例如: var employees = [ { "firstName":"Bill" , "lastName":"Gates" }, { "firstName":"George" , "lastName":"Bush&qu

解决 堆栈 出现的父对象和子对象相关联的问题 (深拷贝)

// 解决 堆栈 出现的父对象和子对象相关联的问题 function dishesStackHandle(p, c) { var c = c || {}; for (var i in p) { if (typeof p[i] === 'object') { if (i == 'null' || i == null || p[i] == null) { c[i] = {}; } else { c[i] = (p[i].constructor === Array) ? [] : {}; } dish

2指定父对象

手动创建 添加一个空项目 选择[choose]进行下一步.设置项目名称和路径 -> 选择编译套件 --> 修改类信息 --> 完成(步骤同上),生成一个空项目.在空项目中添加文件:在项目名称上单击鼠标右键弹出右键菜单,选择[添加新文件] 弹出新建文件对话框 在此对话框中选择要添加的类或者文件,根据向导完成文件的添加. .pro文件 QT+=widgets          //确保QT5版本使用 main.cpp文件 #include <QApplication> #incl

DOM访问HTML元素的方式,DOM访问表单控件的常用属性和方法,DOM访问列表框、下拉菜单的常用属性,DOM访问表格子元素的常用属性和方法,DOM对HTML元素的增删改操作

DOM访问HTML元素的方式 为了动态地修改HTML元素,须先访问HTML元素.DOM主要提供了两种方式来访问HTML元素: 根据ID访问HTML元素:通过document对象调用getElementById()方法来查找具有唯一id属性值的元素. 利用节点关系访问HTML元素.常用的属性和方法如下: parentNode 返回当前节点的父节点 previousSibling 返回当前节点的前一个兄弟节点 nextSibling 返回当前节点的后一个兄弟节点 childNodes 返回当前节点的