首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

TypeScript:如何获取子类的方法以返回父this

TypeScript是一种静态类型的编程语言,它是JavaScript的超集,提供了更强大的类型检查和面向对象编程的特性。在TypeScript中,可以使用类和继承来组织代码和实现代码的复用。

要获取子类的方法以返回父类的this,可以使用super关键字。super关键字用于调用父类的构造函数、访问父类的属性和调用父类的方法。

以下是一个示例代码,演示了如何获取子类的方法以返回父类的this:

代码语言:txt
复制
class Parent {
  constructor() {
    // 父类的构造函数
  }
  
  parentMethod(): this {
    // 父类的方法
    return this;
  }
}

class Child extends Parent {
  constructor() {
    super(); // 调用父类的构造函数
  }
  
  childMethod(): this {
    // 子类的方法
    return this;
  }
}

const child = new Child();
child.childMethod().parentMethod(); // 调用子类的方法并返回父类的this

在上面的示例中,Parent类定义了一个parentMethod方法,并使用this作为返回类型。Child类继承了Parent类,并定义了一个childMethod方法,同样使用this作为返回类型。在子类的方法中,可以通过调用parentMethod方法来获取父类的this。

这样,通过在子类中定义返回父类this的方法,可以实现获取子类的方法以返回父类的this的需求。

腾讯云相关产品和产品介绍链接地址:

以上是腾讯云提供的一些相关产品,可以根据具体需求选择适合的产品来支持云计算和开发工作。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

返回子类类型函数写法

不过由于我们这个 Event 类型比较多,因此希望写一个类,来一个子类感受下: class DisposableEventBuilder : EventBuilder() { private....build() 我们调用完 retryLimit 方法后,想要设置下 delay,结果发现没有这个方法。 “我 X,这什么玩意儿”,你嘟囔了一句。 因为返回类,所以链式调用掉链子了。...this.retryLimit = retryLimit return this as T } abstract fun build(): PollingEvent } 这个泛型给类加了一个泛型参数...,这个参数则必须是当前类子类,那么这样的话我们就可以在返回自身类型位置返回 T 这个类型了。...子类改动就很简单了,只需要给类加一个泛型参数为自己类型即可: class DisposableEventBuilder : EventBuilder

4.7K10

Python_子类调用方法

1.方式一 子类调用方法,包含2中形式调用。一种形式是在类内部通过继承方式调用方法,另外一种形式是子类实例化后之后通过继承方式来调用方法。如下图所示: ?...注意一点,在子类内部通过继承方式调用属性时,必须要带上self位置参数(self只在实例化过程中和在实例调用属性时才能省略(self本来含义就是指向实例自己));而实例在通过继承调用属性或方法时...3班") #调用子类本身方法 student.course() #通过子类调用方法--->实例化之后来调用方法 student.eat() #调用子类方法,在子类方法中调用了子类方法,...使用super好处,一是可以代替父类名,这样后期类名更改了,我们只需要更改子类名称后面的类名即可,子类中其他类名可以不用更改;二是使用了super后,调用方法时可以不传参数self。..."11届土木3班") #调用子类本身方法 student.course() #通过子类调用方法--->实例化之后来调用方法 student.eat() #调用子类方法,在子类方法中调用了子类方法

4.8K20

子类调用同名方法和属性

Python面向对象中,利用子类调用同名方法和属性。...首先我们定义了两个类,Master和School # @author: 北山啦 # FileName: 12子类调用同名方法 # @time: 2022/6/5 14:54 #类Master...,子类如何来调用呢 在这里,定义Prentice类,继承了Master和School类,添加了和类同名属性和方法 调用子类属性和方法 如果调用了属性和方法类属性会自动掩盖子类属性,股灾调用属性前...__init__ print(f'运用{self.kongfu}制作煎饼果子') 调用类属性和方法 如果调用方法,但是为了保障调用到属性,必须在方法前调用初始化...__init__ print(f'运用{self.kongfu}制作煎饼果子') '''调用方法,但是为了保障调用到是弗列属性,必须在方法前调用初始化'''

