- 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
- 操作系统教程(第6版)课件5.10 文件的保护.pptx
- 北仑电厂300MW机组烟气脱硫项目初步设计说明书 .doc
- 北仑电厂300MW机组烟气脱硫项目环境评价报告.doc
- 北仑电厂300MW机组烟气脱硫项目可行性研究报告 .doc
- 北仑电厂300MW机组烟气脱硫项目项目摘要.docx
- 山东省菏泽市2024-2025学年高二上学期期中考试 地理(A卷) Word版含答案.docx
- 2023年北京市东城区高考政治二模试卷-普通用卷.docx
- 2023年度国家电网黑龙江省电力有限公司招聘《财务会计类》考试预测卷(含答案).docx
- 2023年大学生消费情况调查报告前言(十四篇).docx
- 北京大兴区5MW屋顶分布式光伏发电项目项目建议书.docx
- 工艺管理规定.docx
- 光伏发电项目施工管理制度方案-质量管理制度.docx
- [最新]国开电大本科马克思主义基本原理概论终结大作业专题八资料.docx
- 2025届四川省内江市高三年级上册第一次模拟考试政治试题(解析版).pdf
- 河南省安阳市滑县2024-2025学年八年级上学期期末考试英语试题(含答案,无听力原文及音频).pdf
最近下载
- 2025新人音版音乐一年级下册(赵季平主编)《第四单元 游戏》大单元整体教学设计[2022课标].pdf
- 医院检验科生物安全实验室人员培训和考核制度.docx VIP
- 劳动防护用品使用安全培训.pptx VIP
- 2024年06月国家税务总局广东省税务局系统公开招聘事业单位工作人员50人笔试近年[2018-2023]典型考题及考点剖析附答案带详解.docx VIP
- 【学习教程】小梅哥Xilinx FPGA自学教程V1.2.pdf
- 宁夏银川一中2020-2021学年高一上学期期末考试语文试题 Word版含答案.doc VIP
- 《刑事诉讼法》 课件 (高教-马工程) 第0--16章 绪论、马克思恩格斯的刑事诉讼观--死刑复核程序.pptx
- 《1-12月绿化养护计划》.doc
- 机电施工组织设计(施工方案).docx
- 1.新高一开学第一节班会课《如何适应高中生活》主题班会-(共23张PPT)(2)省公开课获奖课件市赛.pptx
文档评论(0)