6.typescipt类的继承和成员修饰符

2019-11-26  本文已影响0人  我性本傲
class Dog {
    constructor(name:string){
        // this.name = name
    }
    name:string = 'aaa'
    run(){}
        private pri() {}
        protected pro () {}
        readonly pro1 : number = 4
        static food: string = 'ffff'
}
console.log(Dog.prototype) // constructor,run
let dog = new Dog('hehe')  // name
console.log(dog)

class child extends Dog{
      constructor(name:string, public color: string){
          super(name)
          this.color = color  //this要在super之后
      }
}

typescipt类覆盖了es6的类

注意点:

1.无论在ts中还是在es中,
类成员的属性都是实例属性,而不是原型属性,
类成员的方法都是实例方法。
2.ts中实例的属性必须具有初始值,或者,在构造函数中被初始化

给构造函数添加private,代表这个类,既不能被实例化,也不能被继承。
给构造函数添加protected,代表这个类,既不能被实例化,只能被继承。

public:类的所有属性默认都是public
private:私有成员,private只能在类的本身被调用,不可以被类的实例调用,也不可以被子类调用。
protected:受保护成员,只能在类或者子类中访问,而不能在类的实例中访问。
readonly:只读属性,不可以被更改,一定要被初始化
static: 类的静态成员,只能通过类名来调用,不能子类来调用,但是可以被继承

上一篇 下一篇

猜你喜欢

热点阅读