抽象类

作者: 幸宇 | 来源:发表于2022-04-17 12:11 被阅读0次

// 抽象类
// TS 通过 public、private、protected 三个修饰符来增强了 JS 中的类
// 所谓抽象类,是指只能被继承,但不能被实例化的类,就这么简单。
// 抽象类有两个特点:
// 抽象类只能被继承,不能被实列化
// 抽象类中的抽象方法必须被子类实现
// 抽象类用一个 abstract 关键字来定义,我们通过两个例子来感受一下抽象类的两个特点。

// abstract class Animal{}
// const a = new Animal()

abstract class Animal{
constructor(name:string){
this.name = name
}
public name:string
public abstract sayHi():void
}
class Dog extends Animal{
constructor(name:string){
super(name)
}
public sayHi(){
console.log('zhang')
}
}

// 为什么叫抽象类?
// 很显然,抽象类是一个广泛和抽象的概念,不是一个实体,就比如上文的例子,动物这个概念是很广泛的,猫、狗、狮子都是动物,但动物却不好是一个实例,实例只能是猫、狗或者狮子。
// 官方一点的说法是,在面向对象的概念中,所有的对象都是通过类来描绘的,但是反过来,并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类。
// 比如 Animal 类只是具有动物都有的一些属性和方法,但不会具体到包含猫或者狗的属性和方法。
// 所以抽象类的用法是用来定义一个基类,声明共有属性和方法,拿去被继承。
// 抽象类的好处是可以抽离出事物的共性,有利于代码的复用。

作者:前端阿林
链接:https://juejin.cn/post/7068081327857205261
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

相关文章

  • js.pattern -h 模板方法模式

    基于复用技术、抽象类-->继承抽象类 创建抽象类 实现抽象类

  • Dart中的抽象类 多态 以及接口

    抽象类 Dart中抽象类: Dart抽象类主要用于定义标准,子类可以继承抽象类,也可以实现抽象类接口。 1、抽象类...

  • Dart 抽象类 多态 和接口

    抽象类 Dart中的抽象类:Dart抽象类主要用于定义标准,子类可以继承抽象类,也可以实现抽象类接口。抽象类通过a...

  • abstract关键字

    抽象类 PHP5 支持抽象类和抽象方法。抽象类不能被实例化,必须先继承该抽象类,然后实例化该抽象类的子类。抽象类中...

  • 抽象类

    什么是抽象类 抽象类的特征 抽象类的意义

  • 25.面向对象(抽象类. 多态)

    面向对象(抽象类. 多态) 一. 抽象类 抽象类不能实例化 继承抽象类的子类必须将抽象类中所有的抽象方法重写 抽象...

  • Dart 抽象类 多态 接口

    1.抽象类 Dart中抽象类: Dart抽象类主要用于定义标准,子类可以继承抽象类,也可以实现抽象类接口。1、抽象...

  • Flutter/Dart - Dart中的抽象类 多态 和接口

    Dart中的抽象类 Dart中的抽象类: Dart抽象类主要用于定义标准,子类可以继承抽象类,也可以实现抽象类接口...

  • Dart中extends和implements

    Dart中抽象类: Dart抽象类主要用于定义标准,子类可以继承抽象类,也可以实现抽象类接口。1、抽象类通过abs...

  • Dart的抽象类和接口

    Dart中抽象类 Dart抽象类主要用于定义标准,子类可以继承抽象类,也可以实现抽象类接口。1、抽象类通过abst...

网友评论

      本文标题:抽象类

      本文链接:https://www.haomeiwen.com/subject/csyhertx.html