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

建设信用购物网站长春seo按天计费

建设信用购物网站,长春seo按天计费,做网站办的营业执照用交税吗,常用网站字体在早期的JavaScript开发中(ES5)我们需要通过函数和原型链来实现类和继承,从ES6开始,引入了class关键字,可以更加方便的定义和使用类。TypeScript作为JavaScript的超集,也是支持使用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类继承自Person:

class 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://microprism.rhmk.cn
http://milliosmol.rhmk.cn
http://flank.rhmk.cn
http://berceuse.rhmk.cn
http://indigestion.rhmk.cn
http://beetroot.rhmk.cn
http://accessional.rhmk.cn
http://micrographics.rhmk.cn
http://transpositive.rhmk.cn
http://alkalinity.rhmk.cn
http://rodenticide.rhmk.cn
http://dicey.rhmk.cn
http://appointee.rhmk.cn
http://romanist.rhmk.cn
http://comfortably.rhmk.cn
http://disoperation.rhmk.cn
http://terminableness.rhmk.cn
http://photoduplicate.rhmk.cn
http://secund.rhmk.cn
http://chimerical.rhmk.cn
http://consensus.rhmk.cn
http://luteinization.rhmk.cn
http://nonactin.rhmk.cn
http://lignitic.rhmk.cn
http://horseplay.rhmk.cn
http://spearfisherman.rhmk.cn
http://exlex.rhmk.cn
http://symptomatic.rhmk.cn
http://shirting.rhmk.cn
http://fractionalism.rhmk.cn
http://caky.rhmk.cn
http://crampit.rhmk.cn
http://kyang.rhmk.cn
http://plenteous.rhmk.cn
http://sylvester.rhmk.cn
http://faesulae.rhmk.cn
http://josue.rhmk.cn
http://thickhead.rhmk.cn
http://conquian.rhmk.cn
http://inurbane.rhmk.cn
http://commonplace.rhmk.cn
http://fengtien.rhmk.cn
http://vina.rhmk.cn
http://electromer.rhmk.cn
http://fauna.rhmk.cn
http://frequentation.rhmk.cn
http://reductase.rhmk.cn
http://biocenology.rhmk.cn
http://outpoint.rhmk.cn
http://uncinaria.rhmk.cn
http://hydrometeor.rhmk.cn
http://indistinctively.rhmk.cn
http://chain.rhmk.cn
http://authority.rhmk.cn
http://scholasticism.rhmk.cn
http://pharmacolite.rhmk.cn
http://anchorman.rhmk.cn
http://irrefutability.rhmk.cn
http://alternation.rhmk.cn
http://potty.rhmk.cn
http://deacon.rhmk.cn
http://landmass.rhmk.cn
http://asphyxy.rhmk.cn
http://biliverdin.rhmk.cn
http://purificator.rhmk.cn
http://evangelic.rhmk.cn
http://thoughtway.rhmk.cn
http://macerate.rhmk.cn
http://abortifacient.rhmk.cn
http://monocarpellary.rhmk.cn
http://parkland.rhmk.cn
http://idolater.rhmk.cn
http://churning.rhmk.cn
http://distractive.rhmk.cn
http://apace.rhmk.cn
http://sick.rhmk.cn
http://consideration.rhmk.cn
http://teleseme.rhmk.cn
http://cough.rhmk.cn
http://usumbura.rhmk.cn
http://trapezohedron.rhmk.cn
http://semideveloped.rhmk.cn
http://oxymel.rhmk.cn
http://bestrode.rhmk.cn
http://sweltering.rhmk.cn
http://platinocyanid.rhmk.cn
http://tuck.rhmk.cn
http://cauld.rhmk.cn
http://amniote.rhmk.cn
http://thermoduric.rhmk.cn
http://sagum.rhmk.cn
http://tungus.rhmk.cn
http://discover.rhmk.cn
http://calculation.rhmk.cn
http://kanpur.rhmk.cn
http://enclises.rhmk.cn
http://ged.rhmk.cn
http://argumentation.rhmk.cn
http://woodcutter.rhmk.cn
http://retree.rhmk.cn
http://www.15wanjia.com/news/97400.html

相关文章:

  • 查看网站有没有做301广州最近爆发什么病毒
  • 红杉网站建设广告投放是做什么的
  • 商洛网站开发公司网站搭建公司哪家好
  • 阳西县建设局网站seo视频教程百度云
  • wordpress微信登录搜索引擎优化seo方案
  • 网站开发点赞收藏设计思路网站推广优化业务
  • 连云港网站制作公司口碑好免费发广告帖子的网站
  • 网站建设公司做ppt吗沈阳线上教学
  • 做网站可以赚多少钱seo优化网站百度技术
  • 汕头网站建设制作厂家拼多多女装关键词排名
  • 网页前端设计师培训学校广州seo优化费用
  • 网站备案 办理拍照seo专员是做什么的
  • wordpress 缓存下不计数seo的宗旨是什么
  • 北京住房和建设城乡委员会网站个人怎么在百度上打广告
  • 工作女郎电视剧全集免费观看seo综合查询系统
  • 如何做话费卡回收网站2019网站seo
  • wordpress+外观+权限长沙企业seo优化
  • 武汉做网站的千锋教育和达内哪个好
  • 企业如何做网站收款网站建设维护
  • 建设一个网站预算百度推广平台首页
  • 免费做 爱视频网站chatgpt入口
  • wordpress 禁用标厦门seo排名扣费
  • 国外优秀建筑设计网站热搜词排行榜关键词
  • 能免费做网站吗seo 适合哪些行业
  • wordpress 装饰模板东莞百度推广优化公司
  • 团购网站建设百度收录推广
  • wordpress插件升级杭州市优化服务
  • 品牌网站建设服务商google登录入口
  • 低代码平台汽车seo是什么意思
  • 公司做网站费用会计分录seo的排名机制