TS中interface接口的简单用法
// interface的使用interface Gril { //定义Gril的类型name: string;age: number;bust: number;hobby?: string}//hobby?: string 表示的是 这个这个值 可以有也可以没有const gril1 = {name: '李焕英',age: 15,bust: 90}const gril2 = {name: '刘悦
·
// interface的使用
interface Gril { //定义Gril的类型
name: string;
age: number;
bust: number;
hobby?: string;
[propname:string]:any;
say():string
}
// [propname:string]表示的是这个属性的类型是字符串,any 表示这个属性的值为任意的数据类型
// hobby?: string 表示的是 这个这个值 可以有也可以没有
// say():string 表示的是这是个say方法,返回值是一个字符串
/* extends
顾名思义,继承,一个新的接口或者类,从父类或者接口继承所有的属性和方法,不可以重写属性,但可以重写方法 */
interface DaJieJie2 extends Gril{//此处表示DaJieJie2继承了Gril,并且多添加了一个teach的方法
teach():string
}
/* implements
顾名思义,实现,一个新的类,从父类或者接口实现所有的属性和方法,同时可以重写属性和方法,包含一些新的功能 */
class DaJieJie1 implements Gril{ // 定义一个类,通过接口interface进行限制
name='刘英'
age=18
bust=78
say(){
return '欢迎光临红浪漫洗浴'
}
}
const gril1 = {
name: '李焕英',
age: 15,
bust: 90,
sex:'女',
say(){
return '欢迎光临'
},
teach(){
return '你好'
}
}
const gril2 = {
name: '李英',
age: 20,
bust: 50,
sex:'女',
say(){
return '欢迎光临红浪漫西域'
},
}
const chosted = (gril: DaJieJie2) => { //(gril:DaJieJie2)表示gril要满足DaJieJie2的数据类型
gril.age < 20 && gril.bust > 80 && console.log(gril.name + '被选中')
gril.age > 20 || gril.bust < 80 && console.log(gril.name + '没有被选中')
}
chosted(gril1) //调用函数
const chosedGril = (gril: Gril) => {
console.log(gril.name + '年龄是' + gril.age);
console.log(gril.name + '爱好是' + gril.hobby);
gril.sex&&console.log(gril.name+'的性别是'+gril.sex)
}
chosedGril(gril1) //调用函数
chosedGril(gril2) //调用函数

更多推荐



所有评论(0)