TypeScript之类

一、类的定义

二、对象的创建

class Person{id:number;name:string;age:number = 18;constructor(id:number,name:string){this.id = id;this.name = name;}introduce():string{return `hello,I am ${this.name},and I am ${this.age} years old.`}
}let person = new Person(1,'zhangsan');console.log(person)

三、静态成员

声明静态成员 使用static关键字,静态成员隶属于类本身,而不属于某个对象实例

class Constants{static count:number = 1;
}class Utils{static toLowerCase(str:string){return str.toLowerCase();}
}console.log(Constants.count);console.log(Utils.toLowerCase("Hello World"))

四、类的继承

继承是面向对象编程中的重要机制,允许一个类(子类或派生类)继承另一个(父类或基类)的属性和方法。子类可以直接使用父类的特性,并根据需要添加新的特性或覆盖现有的特性。

class Person{id:number;name:string;age:number = 18;constructor(id:number,name:string){this.id = id;this.name = name;}introduce():string{return `hello,I am ${this.name},and I am ${this.age} years old.`}
}class Student extends Person{classNumber:string;constructor(id:number,name:string,classNumber:string){super(id,name);this.classNumber = classNumber;}introduceSTU():string{return `hello,I am ${this.name},and I am ${this.age} years old.I am a student`}
}let student = new Student(1,'zhangsan','aaa');console.log(student.introduceSTU());

4.1 访问修饰符

主要用于控制类成员的可访问性

 五、接口

5.1 接口的定义

通常情况下接口只会包含属性和方法的声明,而不包含具体的实现细节,具体的细节由其实现类完成

interface Person{id:number;name:string;age:number;introduce():void;
}

5.2 接口的实现

interface Person{id:number;name:string;age:number;introduce():void;
}class Stu implements Person{id:number;name:string;age:number;constructor(id:number,name:string,age:number){this.id = id;this.name = name;this.age = age;}introduce():void{console.log("Hello zzm")}
}let s1 = new Stu(1,'zzm',1);console.log(s1.introduce())

六、多态

多态可以使同一类型的对象具有不同的行为

interface Person{id:number;name:string;age:number;introduce():void;
}class Stu implements Person{id:number;name:string;age:number;constructor(id:number,name:string,age:number){this.id = id;this.name = name;this.age = age;}introduce():void{console.log("Hello stu")}
}class Tea implements Person{id:number;name:string;age:number;constructor(id:number,name:string,age:number){this.id = id;this.name = name;this.age = age;}introduce():void{console.log("Hello,tea")}
}let s1 = new Stu(1,'zzm',1);
let t1 = new Tea(1,"zzm",1);s1.introduce();
t1.introduce();

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/624570.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

普发Pfeiffer CCR263 CCR272 CMR261 CMR273 PBR260 IMR265 TPR265 使用说明手侧

普发Pfeiffer CCR263 CCR272 CMR261 CMR273 PBR260 IMR265 TPR265 使用说明手侧

SQL刷题---2021年11月每天新用户的次日留存率

解题思路: 1.首先算出每个新用户注册的日期,将其命名为表a select uid,min(date(in_time)) dt from tb_user_log group by uid2.计算出每个用户登录的天数,将其命名为表b select uid,date(in_time) dt from tb_user_log union select uid,date(out_time) dt fro…

Ubuntu22.04配置ROS2+PX4仿真环境

Ubuntu22.04配置ROS2PX4仿真环境 主要参考源: https://blog.csdn.net/weixin_44174421/article/details/135827130 https://blog.csdn.net/Zecet/article/details/130474620 一、准备工作 确保网络能够连接到github,出错主要源自于此;确保…

探索分布式系统监控zabbix------------自动发现与自动注册

目录 一、部署 zabbix 服务端 二、部署 zabbix 客户端 2.1环境准备 2.2服务端和客户端都配置时间同步 (ntp) 2.2.1服务端zbx-server 2.2.2服务端zabbix-agent01客户端 2.3客户端配置时区,与服务器保持一致 2.4设置 zabbix 的下载源&…

深度学习 Lecture 8 决策树

一、决策树模型(Decision Tree Model) 椭圆形代表决策节点(decison nodes),矩形节点代表叶节点(leaf nodes),方向上的值代表属性的值, 构建决策树的学习过程: 第一步:决定在根节点…

allure2教程-1-环境搭建

领取资料,咨询答疑,请➕wei: June__Go 自动化测试执行完成后我们需要展示给其他人看,这就要有自动化测试报告了。复杂的测试报告当然可以自己代码实现,但用pytest-html或allure基本也能满足我们生成测试报告的要求了。本小节介绍…

nacos 安装保姆级教程

安装nacos nacosVersion:2.2.3 需要的java版本较高, 所以这里直接安装jdk17; 安装链接见nacos 和jdk 官网,具体选择下面图片中的两个版本哈 本来想直接传到csdn的,结果这边的资料审核还是有点繁琐,然后上传的速度也有点…

oracle数据库怎么查看当前登录的用户?

方法如下: 输入select * from dba_users; 即可。 常用语句: 一,查看数据库里面所有用户: select * from dba_users; 前提是你是有dba权限的帐号,如sys,system。 二,查看你能管理的所有用户&#xff1…

每日一题 — 串联所有单词的子串

30. 串联所有单词的子串 - 力扣(LeetCode) 思路:因为words里面的每一个字符串的长度都是固定的,所以可以将题转换成字符在字符串中的所有异位词 设出哈希表定义left和right进窗口维护count判断出窗口维护count 代码: …

高分二号卫星(GF-2):中国遥感科技的新高度

​高分二号卫星(GF-2)是中国在高分辨率地球观测领域的重要成就,其引入了先进的成像技术和灵活的数据获取模式,为地球资源监测、环境保护、城市规划等领域提供了强大的数据支持。本文将深入介绍高分二号卫星的技术特点、成像能力以…

14.C++常用的算法_排序算法

文章目录 遍历算法1. sort()代码工程运行结果 2. random_shuffle()代码工程运行结果第一次运行结果第二次运行结果第三次运行结果 3. merge()代码工程运行结果 4. reverse()代码工程运行结果 遍历算法 1. sort() 代码工程 sort()函数默认是升序排列,如果想要降序…

a == 1 a== 2 a== 3 返回 true ?

1. 前言 下面这道题是 阿里、百度、腾讯 三个大厂都出过的面试题,一个前端同事跳槽面试也被问了这道题 // ? 位置应该怎么写,才能输出 trueconst a ?console.log(a 1 && a 2 && a 3) 看了大厂的面试题会对面试官的精神…