1.8K20

ES6 子类方法重写

子类方法重写概念子类方法重写是指在子类中定义与类同名方法,并使用子类实现来替换方法。当子类调用该方法时,将执行子类实现而不是实现。...这允许子类根据自身需求来修改或扩展行为。语法ES6中子类方法重写语法非常简单。在子类中,定义与类同名方法,并提供子类自己实现。当子类调用该方法时,将执行子类实现。...methodName() { // 子类方法实现,替换了方法实现 }}在上述代码中,ChildClass继承自ParentClass,并重写了methodName()方法。...当我们创建ChildClass实例并调用methodName()时,将执行子类方法实现。示例让我们通过示例来理解子类方法重写。...当我们创建Circle类实例并调用calculateArea()方法时,将执行子类Circle方法实现,输出圆面积。通过重写方法子类可以根据自身需求来修改或扩展行为。

56740

创建子类对象时,类构造函数中调用被子类重写方法为什么调用子类方法

static void main(String[] args) { A a = new A(); B b = new B(); } } 问题:为什么创建A对象时候类会调用子类方法...但是:创建B对象类会调用方法? 答案: 当子类被加载到内存方法区后,会继续加载类到内存中。...如果,子类重写了方法子类方法引用会指向子类方法,否则子类方法引用会指向方法引用。 如果子类重载了方法,则子类重载方法引用还指向子类方法。...如果子类方法没有重写也没有重载方法,则方法引用会指向方法。 当子类对象创建时,会先行调用构造方法(构造方法也是方法),虚拟机会在子类方法区寻找该方法并运行。...其结果是当编译时候,类构造方法调用方法参数已经强制转换为符合方法参数了。 上边代码在编译前已经转换为下面这个样子了。

6.1K10

python中子类调用初始化方法

继承类后,就能调用方法和访问类属性,而要完成整个集成过程,子类是需要调用构造函数。...子类不显式调用构造方法,而类构造函数初始化了一些属性,就会出现问题 如果子类类都有构造函数,子类其实是重写了构造函数,如果不显式调用类构造函数,构造函数就不会被执行,导致子类实例访问类初始化方法中初始变量就会出现问题...当前雷和对象可以作为super函数参数使用,调用函数返回对象任何方法都是调用超类方法,而不是当前类方法。...super函数会返回一个super对象,这个对象负责进行方法解析,解析过程其会自动查找所有的类以及类。  ...二、第二种解释     在Python中子类继承过程中,如果子类不覆盖__init__()方法,则子类默认将执行与类一样初始化方法

2.1K10

一日一技:如何禁止 Python 子类覆盖方法

在昨天文章里面,我们讲到了,当子类试图覆盖时候,可以通过类型标注来发出警告。今天,我们来讲讲如何直接禁止覆盖。...Python 原生是没有提供禁止子类覆盖方法功能,因此我们需要自己来实现。 先来看一下实现效果: 在这段代码里面,我们禁止子类覆盖dead()和eat()方法,但不禁止move方法。...所以,当我们在子类Dog里面尝试覆盖类中dead()时,程序就报错了。...Protect类有一个__new__方法,这个方法会在使用了元类所有子类__init__之前被调用。...在__new__里面,我们拿到了子类要定义方法,并且检查他们是不是在我们传给protect列表里面。如果在,说明这个方法不能被覆盖。

1.4K40

子类继承类,重写synchronized方法,两个synchronized方法锁对象问题

