浅探typescript(二)

class 类

class A{
   a: string;
   name:string;
   constructor(a:string,name:string){
        this.a = a;
        this.name = name;
   }
}

继承

class B extends A{
    b: string;
    construstor(a,name){
        super(a,name);
        this.b = '456';
    }
}
//实例化
var b = new B('a','abc');
console.log(b.name);

修饰符静态方法,不需要实例化处理,可直接通过类来调用

class Animal{
   static eat(){
        console.log('吃')
   }
}


Animal.eat();

ts中的三种修饰符

ts中三种修饰符 修饰属性和方法 public private protected

  1. public 修饰属性和方法是公共的,任何地方都可以访问
  2. private 私有的 不能在外部声明和使用
  3. protected 修饰属性和方法是受保护的 区别是子类可以访问
class Animal2{
        //public name:string; 
        //private name:string;  
        protected name:string;
        constructor(name:string){
            this.name = name;
        }
        public eat():string{
            return '吃老鼠';
        }
    }
    var a = new Animal2('abc') ;
    //a.name
    //a.eat()

    class Dog extends Animal2{
        constructor(name){
            super(name);
        }
        action():string{
            return this.name;   //调用父类的
        }
    }
    var d = new Dog('tom');
    d.action();

类实现接口

实现 implements

例如:

门是一个类 防盗门是属于门的子类 防盗门添加一个报警器的功能

除了门,车也有报警器的功能

报警器提取出来,作为一个接口 门,车去实现它

首先定义报警器的接口

interface Alarm{
   sing();  //抽象空的方法   规范
}
interface Light{
   lightOn();
   lightOff();
}

定义门的类及实现防盗门继承门

class Door{};
class SecurityDoor extends Door implements Alarm{
    sing(){
         console.log("sing...")
    }
}

一个类可以实现多个接口

扫描二维码关注公众号,回复: 4897791 查看本文章
 class Car implements Alarm,Light{
        sing(){
            console.log('....')
        }
        lightOn(){

        }
        lightOff(){
            
        }
    }

调用它们的方法

var s2 = new SecurityDoor();
    var car = new Car();
    s2.sing();
    car.sing()

猜你喜欢

转载自blog.csdn.net/qq_41746329/article/details/86292842
今日推荐