1.Typescript中static详解

  1. 静态成员:在类中通过 static 修饰的属性或者方法
  2. 那么就是静态的属性静态方法
  3. 也称之为:静态成员(静态成员包含静态属性和静态方法)
  4. 静态成员在使用的时候通过【类名.静态属性】来访问

2.访问和修改static静态成员的小栗子

  1. class Person{
  2. // 类中默认有一个内置name属性
  3. // 静态属性myname
  4. static myname:string='小可爱'
  5. sayHi() {
  6. console.log('sayHi')
  7. }
  8. }
  9. const per = new Person();
  10. // 访问类中的静态属性
  11. console.log(Person.myname);
  12. // 修改类中的静态属性
  13. Person.myname = '大可爱'
  14. console.log(Person.myname);
  15. //输出[大可爱]

3.抽象方法

  1. 抽象类中包含抽象方法:(抽象方法一般【没有任何具体内容】的实现)
  2. 抽象类中也可以包含实例方法
  3. 抽象类是不能够被实例化
  4. 抽象类可以让子类进行实例化以及实现内部所有的抽象方法
  5. 抽象类中也可以有抽象属性
  6. {但是在实际开发过程中抽象类中一班不会有抽象属性}
  7. 我们知道了抽象类中可以包含:抽象属性 抽象方法 实例方法
  8. ps:子类继承了抽象类,子类就必须实现抽象类中的抽象方法

4.写抽象类的注意点

  1. abstract class Animals{
  2. // 这样写法是错误的,
  3. // 因为抽象方法一般没有任何具体内容的实现
  4. // abstract eat (){
  5. // console.log('跑着吃,跳着吃')
  6. // }
  7. abstract eat()
  8. }
  9. // 这样的写法是错误的。
  10. // 因为:抽象类不能够被实例化
  11. // let dog=new Animals()

5.抽象类

  1. abstract class Animals{
  2. // 这样写法是错误的,
  3. // 因为抽象方法一般没有任何具体内容的实现
  4. // abstract eat (){
  5. // console.log('跑着吃,跳着吃')
  6. // }
  7. abstract eat()
  8. abstract sleep();
  9. // 抽象类中的抽象属性
  10. abstract myname: string
  11. // 抽象方法也可以包含实例方法
  12. say() {
  13. console.log('你好啊')
  14. }
  15. }
  16. // 子类继承了抽象类,子类就必须实现抽象类中的抽象方法
  17. class Dog extends Animals {
  18. // 重新实现抽象类中的抽象方法
  19. eat() {
  20. console.log('我是狗,趴着吃')
  21. }
  22. // 重新实现抽象类中的抽象方法
  23. sleep() {
  24. console.log('我是狗,趴着睡')
  25. }
  26. // 实现抽象属性
  27. myname: string="狗子"
  28. }
  29. // 实例化
  30. let xiaohei = new Dog();
  31. // 直接调用方法
  32. xiaohei.eat();//我是狗,趴着吃
  33. // 调用的是抽象类中的实例方法
  34. xiaohei.say();//你好啊
  35. // 修改类中的属性
  36. xiaohei.myname = '小黄狗'
  37. console.log(xiaohei)
  38. // 输出 Dog { myname: '小黄狗' }

