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的方法中。

相关推荐
恋猫de小郭9 小时前
2026,Android Compose 终于支持 Hot Reload 了,但是收费
android·前端·flutter
还是大剑师兰特15 小时前
Vue3 中的 defineExpose 完全指南
前端·javascript·vue.js
泯泷15 小时前
阶段一:从 0 看懂 JSVMP 架构,先在脑子里搭出一台最小 JSVM
前端·javascript·架构
华洛16 小时前
利好打工人,openclaw不是企业提效工具,而是个人助理
前端·javascript·产品经理
xkxnq16 小时前
第六阶段:Vue生态高级整合与优化(第93天)Element Plus进阶:自定义主题(变量覆盖)+ 全局配置与组件按需加载优化
前端·javascript·vue.js
A黄俊辉A17 小时前
vue css中 :global的使用
前端·javascript·vue.js
灵感__idea18 小时前
Hello 算法:复杂问题的应对策略
前端·javascript·算法
chushiyunen18 小时前
python中的内置属性 todo
开发语言·javascript·python
soso196819 小时前
JavaScript性能调优实战案例
javascript
Moment20 小时前
前端工程化 + AI 赋能,从需求到运维一条龙怎么搭 ❓❓❓
前端·javascript·面试