Typescript---03 类、接口、枚举

传统的javascript程序使用函数和基于原型的继承来创建可重用的组件,从ECMAScript2015(ECMAScript 6)开始,可以使用基于类的面向对象方式。

一、类:

  定义类(class)

class Person{
  name: string;
  constructor(name:string){
     this.name = name;
 }  
}

let stu = new Person("张三");

  继承类(extends)

class Student extends Person{
  readBook(){
   console.log( this.name + "is reading");
  }
}

  访问修饰符

  默认为public

  private 私有,只有内部可以访问

  protected,内部和派生类可以访问

  readonly 只读,必须在声明时或构造函数里被初始化

  static 静态属性,可以直接通过类名访问

  存取器get/set,如果只有get不带有set的存取器被推断为readonly

  抽象类

  abstract 定义抽象类以及定义抽象类的抽象方法。 不同于接口,抽象类里可以包含成员的实现。抽象类不会直接被示例化

二、接口

  定义接口 

interface MainService {
    context: string
}

  可选属性,可选属性就是在属性名后加? 符号

interface MainService {
    context: string;
    name?:string;//可选属性  
}

  只读属性,只在对象刚创建的时候修改值

interface MainService {
    context: string;
    name?:string;//可选属性
    readonly gender: string;// 只读属性    
}

  实现接口

class Main implements MainService{
  current: Date;  
}

三、类与接口

  1)类可以实现接口

  2)接口继承接口

  3)接口继承类

四、枚举

  数字枚举

enum Direction {
    Up = 1,
    Down,
    Left,
    Right
}

  字符串枚举

enum Direction {
    Up = "UP",
    Down = "DOWN",
    Left = "LEFT",
    Right = "RIGHT",
}

  

  

 

posted @ 2019-02-19 14:59  古道瘦西风  阅读(156)  评论(0编辑  收藏  举报