TypeScript

50 阅读3分钟

image.png

ES6中class继承

image.png

  1. 通过class声明一个构造函数

image.png 2. 通过关键字extends来继承父类

image.png 3. 注意:子类中新加属性,且不想通过this赋值,可通过 super()进行赋值

访问修饰符

  • private:在当前类中定义的属性和方法
  • protected:访问当前类和子类
  • public:当前类、子类和实例化对象

image.png

  1. private:定义为私有属性,只能在类的内部访问,外部访问会报错。

image.png 2. public:定义为公有属性,默认为 public。

image.png 3. 被保护的对象。因为一个类可以化身为好多好多的对象。对于一些这些对象应该共有的一样的属性不应该让对象有访问和修改的权力。

  • 对于protected声明的属性,可以在子类中访问他。不能在实现对象中访问。
  • 对于protected声明的构造方法。则该方法只能在j继承的子类中调用不能直接 在创建对象的时候直接调用。即该类只能被继承不能被实现。

image.png

类实现接口

  1. interface 名{} 定义类型

image.png 2. type 名={} 定义对象类型

image.png 3. 通过 implements 实现

image.png

枚举

  1. 什么是枚举?

image.png

  • enum 的全称为 enumeration, 是 JDK 1.5 中引入的新特性。
  • 在Java中,被 enum 关键字修饰的类型就是枚举类型。形式如下:enum 名 { RED, GREEN, BLUE }

image.png

  • 如果枚举不添加任何方法,枚举值默认为从0开始的有序数值

image.png

  • 枚举的好处:可以将常量组织起来,统一进行管理。
  1. 数值型枚举

image.png

  • 不设置默认值image.png
  • Up的值是0,Down是1,依次类推。这种自动递增的行为对于我们可能不关心成员值本身,但关心每个值与同一枚举中的其他值不同的情况很有用。
  1. 字符串枚举在一个字符串枚举中,每个成员都必须用一个字符串字头或另一个字符串枚举成员进行常量初始化。

image.png

  • 虽然字符串枚举没有自动递增的行为,但字符串枚举有一个好处,那就是它们可以很好地 "序列化"。换句话说,如果你在调试时不得不读取一个数字枚举的运行时值,这个值往往是不透明的--它本身并不传达任何有用的意义(尽管 反向映射往往可以帮助你),字符串枚举允许你在代码运行时给出一个有意义的、可读的值,与枚举成员本身的名称无关。
  1. 异构枚举 枚举可以与字符串和数字成员混合

image.png

  • 除非你真的想以一种巧妙的方式利用JavaScript的运行时行为,否则建议你不要这样做。
  1. 使用枚举很简单:只需将任何成员作为枚举本身的一个属性来访问,并使用枚举的名称来声明类型:

image.png