TypeScript = 类
TypeScript笔记
5. TypeScript => 类
// 1. ts如何定义类
/*
class Person {name:string;constructor(name:string){this.name = name;}getName():string{return this.name;}setName(name:string):void {this.name = name;}
}
*/
// let per = new Person('李丹');
// console.log(per.getName());
// per.setName('王莉');
// console.log(per.getName());// 2. 类里面的修饰符 ts 定义属性时 提供了三种修饰符
/* pulic :公有类型 => 在类里面、子类里面、类外面都可以访问 protected :保护类型 => 在类里面、子类里面可以访问、 类外面不可以访问 private :私有类型 => 在类里面可以访问、 子类里面和类外面不可以访问
*/
/*
class Person {public name:string;protected job:string;private age:number = 20;constructor(name:string,job:string){this.name = name;this.job = job;}getName():string{return this.name;}setName(name:string):void {this.name = name;}
}class Child extends Person{constructor(name:string,job:string){super(name,job)console.log(this.job)// console.log(this.age)}
}
let c = new Child('丽丽','web');
*/// 3. 静态方法
/*
class Person {static job:string ='web';name:string;constructor(name: string = 'lili') {this.name = name;}//静态方法 无法直接访问类里面的属性 只能访问static 关键字的属性static getName(): string {return this.job;}//实例方法getName():string{return this.name;}setName(name:string):void{this.name = name;}
}
*/// 4. ts中如何继承类 继承 extends spuer 同es6
/*
class Person {name:string;constructor(name:string){this.name = name;}getName():string{return this.name;}setName(name:string):void {this.name = name;}
}class Child extends Person{constructor(name:string){super(name)}
}
let c = new Child('丽丽')
console.log(c.getName())
c.setName('王朝马汉')
console.log(c.getName())
*/// 5.多态
/*
class Animal {protected name: string;protected food: string;constructor(name: string, food: string) {this.name = name;this.food = food;}eat(): string {console.log(`${this.name}调eat方法`)return this.name}
}
class Dog extends Animal {constructor(name: string, food: string) {super(name, food);}// eat(){// console.log(this.food);// return this.name+'吃肉';// }
}
class Cat extends Animal {constructor(name: string, food: string) {super(name, food);this.food = food;}eat(): string {console.log(this.food);return this.name + '吃鱼';}
}
let dog = new Dog('山治', '肉')
let cat = new Cat('汤姆', '鱼')
console.log(dog.eat())
console.log(cat.eat())
*/// 6. 抽象类
// typescript 中的抽象类:提供给其他类继承的基类, 不能被实例化。
// 使用 abstract 关键字定义抽象类 和 抽象方法,抽象类中的抽象方法 不包含具体实现 并且 必须在派生类(子类)中实现。
// abstract 抽象方法只能放在抽象类中 它的子类必须包含抽象方法
/*
abstract class Model {public name:string;constructor(name:string){this.name = name;}//定义抽象方法 不包含具体实现 abstract eat():any;
}
class Dog extends Model {constructor(name:string){super(name);}//子类 必须存在抽象类中的抽象方法 必须在派生类(子类)中实现。eat(){console.log(`${this.name} is eat` )}
}
let dog = new Dog('dog');
dog.eat();
*/
TypeScript = 类相关推荐
- .NET手撸绘制TypeScript类图——下篇
.NET手撸绘制TypeScript类图--下篇 在上篇的文章中,我们介绍了如何使用 .NET解析 TypeScript,这篇将介绍如何使用代码将类图渲染出来. 类型定义渲染 不出意外,我们继续使用 ...
- .NET手撸绘制TypeScript类图——上篇
.NET手撸绘制TypeScript类图--上篇 近年来随着交互界面的精细化, TypeScript越来越流行,前端的设计也越来复杂,而 类图正是用简单的箭头和方块,反映对象与对象之间关系/依赖的好方 ...
- typescript get方法_.NET手撸绘制TypeScript类图——上篇
.NET手撸绘制TypeScript类图--上篇 近年来随着交互界面的精细化,TypeScript越来越流行,前端的设计也越来复杂,而类图正是用简单的箭头和方块,反映对象与对象之间关系/依赖的好方式. ...
- TypeScript 类(Class)
TypeScript 类(Class) 自 ES6 起,终于迎来了 class,对于开发者来说,终于可以使用基于类的面向对象式编程.TypeScript 在原 ES6 中类的基础上,还添加了一些新的功 ...
- 三分钟快速了解typeScript 类
typeScript 类 类描述了所创建的对象共同的属性和方法. 类的定义 继承 类里面的修饰符 静态属性 静态方法 抽象类 继承 多态 类的定义 class person {name:string; ...
- Typescript类,泛型,各种类型工具
一.TypeScript 类 一个类可以包含以下几个模块: 1.属性 1.1 类属性 1.2 实例属性 2.构造函数(在python中叫初始化函数) 该函数在类实例化时会被立即调用 3.方法(也是函数 ...
- 05 TypeScript 类的使用
目录 1.1 类的基本使用 1.2 类的继承 1.3 static和instanceof 1.4类中的修饰符 1.5 getter与setter 1.6 抽象类 1.7 implements子句 1. ...
- TypeScript类
目录 1-1.类的基本使用 1-2.类的继承 1-3.static与instanceof 1-4.类中的修饰符 1-5.getter与setter 1-6.抽象类 1-7.implements子句 1 ...
- TypeScript 接口和TypeScript类
目录 一.TypeScript 接口 1.TypeScript 接口的定义和简单使用 2.联合类型和接口 3.接口和数组 4.接口继承 二.TypeScript 类 1.TypeScript 类的定义 ...
最新文章
- ajax传递数组 php,jQuery.ajax向后台传递数组问题如何解决
- auth0的java-jwt_Spring boot + JWT 实现安全验证 ---auth0.jwt
- 新元素之hgroup,header,footer,address,nav
- 图解分布式架构的演进过程!
- Appium python 定位元素
- typedef的四个用途和两个陷阱
- 思想篇(1)--企业需要什么样的人才?
- Error:Cause: org/gradle/api/publication/maven/internal/DefaultMavenFactory Android
- 又涨啦!2021年6月程序员工资出炉
- CF 964C Alternating Sum
- Oracle 相关知识点结构图
- html css 实现发票(付款申请书)模板
- html5考试总结300字,期中考试总结300字(优秀篇)
- 特别详细的数据中心运维管理方案
- 【FA TSP】基于matlab萤火虫算法求解旅行商问题【含Matlab源码 328期】
- 最新版Nessus的安装
- 【原创】MATLAB汽车制动防抱死模型ABS模型
- manjaro kde安装 配置教程
- Vitamio直播框架的简单使用
- 实时动态(RTK)定位技术介绍
热门文章
- springboo+vue+nodejs智慧食堂订餐网站设计java
- 2018年2月2日的工作总结
- 福昕阅读器 2021 年度更新 · 全新视觉改版
- 大数据最佳实践-基于Spark的ETL开发
- NEAR官方文档翻译(二)基础(Basics)- 账户
- matlab系统解列模块,基于MATLAB准同期装置建模与仿真-毕设论文.doc
- 摄像头在H5的实时播放功能实现历程
- NOR Flash擦写和原理分析
- django migrate 失效/报错
- win8计算机待机设置在哪里设置,win8如何设置电脑待机密码|win8设置唤醒密码的方法...