当前位置: 首页 > 知识库问答 >
问题:

方法在Angular2中重写

赖淇
2023-03-14
open() => void 
open(message: string) => void

家长:

export class ParentClass {
    constructor() { super(); }

    open(){
        return "Hello World!";
    }
}

儿童:

export class ChildClass extends ParentClass {
    constructor() { super(); }

    open(message: string){
        return message;
    }
}

共有1个答案

慕容明煦
2023-03-14

这段代码不起作用的原因很简单:

let parent: ParentClass = new ParentClass();
parent.open();
parent = new ChildClass();
// what happens now?
parent.open();

在第三行代码之后,parent仍然是parentclass的类型,因此open调用应该有效。另一方面,它包含一个ChildClass,所以我们没有为这个方法提供neccessary参数:message:string。这是个悖论。

如果希望此代码有效,两个方法应该共享相同的参数

    null
 类似资料:
  • 本质上,标题所说的,有什么理由为了进行超文本传输协议调用而使用可观察到的而不是promise?似乎是不必要的过度复杂化,因为所有的呼叫将做的是成功或失败,并且没有真正的理由取消它,几乎从来没有。对于典型的用例,而不是典型的可观察到的防抖销售推销(讽刺的是,ng-防抖无论如何都很好,不会打无用的电话)。

  • 我搜索了如何在Angular2中缓存XHR,发现使用了< code>share()方法。但是我创建的服务并不像我预期的那样工作。 我错过了什么?(当然,导入所需的类和接口)

  • 我有一个页面,它向同一个位置发出超文本传输协议请求,只是根据用户的需求使用不同的参数。所以我的代码看起来像这样: 例如,在 JQuery 中,您在框架中构建了一个缓存属性,该属性会自动缓存并且非常容易实现: Angular2有类似的东西吗?只要用户在应用程序中,我就希望缓存这些动态响应。因此,如果用户使用相同的参数请求相同的url,那么它只会从缓存中获取它,如果参数从未被使用,那么它会进行网络调用

  • 本文向大家介绍Angular2中监听数据更新的方法,包括了Angular2中监听数据更新的方法的使用技巧和注意事项,需要的朋友参考一下 angular2 模型数据更新了,需要监听数据改变, 一、实现接口Docheck,检测页面上所有元素数据更新 二、针对页面上某个元素的数据更新做处理 1、定义模板驱动表单名 2、ts 文件中新建一个表单元素对象。 3、ngonInit中订阅数据更新 以上这篇Ang

  • 假设我在某个类上有一个同步方法: 我在不使用同步修饰符的情况下覆盖了它: 关于这个场景,我有几个具体的问题: 重写的方法也会隐式同步吗? 如果没有,-call会同步吗? 如果没有-call,会同步任何东西吗? 有没有办法强制覆盖方法使用(我注意到抽象方法定义或接口内的方法定义不允许同步关键字)?

  • 安吉丽卡·兰格(Angelica Langer)在关于仿制药的常见问题解答中说(参见Technicalities.FAQ822): 如果这些方法具有具有不同边界的类型参数,则它们不会重写,因为这些方法的签名不是重写等价的。请记住,类型参数边界是泛型方法签名的一部分。 示例(泛型子类型方法重载泛型超类型方法;不推荐): 我不明白为什么方法在类中重载。据我所知,这应该是一个编译时错误,因为在和中具有相