typescript-接口的基本使用(一)

什么是接口

接口是一种"规范" 。看清了啊,这里和java、php中的接口是有点区别 的啊。这里是"规范"。表示某一些参数需要符合某一种"规范"。

接口的声明:

Interface 接口名称 {

属性名:属性类型

}

场景:

记不记得我们以前考试的时候,都有一个"准考证号"。没有准考证号的人是不能进入考场的,监考老师在我们入场的时候,需要检查我们的准考证号,没有准考证号的人是不能进入考场的。

TypeScript 复制代码
// 考生的接口,考生必须有stuId的属性
interface IStu {
    stuId: string;
}
class Teacher {
    public checkStuId(stu: IStu): void {
        console.log("我的准考证是:", stu.stuId);
    }
}
class BoyStu {
    public name: string = "男生";
    public stuId: string = "123"; // 准考证号
}
class GirlStu {
    public name: string = "女生";
    public stuId: string = "456"; // 准考证号
}
class Other {
    public name: string = "其他人";
}

let boy: BoyStu = new BoyStu();
let girl: GirlStu = new GirlStu();
let other: Other = new Other();

let teacher: Teacher = new Teacher();

teacher.checkStuId(boy);
teacher.checkStuId(girl);
// teacher.checkStuId(other);

查看以上,可以看到other不能传递到"老师"的checkStuId的参数里,因为这个other没有stuId的属性。而boy和girl都有stuId属性,所以,他们可以传递到"老师"的checkStuId的方法中。

相关推荐
警醒与鞭策6 小时前
【无标题】
android·unity·性能优化·游戏引擎·perforce
传奇开心果编程8 小时前
【Jetpack Compose进阶学与练】第14课:系列收尾复习总结;Compose项目常见坑点汇总;学习路线与后续学习方向
android·学习·ui·kotlin·android jetpack
李游Leo10 小时前
《HarmonyOS 7 精准碰一碰跨设备协作开发实战》07:异常恢复、状态机与CrossDrop工程收尾【鸿蒙心迹】
android·harmonyos
Mr_Mao12 小时前
告别选型困难!集 VueUse、ahooks、Mantine 于一身:286 个 Hook 的 ReaUse 来了
前端·javascript·react.js
默_笙13 小时前
🚙 一条腿走路会摔:ES 关键词检索、混合召回与 ReRank 裁判
前端·javascript
方白羽13 小时前
Android APK安全防护
android·安全·apk
小黄人软件13 小时前
AndroidStudio老项目 macOS运行BlueTooth蓝牙串口助手(Android+Studio源码).rar
android·macos
00后程序员张13 小时前
苹果App Store上架指南:费用、原理与步骤详解
android·ios·小程序·https·uni-app·iphone·webview
天神哥哥啊13 小时前
cocos联调注意事项-安卓
android
dsyyyyy110114 小时前
Vue 3 Watch 监视完全指南
前端·javascript·vue.js