参考链接: 用子类引用子类对象 vs 类引用 这是java并发编程实践中有关重入概念介绍时产生问题  public class Widget {       public synchronized...,重写synchronized方法,两个synchronized方法锁对象问题  是同一个锁还是不同锁呢,是同一个锁的话是  类对象作为锁还是子类对象作为锁呢? ...,那么另一个线程仍然可以获得子类对象锁。...something else  说明肯定是同一对象  另外main方法里最后那步执行对象是子类,按着定义,谁调用方法谁作为锁,所以这个一定是子类对象,那么super.doSomething()这个方法一定也是子类对象...,至于理解么:  可以认为即便是继承创建了类对象,并把类对象引用交给了子类,但是在super.去调用方法时候JVM认为调用者依然是子类

1.7K20

vue组件操作子组件方法_vue组件获取子组件数据

当我们创建了组件和子组件,如果子组件也想获取组件上相同数据,一种方法是像后台发送接口获取数据,但是这样会给服务器造成压力,所以我们有了第二种方法,通过props属性来获取组件数据 <div...,又定义了子组件test1,此时子组件test1想获取组件data中数据来展示在页面上,就需要写入props属性,这里绑定了变量cmovies,最后我们在html中使用子组件test1时,想传入组件...对象或数组默认值必须从一个工厂函数返回。 required:Boolean 定义该 prop 是否是必填项。...当我们组件中需要使用子组件中函数或者属性值,我们可以使用$refs,它返回类型是Object,先看如下代码 <button...showMessage和属性name 2.组件中使用子组件cpn,并绑定了一个属性ref值为aaa,相当于是唯一标识 3.组件方法btnClick需要使用子组件中方法和属性,只需要this.refs.aaa

6.9K10

类中如果没有无参构造方法(也即类中只给了带参构造方法),子类构造方法怎么办?

类中如果没有无参构造方法(也即类中只给了带参构造方法),子类构造方法怎么办? /* 类中如果没有无参构造方法(也即类中只给了带参构造方法),子类构造方法怎么办?   ...法1:子类构造方法通过 super(...); 去显示调用带参构造方法。   ...法2:子类构造方法通过 this();/this(...); 调用本类其他构造方法,但是子类其他构造方法中一定会有一个去访问了带参构造方法。   法3:让类提供无参构造。...;/super(...); 这三个语句访问子类构造方法时候,必须放在第一句语句上。         否则,就可能会对类数据进行多次初始化。 */ 示例代码如下图所示: ?

1.5K10

JS获取节点兄弟,级,子级元素方法

2015-08-18 03:48:27 下面介绍JQUERY,子,兄弟节点查找方法 jQuery.parent(expr)  找父亲节点,可以传入expr进行过滤,比如$("span").parent...(expr).返回所有子节点,这个方法只会返回直接孩子节点,不会返回所有的子孙节点 jQuery.contents(),返回下面的所有内容,包括节点和文本。...这个方法和children()区别就在于,包括空白文本,也会被作为一个 jQuery对象返回,children()则只会返回节点 jQuery.prev(),返回上一个兄弟节点,不是所有的兄弟节点 jQuery.prevAll...(),返回所有之前兄弟节点 jQuery.next(),返回下一个兄弟节点,不是所有的兄弟节点 jQuery.nextAll(),返回所有之后兄弟节点 jQuery.siblings(),返回兄弟姐妹节点...jQuery.filter()是从初始jQuery对象集合中筛选出一部分,而jQuery.find()返回结果,不会有初始集合中内容,比如$("p"),find("span"),是从元素开始找

9.2K10

【Kotlin】Kotlin 类继承 三 ( super 关键字使用 | super@ 外部调用方法 | 子类选择性调用 类 接口 方法 super )

子类调用类 : 子类可以任意调用 public , protected 可见性属性与方法 ; 3 ....super 关键字进行简单调用即可 ; ② 子类内部类调用类 : 如果想要在子类内部调用成员和方法 , 需要使用 super@子类名称 调用 ; ③ 子类调用不同父类同名方法 : 如果子类继承类...子类调用方法 ( super ) ---- 子类调用方法 : 子类中可以通过 super 调用方法 , 包括普通方法 , 和属性访问 setter 方法 ; 其中 super 相当于类对象引用...子类内部类调用方法 ( super@ ) ---- 子类内部类调用方法 : 在子类内部类中 , 如果想要访问方法 , 可以使用 super@子类名称.方法() 形式 , 调用方法...子类选择性调用类 / 接口方法 : 子类可以继承类 , 实现多个接口 , 如果类与接口 , 或者不同接口之间定义了相同名称方法 , 那么需要使用 super.方法名() 选择调用指定

1.2K10
领券