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 = 类相关推荐

  1. .NET手撸绘制TypeScript类图——下篇

    .NET手撸绘制TypeScript类图--下篇 在上篇的文章中,我们介绍了如何使用 .NET解析 TypeScript,这篇将介绍如何使用代码将类图渲染出来. 类型定义渲染 不出意外,我们继续使用  ...

  2. .NET手撸绘制TypeScript类图——上篇

    .NET手撸绘制TypeScript类图--上篇 近年来随着交互界面的精细化, TypeScript越来越流行,前端的设计也越来复杂,而 类图正是用简单的箭头和方块,反映对象与对象之间关系/依赖的好方 ...

  3. typescript get方法_.NET手撸绘制TypeScript类图——上篇

    .NET手撸绘制TypeScript类图--上篇 近年来随着交互界面的精细化,TypeScript越来越流行,前端的设计也越来复杂,而类图正是用简单的箭头和方块,反映对象与对象之间关系/依赖的好方式. ...

  4. TypeScript 类(Class)

    TypeScript 类(Class) 自 ES6 起,终于迎来了 class,对于开发者来说,终于可以使用基于类的面向对象式编程.TypeScript 在原 ES6 中类的基础上,还添加了一些新的功 ...

  5. 三分钟快速了解typeScript 类

    typeScript 类 类描述了所创建的对象共同的属性和方法. 类的定义 继承 类里面的修饰符 静态属性 静态方法 抽象类 继承 多态 类的定义 class person {name:string; ...

  6. Typescript类,泛型,各种类型工具

    一.TypeScript 类 一个类可以包含以下几个模块: 1.属性 1.1 类属性 1.2 实例属性 2.构造函数(在python中叫初始化函数) 该函数在类实例化时会被立即调用 3.方法(也是函数 ...

  7. 05 TypeScript 类的使用

    目录 1.1 类的基本使用 1.2 类的继承 1.3 static和instanceof 1.4类中的修饰符 1.5 getter与setter 1.6 抽象类 1.7 implements子句 1. ...

  8. TypeScript类

    目录 1-1.类的基本使用 1-2.类的继承 1-3.static与instanceof 1-4.类中的修饰符 1-5.getter与setter 1-6.抽象类 1-7.implements子句 1 ...

  9. TypeScript 接口和TypeScript类

    目录 一.TypeScript 接口 1.TypeScript 接口的定义和简单使用 2.联合类型和接口 3.接口和数组 4.接口继承 二.TypeScript 类 1.TypeScript 类的定义 ...

最新文章

  1. ajax传递数组 php,jQuery.ajax向后台传递数组问题如何解决
  2. auth0的java-jwt_Spring boot + JWT 实现安全验证 ---auth0.jwt
  3. 新元素之hgroup,header,footer,address,nav
  4. 图解分布式架构的演进过程!
  5. Appium python 定位元素
  6. typedef的四个用途和两个陷阱
  7. 思想篇(1)--企业需要什么样的人才?
  8. Error:Cause: org/gradle/api/publication/maven/internal/DefaultMavenFactory Android
  9. 又涨啦!2021年6月程序员工资出炉
  10. CF 964C Alternating Sum
  11. Oracle 相关知识点结构图
  12. html css 实现发票(付款申请书)模板
  13. html5考试总结300字,期中考试总结300字(优秀篇)
  14. 特别详细的数据中心运维管理方案
  15. 【FA TSP】基于matlab萤火虫算法求解旅行商问题【含Matlab源码 328期】
  16. 最新版Nessus的安装
  17. 【原创】MATLAB汽车制动防抱死模型ABS模型
  18. manjaro kde安装 配置教程
  19. Vitamio直播框架的简单使用
  20. 实时动态(RTK)定位技术介绍

热门文章

  1. springboo+vue+nodejs智慧食堂订餐网站设计java
  2. 2018年2月2日的工作总结
  3. 福昕阅读器 2021 年度更新 · 全新视觉改版
  4. 大数据最佳实践-基于Spark的ETL开发
  5. NEAR官方文档翻译(二)基础(Basics)- 账户
  6. matlab系统解列模块,基于MATLAB准同期装置建模与仿真-毕设论文.doc
  7. 摄像头在H5的实时播放功能实现历程
  8. NOR Flash擦写和原理分析
  9. django migrate 失效/报错
  10. win8计算机待机设置在哪里设置,win8如何设置电脑待机密码|win8设置唤醒密码的方法...