TypeScript总结:16、面向对象速查
面向对象速查TypeScript 面向对象部分可以归纳为四个关键词类、封装、继承和抽象。接口与泛型则进一步帮助我们描述结构和复用类型逻辑。一、类的基本模板classPerson{name:string;age:number;constructor(name:string,age:number){this.namename;this.ageage;}sayHello():void{console.log(大家好我是this.name);}}constpersonnewPerson(孙悟空,18);person.sayHello();成员作用属性保存对象数据构造函数创建实例时初始化数据方法描述对象行为this表示当前实例new创建类的实例二、访问修饰符修饰符当前类子类类外部public可以访问可以访问可以访问protected可以访问可以访问不可以访问private可以访问不可以访问不可以访问示例classUser{publicname:string;protectedrole:string;privatepassword:string;constructor(name:string,role:string,password:string){this.namename;this.rolerole;this.passwordpassword;}}建议默认公开的成员才使用public。只允许子类使用的成员使用protected。内部实现细节使用private。三、readonly、getter 和 setterreadonlyclassUser{readonlyid:number;constructor(id:number){this.idid;}}readonly属性初始化后不能重新赋值。getter 和 setterclassPerson{private_name:string;constructor(name:string){this._namename;}getname():string{returnthis._name;}setname(value:string){if(value.trim()){this._namevalue;}}}记忆方式get读取属性。set修改属性。四、静态成员classMathTools{staticPI3.1415926;staticsum(a:number,b:number):number{returnab;}}console.log(MathTools.PI);console.log(MathTools.sum(1,2));静态成员属于类本身通过类名访问不需要创建实例。五、继承和方法重写classAnimal{constructor(publicname:string){}run():void{console.log(this.name正在跑);}}classDogextendsAnimal{bark():void{console.log(this.name在汪汪叫);}overriderun():void{console.log(狗正在跑);}}constdognewDog(旺财);dog.run();dog.bark();关键语法语法作用extends继承父类super(...)调用父类构造函数super.method()调用父类方法override明确表示重写父类成员六、抽象类abstractclassAnimal{abstractrun():void;bark():void{console.log(动物在叫);}}classDogextendsAnimal{run():void{console.log(狗在跑);}}抽象类的特点不能直接实例化。可以包含普通属性和普通方法。可以包含抽象方法。子类必须实现抽象方法。七、接口描述对象结构interfacePerson{name:string;sayHello():void;}functiongreet(person:Person):void{person.sayHello();}类实现接口classStudentimplementsPerson{constructor(publicname:string){}sayHello():void{console.log(我是this.name);}}implements只负责检查结构不会自动生成接口中的属性和方法。八、泛型泛型函数functionidentityT(value:T):T{returnvalue;}identity(100);identity(hello);泛型类classBoxT{constructor(publicvalue:T){}}constnumberBoxnewBox(100);conststringBoxnewBox(hello);泛型约束interfaceHasLength{length:number;}functiongetLengthTextendsHasLength(value:T):number{returnvalue.length;}九、接口、抽象类和普通类的区别类型主要作用能否包含具体实现能否直接实例化接口描述结构和契约不能不能抽象类提供通用模型和部分实现可以不能普通类创建具体对象可以可以十、面向对象设计建议类负责描述对象状态和行为。不要把所有属性都公开优先保护内部状态。父类放公共逻辑子类放具体差异。只需要约束结构时优先考虑接口。需要共享实现时再考虑抽象类或继承。重复的类型逻辑优先使用泛型。十一、本章小结类解决对象创建和行为组织问题。封装解决属性访问和数据保护问题。继承解决公共逻辑复用问题。抽象类解决通用模型和强制实现问题。接口解决结构约束问题。泛型解决类型安全的代码复用问题。

相关新闻

从One-Hot到动态Embedding:AI文本表示技术演进与实战指南

从One-Hot到动态Embedding:AI文本表示技术演进与实战指南

1. 项目概述:从“词”到“数”的AI理解之路干了这么多年AI项目,从早期的规则匹配到现在的深度学习,我最大的感触就是:模型再复杂,也得先学会“认字”。这里的“认字”,指的就是让计算机理解人类语言。2026年…

2026/10/11 17:15:31 阅读更多 →
数据中心社区冲突:资源消耗、社会许可与可持续基础设施的未来

数据中心社区冲突:资源消耗、社会许可与可持续基础设施的未来

你有没有想过,有一天,一个技术项目会因为“太吵”而被整个社区抵制?这听起来像是邻里纠纷,但正在成为全球数据中心扩张的真实写照。最近,一个现象级的话题浮出水面:在美国,从普通居民到地方政府…

