游戏电视苹果数码历史美丽
投稿投诉
美丽时装
彩妆资讯
历史明星
乐活安卓
数码常识
驾车健康
苹果问答
网络发型
电视车载
室内电影
游戏科学
音乐整形

TypeScript,面向对象,类构造函数继承抽象类接口和封

  面向对象
  面向对象,ObjectOriented,软件开发方法,一种编程范式。
  面向对象的概念和应用已超越了程序设计和软件开发,扩展到如数据库系统、交互式界面、应用结构、应用平台、分布式系统、网络管理结构、CAD技术、人工智能等领域。面向对象是一种对现实世界理解和抽象的方法,是计算机编程技术发展到一定阶段后的产物。
  面向对象的三大特性:封装、继承、多态。
  TypeScript面向对象,类(class)
  1、static关键字,表示一个静态属性,通过类访问。
  2、readonly关键字,表示一个只读属性,不能修改属性,构造函数可初始化。
  构造函数和this关键字
  1、constructor函数,称为构造函数,对象创建时调用。
  2、在实例方法中,this就表示当前当前的实例。
  继承(extends)和super关键字
  1、子类写了constructor构造函数必须使用super继承父类constructor构造函数的属性
  2、通过继承可以将多个类中共有的代码写在一个父类中,继承后子类将会拥有父类所有的方法和属性。
  3、方法重写,子类中添加了和父类相同的方法,子类方法会覆盖掉父类的方法
  抽象(abstract)
  1、以abstract开头的类是抽象类,抽象类不能实例化,事专门用来被继承的类。
  2、抽象类中可以添加抽象方法,非抽象类中不可以有抽象方法。
  3、抽象方法使用abstract开头,没有方法体,只能定义在抽象类中,子类必须对抽象方法进行重写。
  接口(interface)
  1、接口的作用类似于抽象类,不同点在于接口中的所有函数和属性都是没有实值的,接口中的所有方法都是抽象方法。
  2、接口主要负责定义一个类的结构,限制一个对象的接口,对象只有包含接口中定义的所有属性和方法时才能匹配接口。
  3、一个类去实现接口,实现接口时类中要包括接口中的所有属性。
  封装和属性的封装
  1、private修饰符,私有的属性,私有属性只能在类内部进行访问修改。
  2、protected修饰符,受保护的属性,只能在当前类和当前类的子类中访问。
  3、public修饰符,共有的属性,修饰的属性可以再任意位置访问修改默认值。
  4、getter方法用来读取属性。
  5、setter方法迎来设置属性。
  6、getter和setter被统一称为属性的存储器,定义时在方法之前添加get和set,调用的时候直接通过点语法调用。代码案例
  案例1:classMyUser{staticdesc:string用户类;使用static开头的属性是静态属性(类属性),可以直接通过类去访问readonlyid:number1000004;readonly开头的属性表示一个只读的属性无法修改name:string张三;age:number28;toString(){returnidthis。id,namethis。name,agethis。age;}}letmyUsernewMyUser();console。log(myUser,myUser);myUserMyUser{id:1000004,name:张三,age:28}console。log(myUser。desc,MyUser。desc);myUser。desc用户类
  案例2:classMyUser2{readonlyid:number;name:string;age:number;构造函数和thisparamidparamnameparamageconstructor(id:number,name:string,age:number){this。idid;this。namename;this。ageage;}toString(){returnidthis。id,namethis。name,agethis。age;}}letmyUser2newMyUser2(1000001,孔子,2000);console。log(myUser2,myUser2);myUser2MyUser2{id:1000001,name:孔子,age:2000}
  案例3:(function(){以abstract开头的类是抽象类,抽象类和其他类区别不大,不能用来创建对象抽象类就是专门用来被继承的类抽象类中可以添加抽象方法abstractclassMyUser3{readonlyid:number;name:string;age:number;构造函数和thisparamidparamnameparamageconstructor(id:number,name:string,age:number){this。idid;this。namename;this。ageage;}toString(){returnidthis。id,namethis。name,agethis。age;}抽象方法使用abstract开头,没有方法体抽象方法只能定义在抽象类中,子类必须对抽象方法进行重写abstractwork():void;}classMyEmployeeextendsMyUser3{构造函数paramidparamnameparamageconstructor(id:number,name:string,age:number){super(id,name,age);}work(){console。log(雇员,idthis。id,namethis。name在工作);}}classMyManagerextendsMyUser3{work(){console。log(经理,idthis。id,namethis。name在工作);}}letmyEmployeenewMyEmployee(1,沙僧,501);myEmployeeMyEmployee{id:1,name:沙僧,age:501}console。log(myEmployee,myEmployee);myEmployee。work();雇员,id1,name沙僧在工作letmyManagernewMyManager(1,唐僧,500);myManagerMyManager{id:1,name:唐僧,age:500}console。log(myManager,myManager);myManager。work();经理,id1,name唐僧在工作})();
  案例4:interfaceMyWorker{work():void;}classMyUser4implementsMyWorker{readonlyid:number1000004;readonly开头的属性表示一个只读的属性无法修改name:string张三;age:number28;toString(){returnidthis。id,namethis。name,agethis。age;}work(){console。log(用户,idthis。id,namethis。name在工作);}}letmyUser4newMyUser4();myUser4MyUser4{id:1000004,name:张三,age:28}console。log(myUser4,myUser4);myUser4。work();用户,id1000004,name张三在工作
  案例5:(function(){定义一个表示人的类classPerson{TS可以在属性前添加属性的修饰符public,修饰的属性可以在任意位置访问(修改)默认值private,私有属性,私有属性只能在类内部进行访问(修改)通过在类中添加方法使得私有属性可以被外部访问protected受包含的属性,只能在当前类和当前类的子类中访问(修改)privatename:string;privateage:number;构造函数paramnameparamageconstructor(name:string,age:number){this。namename;this。ageage;}getter方法用来读取属性setter方法用来设置属性它们被称为属性的存取器TS中设置getter方法的方式getname(){console。log(getname()执行了!!);returnthis。name;}setname(value){this。namevalue;}getage(){returnthis。age;}setage(value){if(value0){this。agevalue}}}constpersonnewPerson(孙悟空,18);现在属性是在对象中设置的,属性可以任意的被修改,属性可以任意被修改将会导致对象中的数据变得非常不安全person。setName(猪八戒);person。setAge(33);person。name猪八戒;person。age33;console。log(person);classA{protected是保护的属性,只能在当前类和子类中设置protected只能在当前类和当前类的子类中设置protectednum:number;constructor(num:number){this。numnum;}}classBextendsA{test(){console。log(this。num);}}constbnewB(123456789);b。num33;属性num受保护,只能在类A及其子类中访问。classC1{name:string;age:number可以直接将属性定义在构造函数中constructor(name:string,age:number){this。namename;this。ageage;}}constc1newC1(沙僧,111222333);console。log(c1);C1{name:沙僧,age:111222333}classC2{直接将属性定义在构造函数中constructor(publicname:string,publicage:number){}}constc2newC2(沙僧,111222333);console。log(c2);C2{name:沙僧,age:111222333}})();