让你彻底理解Typescript中静态成员和抽象方法的更多相关文章

  1. 十分钟教你理解TypeScript中的泛型

    转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具.解决方案和服务,赋能开发者.原文出处:https://blog.bitsrc.io/understanding-generics-in-t ...

  2. typescript 中的 infer 关键字的理解

    infer 这个关键字,整理记录一下,避免后面忘记了.有点难以理解呢. infer infer 是在 typescript 2.8中新增的关键字. infer 可以在 extends 条件类型的字句中 ...

  3. TypeScript 中命名空间与模块的理解?区别?

    一.模块 TypeScript 与ECMAScript 2015 一样,任何包含顶级 import 或者 export 的文件都被当成一个模块 相反地,如果一个文件不带有顶级的import或者expo ...

  4. 【TypeScript】如何在TypeScript中使用async/await,让你的代码更像C#。

    [TypeScript]如何在TypeScript中使用async/await,让你的代码更像C#. async/await 提到这个东西,大家应该都很熟悉.最出名的可能就是C#中的,但也有其它语言也 ...

  5. JavaScript 和 TypeScript 中的 class

    对于一个前端开发者来说,很少用到 class ,因为在 JavaScript 中更多的是 函数式 编程,抬手就是一个 function,几乎不见 class 或 new 的踪影.所以 设计模式 也是大 ...

  6. TypeScript 中的方法重载

    方法重载(overload)在传统的静态类型语言中是很常见的.JavaScript 作为动态语言, 是没有重载这一说的.一是它的参数没有类型的区分,二是对参数个数也没有检查.虽然语言层面无法自动进行重 ...

  7. 深入理解Java中的IO

    深入理解Java中的IO 引言:     对程序语言的设计者来说,创建一个好的输入/输出(I/O)系统是一项艰难的任务 < Thinking in Java >   本文的目录视图如下: ...

  8. TypeScript中使用getElementXXX()

    如果只是看解决方法,可以直接跳到第二小节 简述 Angular 1.x版本是用JavaScript编写的,我们在百度Angular经常会搜索到AngularJS,并不是JavaScript的什么衍生版 ...

  9. typeScript中的数据类型

    /* typeScript中的数据类型 typescript中为了使编写的代码更规范,更有利于维护,增加了类型校验,在typescript中主要给我们提供了以下数据类型 布尔类型(boolean) 数 ...

  10. TypeScript中的private、protected

    首先我们要清楚 private . protected 现阶段只是javascript中的保留字(Reserved words),而非关键字(Keywords ).因此TypeScript中的纯类型声 ...

随机推荐

  1. .Net Core 多语言

    StartUp.cs public void Configure(IApplicationBuilder app, IWebHostEnvironment env) { app.UseEndpoint ...

  2. 【原理篇】WebView 实现嵌套滑动,丝滑般实现吸顶效果,完美兼容 X5 webview

    本文首发我的微信公众号徐公,收录于 Github·AndroidGuide,这里有 Android 进阶成长知识体系, 希望我们能够一起学习进步,关注公众号徐公,5 年中大厂程序员,一起建立核心竞争力 ...

  3. 又拍云邵海杨 - 25年Linux老兵,聊聊运维的“术”与“道”

    您好邵总,请您先做个自我介绍吧,聊聊您的履历和现状,让大家更好的认识您,了解您的背景也有助于读者理解后面的采访内容 我是来自又拍云的邵海杨,从1998年开始使用Linux至今快25年了,资深(老鸟)L ...

  4. 拥抱开放,Serverless 时代的下一征程

    Serverless 作为云计算的最佳实践和未来演进趋势,其全托管免运维的使用体验和按量付费的成本优势使得它在云原生时代备受推崇.Serverless 的使用场景也由事件驱动,数据处理等部分特定场景转 ...

  5. vue学习笔记 一、环境搭建

    系列导航 vue学习笔记 一.环境搭建 vue学习笔记 二.环境搭建+项目创建 vue学习笔记 三.文件和目录结构 vue学习笔记 四.定义组件(组件基本结构) vue学习笔记 五.创建子组件实例 v ...

  6. windows不安装虚拟机如何使用Linux系统作为开发工具?

    哈喽,大家好,我是仲一.作为嵌入式开发程序员,常常需要在Linux环境下编译一些代码.安装虚拟机比较方便,但是,太占用内存了.性能不好的电脑开了一台虚拟机后,可能就干不了其他事情了.安装双系统也比较麻 ...

  7. VirtualBox 设置开机自动在后台启动虚拟机

    打开 C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp 新建文件 virtualbox.bat 编写脚本 "C:\Pr ...

  8. STM32CubeMX教程21 CAN - 双机通信

    1.准备材料 开发板(正点原子stm32f407探索者开发板V2.4) STM32CubeMX软件(Version 6.10.0) 野火DAP仿真器 keil µVision5 IDE(MDK-Arm ...

  9. Java之利用openCsv将csv文件导入mysql数据库

    前两天干活儿的时候有个需求,前台导入csv文件,后台要做接收处理,mysql数据库中,项目用的springboot+Vue+mybatisPlus实现,下面详细记录一下实现流程. 1.Controll ...

  10. 21-CMOS门电路的逻辑式

    CMOS门电路的逻辑式 通过CMOS门电路,写出门电路的表达式. 方法 只看下方,因为电路上下是对称的: 先找L(输出)的非,找的输出到地的通路,以原变量进行书写.最后将表达式取非,即可得到L.这种方 ...