当前位置: 首页 > news >正文

专注集团网站建设辽宁同鑫建设有限公司网站

专注集团网站建设,辽宁同鑫建设有限公司网站,保定建站价格,合肥网站建设排名在早期的JavaScript开发中#xff08;ES5#xff09;我们需要通过函数和原型链来实现类和继承#xff0c;从ES6开始#xff0c;引入了class关键字#xff0c;可以更加方便的定义和使用类。TypeScript作为JavaScript的超集#xff0c;也是支持使用class关键字的#xff0…在早期的JavaScript开发中ES5我们需要通过函数和原型链来实现类和继承从ES6开始引入了class关键字可以更加方便的定义和使用类。TypeScript作为JavaScript的超集也是支持使用class关键字的并且还可以对类的属性和方法等进行静态类型检测。类的定义我们来定义一个Person类class Person {// 定义类的属性name: stringage: number// 构造函数constructor(name: string, age: number) {this.name namethis.age age}// 定义类的方法running() {console.log(${this.name} is running);} } // 实例化 let cloud: Person new Person(cloud, 18) cloud.running()我们可以声明类的属性在类的内部声明类的属性以及对应的类型,如果类型没有声明那么它们默认是any的我们也可以给属性设置初始化值在默认的strictPropertyInitialization模式下面我们的属性是必须初始化的如果没有初始化那么编译时就会报错类可以有自己的构造函数constructor当我们通过new关键字创建一个实例时构造函数会被调用构造函数不需要返回任何值默认返回当前创建出来的实例类中可以有自己的函数定义的函数称之为方法类的继承面向对象的其中一大特性就是继承继承不仅仅可以减少我们的代码量也是多态的使用前提。我们使用extends关键字来实现继承子类中使用super来访问父类。我们来看一下Student类继承自Personclass Student extends Person {sno: numberconstructor(name: string, age: number, sno: number) {super(name, age);this.sno sno}studying() {console.log(${this.name} is studying);} }let tifa: Student new Student(tifa, 18, 123) tifa.studying()类的成员修饰符在TypeScript中类的属性和方法支持三种修饰符 public、private、protected,public 修饰的是在任何地方可见、公有的属性或方法默认编写的属性就是public的private 修饰的是仅在同一类中可见、私有的属性或方法protected 修饰的是仅在类自身及子类中可见、受保护的属性或方法抽象类abstract我们知道继承是多态使用的前提。所以在定义很多通用的调用接口时, 我们通常会让调用者传入父类通过多态来实现更加灵活的调用方式。但是父类本身可能并不需要对某些方法进行具体的实现所以父类中定义的方法,我们可以定义为抽象方法。什么是 抽象方法? 在TypeScript中没有具体实现的方法(没有方法体)就是抽象方法。抽象方法必须存在于抽象类中抽象类是使用abstract声明的类抽象类有如下的特点抽象类是不能被实例化也就是不能通过new创建,抽象方法必须被子类实现否则该类必须是一个抽象类// 定义抽象类和抽象方法 abstract class Shape {abstract getArea(): number }// 子类需要实现抽象方法 class Circle extends Shape {private r: numberconstructor(r: number) {super();this.r r}getArea(): number {return this.r * this.r * Math.PI;} }接口继承与实现接口和类一样是可以进行继承的也是使用extends关键字并且我们会发现接口是支持多继承的类不支持多继承接口定义后也是可以被类实现的(使用implements)如果被一个类实现那么在之后需要传入接口的地方都可以将这个类传入这就是面向接口开发interface Animal {running: () void }// 接口可以继承其他接口多个用逗号分隔 interface Person extends Animal {eating: () void }// 类可实现多个接口多个用逗号分隔 class Student implements Person {eating(): void {console.log(student is eating)}running(): void {console.log(student is running)} }枚举类型枚举类型是为数不多的TypeScript特性有的特性之一枚举其实就是将一组可能出现的值一个个列举出来定义在一个类型中这个类型就是枚举类型enum Direction {LEFT,RIGHT,TOP,BOTTOM }function turnDirection(direction: Direction) {switch (direction) {case Direction.LEFT:console.log(向左转)break;case Direction.RIGHT:console.log(向右转)break;} }
http://www.yayakq.cn/news/2799/

相关文章:

  • 成都市建设部官方网站wordpress免费有趣插件
  • 金融投资公司网站建设论文wordpress个性首页
  • 网站开发公司企业购物网站模板带后台
  • 屏蔽阿里云网站吗响应式网站建设开发公司
  • 大连网站模板建站wordpress拖拽式
  • 各类网站导航网页页面建设方案
  • 网站建设难学吗金融公司网站建设模板
  • 网站如何做导航条下拉菜单网站策划与建设
  • 465端口 WordPress关键词排名优化方法
  • 怎么查询网站的服务器在哪里一级域名与二级域名玩法
  • 台州做网站seo万能浏览器手机版下载
  • 设计网站怎么设计网络用户管理系统注册
  • php网站开发面试题广东省网站集约化建设通知
  • 程序员代做网站违法茂名网站设计
  • yy头像在线制作网站软件注册推广平台
  • 禹州市城乡建设局网站wordpress栏目标题
  • 桥头镇网站建设公司seo推广公司价格
  • 公司网站一定要域名吗宁波市节约型机关建设考试网站
  • 简述创建网站的步骤象山专业网站建设
  • 网站开发类型免费有趣的网站
  • 0基础建站教程网站标签设计
  • 网站开发 招标采购参数微信公众号运营团队
  • 网站seo课程铁岭网站开发公司
  • 个人备案可以做哪些网站app开发平台
  • 中国seo网站wordpress大菜单
  • 12306网站是是阿里巴巴做的吗app网站公司名称
  • 横沥镇做网站中国500强最新排名
  • 深圳做网站优化报价新郑做网站公司
  • 有做a50期货的网站站长工具国产2022
  • 怎么样评价网站做的好坏网站开发合同.doc