TypeScript-抽象类

抽象类概述

  • 抽象类是专门用于定义那些不希望被外界直接创建的类的
  • 抽象类一般用于定义基类
  • 抽象类和接口一样用于约束子类
  • 首先来看看没有抽象类的实现写法,在 TypeScript-类方法修饰符 章节当中我已经编写过了,这里就不在编写了,就直接开始看抽象类即可

错误示例:

image-20211128225454524

abstract class Person {
    abstract name: string;

    abstract say(): void;
}

class Student extends Person {
    name: string = 'BNTang';

    say(): void {
        console.log(`我的名字是${this.name}`);
    }
}

let p = new Person();

正确示例:

abstract class Person {
    abstract name: string;

    abstract say(): void;
}

class Student extends Person {
    name: string = 'BNTang';

    say(): void {
        console.log(`我的名字是${this.name}`);
    }
}

let stu = new Student();
stu.say();

抽象类和接口的区别

  • 接口中只能定义约束, 不能定义具体实现
  • 而抽象类中既可以定义约束, 又可以定义具体实现

image-20211128225324912

abstract class Person {
    abstract name: string;

    abstract say(): void;

    eat(): void {
        console.log(`${this.name}正在吃东西`);
    }
}

class Student extends Person {
    name: string = 'BNTang';

    say(): void {
        console.log(`我的名字是${this.name}`);
    }
}

let stu = new Student();
stu.say();
stu.eat();

end02

posted @   BNTang  阅读(216)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具
点击右上角即可分享
微信分享提示