AMD锐龙处理器性能超intel为什么大家还是选英特尔CPU我前两年是一名业余的装机爱好者,经过这两年的经历,我是有点明白为什么很多人还是选择英特尔的。原来自己特别喜欢动手,然后通过买二手的E31230V2搭配B75主板,然后自己……赚钱软件,是欺骗还是虚假宣传?随着互联网的飞速崛起,手机成为了人们的主体,电视电脑都很少看,它们拥有的的功能都在手机上,可以解决。曾经在电视上插播的广告,现在出现到了手机上,这样打开手机,不管在什么地……一出手便斩获第一?五小时续航测试,iPhone13ProMa近日,小白测评发布了一份新版的五小时重度续航测试榜单。其中,iPhone13ProMax在经过一系列测试后,剩余电量还有35,不仅轻松拿下了榜单第一,而且比第二名的剩余电量足足……重拾青春回忆OPPOReno6Pro名侦探柯南限定版开售联名,似乎已经不再是一件什么新鲜事。但这次OPPO与名侦探柯南的联名,却让我大呼一声爷青回!首先映入眼帘的便是硕大的毛利侦探事务所,作为剧中最为标志性的建筑物此次成为了这……2亿像素144Hz刷新率,8256G卖4299,骁龙888旗目前手机市场上除了一些有名气的手机品牌外,还有一些我们不怎么熟悉的手机也步入我们的生活中。越来越多的消费者开始使用手机作为日常必备的摄影工具,出色的摄影技术也成为众多消费者选购……数字经济之光,愈发明亮数读浙江丨数字经济之光,愈发明亮2021年的乌镇时间,如约开启。自2014年深秋起,全球互联网精英每年聚首乌镇,轻叩石板路,畅聊互联网,共襄一场世界互联网的盛会。从……诺基亚N82022款渲染图曝光再现昔日经典,蔡司四摄堪比小单导读:诺基亚N82022款渲染图曝光:再现昔日经典,蔡司四摄堪比小单反相信大家很久都没有看到诺基亚的消息了,曾经的诺基亚还是王者,现在已经跌到了青铜,每年依然在更新迭代的……竞争力十足,三款高颜值高性价比的旗舰手机红米K40在外观设计方面,功能K40采用了挖孔全面屏的设计,挖孔设计在屏幕顶部的中间区域,再加上极窄的黑边处理,因此整个手机正面视觉颜值相当的给力,屏占比也有十分突出的表……如何实现两台电视机共享一个机顶盒?很多时候家庭宽带只安装一个机顶盒连接一个电视,如果家中两台电视那么需要增加一个机顶盒,并绑定相应的账号,交月租才能使用。题主在问题中询问如何实现两台电视共享一个机顶盒。根据机顶……录音笔功能具备哪些呢?录音笔日常保养要怎么做?那么录音笔功能具备哪些呢?功能1、可以声控设计和自动录音;功能2、可以支持MP3播放;功能3、可以调频;。。。能10、可以拍摄。如果录音机的功能只是录音,MP3或者MP4……我们对国产电动车要有自信相比传统的烧油的汽车,国产电动车确实更有可能实现弯道超车。就好比以前的手机,关键技术都被诺基亚、摩托罗拉这些国外大牌掌控。但是,到了智能手机时代,华为、OV、小米这……有实用的软件推荐吗?一些好的软件可以很好的帮助我们提升工作效率,节约时间。今天给大家推荐八款Windows软件,每一个都是精品。一、uTools一个可以帮你提高生产率的工具uTools……
解锁健康如厕新姿势,高品质恒洁Q9智能马桶带你揭晓答案在消费的驱动下,人们愈发追求高品质生活以及智能享受,可追求智能便捷的同时,最不能忽视的就是健康安全问题,恒洁Q9智能马桶不仅有颜值、有实力,在抑菌除菌方面也有着非同寻常的特点,……iPhone13发布在即,日暮金配色现身,颜值新高度,果粉喜苹果一直都是手机行业内消费者关注力度比较大的厂商之一,尽管这些年来新款iPhone并没有带来太多开创性的工艺,或者说体验指标,但综合多项产品水准来看,iPhone依旧是行业内体……极兔传融资2。5亿美元转战海外市场,国内价格战打不动了?记者白帆编辑今年以来,有关极兔速递融资的消息屡屡传出,引发诸多猜想。近日,《晚点LatePost》再次爆料,称极兔速递在春节前后开启了新一轮融资,计划融资额度为2。……2022年魅族19不会缺席,信息被曝光,全新一代技术2022年,魅族太难了!不仅要面对吉利的收购施压,还要面对对芯片调教的压力。数码博主智慧皮卡丘称,魅族好像是最后一个用上安卓12。〔泪奔〕〔泪奔〕之前爆料说魅族要出搭载天……C函数重载在C中函数重载是指同一作用域内,可以有一组具有相同函数名,不同参数列表的函数,这组函数被称为重载函数。重载函数通常用来命名一组功能相似的函数,这样做减少了函数名的数量,提高了程……为什么感觉都是技术合伙人被踢出局?我可以给你解释一下逻辑,首先你拿技术合伙,也就是说你享有股份,你的股份是拿技术换的,没钱没发展起来那会还行,如果一旦发展起来了,那么拿很少的钱就可以请一群技术骨干,他们和你技术……造球鞋的也造车了,青岛双鞋造首台无人驾驶智能矿山车下线近日,位于中德生态园的中工际华重工(青岛)有限公司厂区内,载重150吨无人驾驶智能矿山车下线,这是青岛自主研发设计生产的首台无人驾驶智能矿山车。据悉,绿色智能矿山装备项目……孝道科技完成数千万元的首轮融资36氪获悉,安全玻璃盒孝道科技近日宣布完成数千万元的首轮融资。本轮融资由国内安全上市公司安恒信息主投。本轮融资后,公司将把资金将用于DevSecOps、软件供应链安全及云原生应……经典手机索尼爱立信P990i前言索尼爱立信P系列只有一个词形容机皇。没有人不承认这个系列高高在上的地位索尼爱立信也一直努力维护商务旗舰形象P800到P908P910……近60家公司发布联合声明,将严打短视频,目的只是版权保护吗?除了版权保护,还有利益肯定不是啊!第一:别人花费大量的成本制作的电影或者是花费重金买的版权,却被那些啥也没付出的人拿去谋私利,这利益关系就说不通吧!第二:他们……Nginx转发TCP请求实现过程:1。安装nginx,stream模块默认不安装的,需要手动添加参数:withstream2。nginx。conf配置,参考说明:ngxstreamcore……Java定义的数据类型Java定义的数据类型一、变量按照数据类型来分:基本数据类型:整形:byteshortintlong浮点型:floatdouble字符型:char……
友情链接:易事利快生活快传网聚热点七猫云快好知快百科中准网快好找文好找中准网快软网