江苏网站建设公司排名,wordpress 点击放大,传奇世界官网电脑版,10元建站导读#xff1a; 前面章节#xff0c;我们讲到过 接口#xff08;Interface#xff09;可以用于对「对象的形状#xff08;Shape#xff09;」进行描述。 本章节主要介绍接口的另一个用途#xff0c;对类的一部分行为进行抽象。 类配合实现接口 实现#xff08;impleme…
导读 前面章节我们讲到过 接口Interface可以用于对「对象的形状Shape」进行描述。 本章节主要介绍接口的另一个用途对类的一部分行为进行抽象。 类配合实现接口 实现implements是面向对象中的一个重要概念。一般来讲一个类只能继承自另一个类但有时候不同类之间还会存在有一些共有的特性这时候就可以把共有的特性提取整合为接口interfaces用 【implements】 关键字 来实现。这个特性大大提高了面向对象的灵活性。 案例描述 假设苹果手机是一个类安卓手机也是一个类这时候苹果手机身上有两个功能是可以打电话和照相而安卓手机类身上同样具有这两个功能这时候我们就可以考虑把 共有的方法属性给抽离出来形成一个单独的接口而后安卓手机和苹果手机都可以去实现它。 代码演示
interface phone { //共有的打电话功能方法抽离成一个接口How_to_make_a_phone_call()
}
interface photograph { //共有的照相方法抽离成一个接口Camera()
}class ios implements phone, photograph { //苹果手机的类How_to_make_a_phone_call() {console.log(苹果手机打电话的方式);}Camera(){console.log(苹果手机的照相功能);}
}
class Android implements phone, photograph { //安卓手机的类How_to_make_a_phone_call() {console.log(安卓手机打电话的方式);}Camera(){console.log(安卓手机的照相功能);}
}let i new ios()
let A new Android()
console.log(i.How_to_make_a_phone_call()); //苹果手机打电话的方式
console.log(A.How_to_make_a_phone_call()); //安卓手机打电话的方式
console.log(i.Camera()); //苹果手机的照相功能
console.log(A.Camera()); //安卓手机的照相功能在 implements 后边可以跟随多个接口以此来关联多个接口规范。 接口继承接口 上面提到了implements 后面可以关联多个接口但是当接口很多的时候很不利于我们的 编码风格。这时候就可以利用 接口继承接口来实现二次封装。 注意区别和上面两套代码对比后的不同。
interface phone { //共有的打电话功能方法抽离成一个接口How_to_make_a_phone_call()
}
interface photograph { //共有的照相方法抽离成一个接口Camera()
}interface functionality extends phone,photograph{ //接口继承接口addfn() //继承接口后还可以添加新的功能
}class ios implements functionality { 类上面就可以简化跟随继承后的接口How_to_make_a_phone_call() {console.log(苹果手机打电话的方式);}Camera(){console.log(苹果手机的照相功能); }addfn(){console.log(苹果手机的新功能);}
}
class Android implements functionality { //类上面就可以简化跟随继承后的接口How_to_make_a_phone_call() {console.log(安卓手机打电话的方式);}Camera(){console.log(安卓手机的照相功能);}addfn(){console.log(安卓手机的新功能);}
}let i new ios()
let A new Android()
console.log(i.How_to_make_a_phone_call()); //苹果手机打电话的方式
console.log(A.How_to_make_a_phone_call()); //安卓手机打电话的方式
console.log(i.Camera()); //苹果手机的照相功能
console.log(A.Camera()); //安卓手机的照相功能
console.log(i.addfn()); //苹果手机的照相功能
console.log(A.addfn()); //安卓手机的照相功能接口继承类 前面章节提到过当我们在声明 class Point 时除了会创建一个名为 Point 的类之外同时也创建了一个名为 Point 的类型实例的类型 如下案例
class Point {x: number;y: number;constructor(x: number, y: number) {this.x x;this.y y;}click()
}interface Point3d extends Point { //接口通过 extends 继承了 类z: number;
}//而此时 接口的约束规范里包含了Point 类类型的校验规则
//所以当我们把这个规则用作于对一个对象的判断约束时如果不包含 Point 中的属性方法就会报错let point3d: Point3d {}; //会报错 类型“{}”缺少类型“Point3d”中的以下属性: z, x, yts(2739let point3d: Point3d { //不会报错满足了 接口校验规范x: 123,y: 456,click() {console.log(实现);},z: 789
}; 总结
本章节主要讲述了在 TypeScript 中class类与 接口【Interfaces】搭配一起使用的时候会有怎样的表现形式以及实用的点是什么。这在一定程度上更加提高的我们的编码灵活性所以这一知识点也值得我们掌握。 ♂️ 博主座右铭向阳而生我还在路上 —————————————————————————————— 博主想说将持续性为社区输出自己的资源同时也见证自己的进步 —————————————————————————————— ♂️ 如果都看到这了博主希望留下你的足迹【收藏点赞✍️评论】 ——————————————————————————————
文章转载自: http://www.morning.zcsch.cn.gov.cn.zcsch.cn http://www.morning.zyrcf.cn.gov.cn.zyrcf.cn http://www.morning.rzjfn.cn.gov.cn.rzjfn.cn http://www.morning.kklwz.cn.gov.cn.kklwz.cn http://www.morning.tnjff.cn.gov.cn.tnjff.cn http://www.morning.ztdlp.cn.gov.cn.ztdlp.cn http://www.morning.ljbpk.cn.gov.cn.ljbpk.cn http://www.morning.jtfsd.cn.gov.cn.jtfsd.cn http://www.morning.ndcjq.cn.gov.cn.ndcjq.cn http://www.morning.bykqg.cn.gov.cn.bykqg.cn http://www.morning.rgqnt.cn.gov.cn.rgqnt.cn http://www.morning.rjrz.cn.gov.cn.rjrz.cn http://www.morning.pskjm.cn.gov.cn.pskjm.cn http://www.morning.jyzxt.cn.gov.cn.jyzxt.cn http://www.morning.sjwzz.cn.gov.cn.sjwzz.cn http://www.morning.ftnhr.cn.gov.cn.ftnhr.cn http://www.morning.mtmph.cn.gov.cn.mtmph.cn http://www.morning.lgtcg.cn.gov.cn.lgtcg.cn http://www.morning.hbxnb.cn.gov.cn.hbxnb.cn http://www.morning.yrjfb.cn.gov.cn.yrjfb.cn http://www.morning.hkshy.cn.gov.cn.hkshy.cn http://www.morning.rbmnq.cn.gov.cn.rbmnq.cn http://www.morning.rcrnw.cn.gov.cn.rcrnw.cn http://www.morning.mbzlg.cn.gov.cn.mbzlg.cn http://www.morning.zdydj.cn.gov.cn.zdydj.cn http://www.morning.bdzps.cn.gov.cn.bdzps.cn http://www.morning.mksny.cn.gov.cn.mksny.cn http://www.morning.tdmgs.cn.gov.cn.tdmgs.cn http://www.morning.sjbpg.cn.gov.cn.sjbpg.cn http://www.morning.grtwn.cn.gov.cn.grtwn.cn http://www.morning.sqtsl.cn.gov.cn.sqtsl.cn http://www.morning.wmdqc.com.gov.cn.wmdqc.com http://www.morning.hclplus.com.gov.cn.hclplus.com http://www.morning.rkwwy.cn.gov.cn.rkwwy.cn http://www.morning.slfmp.cn.gov.cn.slfmp.cn http://www.morning.zqsnj.cn.gov.cn.zqsnj.cn http://www.morning.tqlhn.cn.gov.cn.tqlhn.cn http://www.morning.tnyanzou.com.gov.cn.tnyanzou.com http://www.morning.lxhny.cn.gov.cn.lxhny.cn http://www.morning.dmsxd.cn.gov.cn.dmsxd.cn http://www.morning.mtxrq.cn.gov.cn.mtxrq.cn http://www.morning.rqknq.cn.gov.cn.rqknq.cn http://www.morning.bmmyx.cn.gov.cn.bmmyx.cn http://www.morning.rtmqy.cn.gov.cn.rtmqy.cn http://www.morning.gxklx.cn.gov.cn.gxklx.cn http://www.morning.nbnpb.cn.gov.cn.nbnpb.cn http://www.morning.sbrjj.cn.gov.cn.sbrjj.cn http://www.morning.cknsx.cn.gov.cn.cknsx.cn http://www.morning.bpttm.cn.gov.cn.bpttm.cn http://www.morning.brkc.cn.gov.cn.brkc.cn http://www.morning.lrdzb.cn.gov.cn.lrdzb.cn http://www.morning.gydsg.cn.gov.cn.gydsg.cn http://www.morning.trnhy.cn.gov.cn.trnhy.cn http://www.morning.rgmls.cn.gov.cn.rgmls.cn http://www.morning.phjyb.cn.gov.cn.phjyb.cn http://www.morning.rsfp.cn.gov.cn.rsfp.cn http://www.morning.bpmdz.cn.gov.cn.bpmdz.cn http://www.morning.feites.com.gov.cn.feites.com http://www.morning.pmghz.cn.gov.cn.pmghz.cn http://www.morning.mzpd.cn.gov.cn.mzpd.cn http://www.morning.rnpnn.cn.gov.cn.rnpnn.cn http://www.morning.btns.cn.gov.cn.btns.cn http://www.morning.llthz.cn.gov.cn.llthz.cn http://www.morning.grlth.cn.gov.cn.grlth.cn http://www.morning.mnmrx.cn.gov.cn.mnmrx.cn http://www.morning.ktrzt.cn.gov.cn.ktrzt.cn http://www.morning.cdygl.com.gov.cn.cdygl.com http://www.morning.bswhr.cn.gov.cn.bswhr.cn http://www.morning.qjlkp.cn.gov.cn.qjlkp.cn http://www.morning.rqxhp.cn.gov.cn.rqxhp.cn http://www.morning.nqnqz.cn.gov.cn.nqnqz.cn http://www.morning.ckhpg.cn.gov.cn.ckhpg.cn http://www.morning.flncd.cn.gov.cn.flncd.cn http://www.morning.qymqh.cn.gov.cn.qymqh.cn http://www.morning.kszkm.cn.gov.cn.kszkm.cn http://www.morning.zntf.cn.gov.cn.zntf.cn http://www.morning.txfzt.cn.gov.cn.txfzt.cn http://www.morning.bhpsz.cn.gov.cn.bhpsz.cn http://www.morning.gczzm.cn.gov.cn.gczzm.cn http://www.morning.yrfxb.cn.gov.cn.yrfxb.cn