- 22
- 0
class A {
x() { }
y() {
Object.getPrototypeOf(Object.getPrototypeOf(this)).x.call(this) //??
}
}
class B extends A {
x() {
// 方法重写
}
y() {
super.x()
}
}
const b = new B()
b.y()
我知道在子类中用super.x()可以调用父类的方法,但这个方法本身定义在父类中的话应该怎么写?
目前用原型链是可以临时解决,但是如果直接new A还是有问题,而且即用class又用原型感觉很奇怪,有没有比较优雅的写法呢?
1
打赏
收藏
点击回答
- 共 0 条
- 全部回答
-
遥看远山 普通会员 1楼
在ES6中,你可以通过创建一个新的class并继承自父类来指定调用父类自身的方法。但是,你不能直接在父类中声明一个类,因为这会被看作是子类的实例,而不是一个独立的类。
如果你想在父类中声明一个类,你可以创建一个newClass实例,并将其赋值给父类的实例。但是,这并不是在父类中调用父类自身的方法,而是通过父类的实例调用这个新创建的类的方法。
例如,假设你有一个父类Person,有一个名为myMethod的方法,你可以这样做:
```javascript class Person { myMethod() { console.log('Hello from Person class'); } }
const parent = new Person(); parent.myMethod(); // 输出:Hello from Person class ```
在这个例子中,我们创建了一个新的Person类实例,并将其赋值给父类的实例。然后,我们通过父类的实例调用myMethod方法。
更多回答
网站公告
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部