2026/10/14 8:15:40 阅读更多 →
硬字幕提取不花钱:VSE 帮你 3 分钟把视频字幕变成 SRT 文件

硬字幕提取不花钱:VSE 帮你 3 分钟把视频字幕变成 SRT 文件

硬字幕提取不花钱:VSE 帮你 3 分钟把视频字幕变成 SRT 文件 【免费下载链接】video-subtitle-extractor 视频硬字幕提取,生成srt文件。无需申请第三方API,本地实现文本识别。基于深度学习的视频字幕提取框架,包含字幕区域检测、字…

2026/10/7 7:39:22 阅读更多 →

最新新闻

【人工智能】AI基础知识(第二十四节:DeepSeek Harness 接入 TaoToken 的 Agent 插件配置)

【人工智能】AI基础知识(第二十四节:DeepSeek Harness 接入 TaoToken 的 Agent 插件配置)

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/17 10:13:59 阅读更多 →
漏斗分析:从用户路径拆解到转化率优化的数据分析实践指南

漏斗分析:从用户路径拆解到转化率优化的数据分析实践指南

做了快十年数据分析,如果要我只留一个最常用的分析方法,我会选漏斗分析。原因很简单:产品、运营、增长团队平时问得最多的就是“用户为什么到了支付页就走”或者“注册率明明不低,为什么活跃上不去”,这类问题靠总体转…

2026/10/17 10:13:59 阅读更多 →
Hermes Agent 审批按钮源码解析:feishu.py:1906-1909 的 Allow Once/Session/Always/Deny 实现与 TaoToken 接入

Hermes Agent 审批按钮源码解析:feishu.py:1906-1909 的 Allow Once/Session/Always/Deny 实现与 TaoToken 接入

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/17 10:13:59 阅读更多 →
live555推H264实时流花屏真相:RTP封包、时间戳与关键帧

live555推H264实时流花屏真相:RTP封包、时间戳与关键帧

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/17 10:13:59 阅读更多 →
Zabbix 监控 Cisco 1900 系列路由器:Cisco_1900 社区模板解析与部署实战

Zabbix 监控 Cisco 1900 系列路由器:Cisco_1900 社区模板解析与部署实战

【免费下载链接】community-templates Zabbix Community Templates repository 项目地址: https://gitcode.com/gh_mirrors/co/community-templates 点击查看 免费下载 本指南围绕 Zabbix 社区模板仓库中的 Cisco_1900 模板展开,这是一套面向 Cisco 190…

2026/10/17 10:13:59 阅读更多 →
2026年SSH远程开发实战:把Claude Code的settings改到TaoToken直写服务器代码

2026年SSH远程开发实战:把Claude Code的settings改到TaoToken直写服务器代码

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/17 10:12:59 阅读更多 →

日新闻

DeepSeek选型与部署:V3/R1、Ollama、API全攻略

DeepSeek选型与部署:V3/R1、Ollama、API全攻略

简介:《DeepSeek使用方法.pdf》是一份面向DeepSeek入门及进阶用户的完整使用指南,重点围绕V3与R1两款模型的能力差异与适用场景展开,帮助读者根据任务类型与成本选择合适的模型。资源共1个PDF文件,压缩包大小约311KB,篇…

2026/10/17 0:00:25 阅读更多 →
200+Deepseek润色指令拆解:从底层原理到场景落地的完整指南

200+Deepseek润色指令拆解:从底层原理到场景落地的完整指南

简介:这是一份聚焦DeepSeek提示词优化的《200Deepseek润色指令》PDF文档,共收录两百余条可直接套用的润色指令,涵盖语法修正、风格统一、逻辑梳理、表达精炼等维度,并针对商务写作、学术论文、广告文案等场景给出差异化建议。文档…

2026/10/17 0:00:25 阅读更多 →
OpenCV轮廓法物体计数系统:轻量、可控、可落地的工业级实现

OpenCV轮廓法物体计数系统:轻量、可控、可落地的工业级实现

简介:本资源是一份基于OpenCV的本科课程设计完整报告,面向计算机视觉初学者、图像处理学习者及高校通信/信息类专业学生,解决物体智能计数与检测结果结构化记录的实际问题。项目覆盖图像预处理、轮廓检测、边界框绘制、轨迹栏交互式参数调节、…

2026/10/17 0:00:25 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/16 21:35:51 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/17 1:44:59 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/16 15:04:24 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 21:54:38 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 3:49:43 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 14:23:36 阅读更多 →