TypeScript入门3:接口、多态、TS接口特殊用法
//接口: 通常情况下,接⼝中只会包含属性和⽅法的声明,⽽不包含具体的实现细节,具体的细节由其实现类完成
interface Person9 {
id: number;
name: string;
age: number;
introduce(): void;
}
//实现类中,需要包含接⼝属性的赋值逻辑,以及接⼝⽅法的实现逻辑
class Student9 implements Person9 {
id: number;
name: string;
age: number;
constructor(id: number, name: string, age: number) {
this.id = id;
this.name = name;
this.age = age;
}
introduce(): void {
console.log('Hello,I am a student');
}
}
class Teacher9 implements Person9 {
id: number;
name: string;
age: number;
constructor(id: number, name: string, age: number) {
this.id = id;
this.name = name;
this.age = age;
}
introduce(): void {
console.log('Hello,I am a teacher');
}
}
//多态:可以使同⼀类型的对象具有不同的⾏为
let p_1: Person9 = new Student9(1, 'zhangsan', 17);
let p_2: Person9 = new Teacher9(2, 'lisi', 35);
p_1.introduce(); //Hello,I am a student
p_2.introduce(); //Hello,I am a teacher
// 同样是 Person 类型的两个对象,调⽤同⼀个 introduce() ⽅法时,表现出了不同的⾏为,这就是多态
//TS中的接⼝的特殊性:TS中的接⼝是⼀个⾮常灵活的概念,除了⽤作类的规范之外,也常⽤于直接描述对象的类型
let P_345: {name:string, age:number, gender:string} = {
name:'张三',
age:10,
gender:'男'
};
console.log(P_345);
interface Person88 {
name: string;
age: number;
gender: string;
}
let P_678: Person88 = {
name:'张三',
age:10,
gender:'男'
};
console.log(P_678);
标签:
HarmonyOS
, TypeScript
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!