- 1、本文档共21页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
TypeScript面向对象
王红元coderwhy
目录
1TypeScript类的使用
content
2TypeScript中抽象类
3TypeScript对象类型
4TypeScript接口补充
5特殊:严格字面量检测
6TypeScript枚举类型
coderwhy认识类的使用
◼在早期的JavaScript开发中(ES5)我们需要通过函数和原型链来实现类和继承,从ES6开始,引入了class关键字,可以更加方
便的定义和使用类。
◼TypeScript作为JavaScript的超集,也是支持使用class关键字的,并且还可以对类的属性和方法等进行静态类型检测。
◼实际上在JavaScript的开发过程中,我们更加习惯于函数式编程:
比如React开发中,目前更多使用的函数组件以及结合Hook的开发模式;
比如在Vue3开发中,目前也更加推崇使用CompositionAPI;
◼但是在封装某些业务的时候,类具有更强大封装性,所以我们也需要掌握它们。
◼类的定义我们通常会使用class关键字:
在面向对象的世界里,任何事物都可以使用类的结构来描述;
类中包含特有的属性和方法;
coderwhy类的定义
◼我们来定义一个Person类:
使用class关键字来定义一个类;
◼我们可以声明类的属性:在类的内部声明类的属性以及对应的类型
如果类型没有声明,那么它们默认是any的;
我们也可以给属性设置初始化值;
在默认的strictPropertyInitialization模式下面我们的属性是必须
初始化的,如果没有初始化,那么编译时就会报错;
✓如果我们在strictPropertyInitialization模式下确实不希望给属
性初始化,可以使用name!:string语法;
◼类可以有自己的构造函数constructor,当我们通过new关键字创建
一个实例时,构造函数会被调用;
构造函数不需要返回任何值,默认返回当前创建出来的实例;
◼类中可以有自己的函数,定义的函数称之为方法;
coderwhy类的继承
◼面向对象的其中一大特性就是继承,继承不仅仅可以减少我们的代码量,也是多态的使用前提。
◼我们使用extends关键字来实现继承,子类中使用super来访问父类。
◼我们来看一下Student类继承自Person:
Student类可以有自己的属性和方法,并且会继承Person的属性和方法;
在构造函数中,我们可以通过super来调用父类的构造方法,对父类中的属性进行初始化;
coderwhy类的成员修饰符
◼在TypeScript中,类的属性和方法支持三种修饰符:public、private、protected
public修饰的是在任何地方可见、公有的属性或方法,默认编写的属性就是public的;
private修饰的是仅在同一类中可见、私有的属性或方法;
protected修饰的是仅在类自身及子类中可见、受保护的属性或方法;
◼public是默认的修饰符,也是可以直接访问的,我们这里来演示一下protected和private。
coderwhy只读属性readonly
◼如果有一个属性我们不希望外界可以任意的修改,只希望确定值后直接使用,那么可以使用readonly:
coderwhygetters/setters
◼在前面一些私有属性我们是不能直接访问的,或者某些属性我们想要监听它的获取(getter)和设置
您可能关注的文档
- 操作系统教程(第6版)课件5.3 文件的存储.pptx
- 操作系统教程(第6版)课件5.4 文件的逻辑结构.pptx
- 操作系统教程(第6版)课件5.5 记录的成组与分解.pptx
- 操作系统教程(第6版)课件5.7 文件目录结构.pptx
- 操作系统教程(第6版)课件5.8 文件目录的管理.pptx
- 北仑电厂300MW机组烟气脱硫项目初步设计说明书 .doc
- 北仑电厂300MW机组烟气脱硫项目环境评价报告.doc
- 北仑电厂300MW机组烟气脱硫项目可行性研究报告 .doc
- 北仑电厂300MW机组烟气脱硫项目项目摘要.docx
- 北仑发电厂年处理96亿立方米烟气深度脱硫脱硝项目初步设计说明书(19).pdf
文档评论(0)