TypeScript-抽象类
抽象类概述
- 抽象类是专门用于定义那些不希望被外界直接创建的类的
- 抽象类一般用于定义基类
- 抽象类和接口一样用于约束子类
- 首先来看看没有抽象类的实现写法,在 TypeScript-类方法修饰符 章节当中我已经编写过了,这里就不在编写了,就直接开始看抽象类即可
错误示例:
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();
抽象类和接口的区别
- 接口中只能定义约束, 不能定义具体实现
- 而抽象类中既可以定义约束, 又可以定义具体实现
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();
标签:
TypeScript
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具