美文网首页Learning Typescript1024TypeScript基础
4、Typescript类的继承和修饰符

4、Typescript类的继承和修饰符

作者: 圆梦人生 | 来源:发表于2019-03-05 17:55 被阅读0次
    • 1、ts中类的定义使用关键字class、继承使用 extends 和 super
    • 2、子类方法名和父类相同表示重写父类方法
    • 3、 ts类中修饰符分为3种:
      • 3-1 public : 公有(所有)默认
      • 3-2 protected:保护 (父类+子类)
      • 3-3 private: 私有(本类)

    案例:

    // ts中类的继承
    // 定义父类
    class Person {
        name:string;
        age:number;
        constructor(name:string, age:number){
            this.name = name;
            this.age = age;
        }
    
        getName():string{
            return this.name;
        }
    
        setName(name:string):void{
            this.name = name
        }
    
        getAge():number{
            return this.age
        }
    
        setAge(age:number):void{
            this.age = age;
        }
    
        run():void{
            console.log(`${this.name}在跑步`);
        }
    }
    
    let p = new Person('zs', 20);
    console.log(p.getName());
    console.log(p.getAge());
    p.run();
    p.setName('lis');
    p.setAge(33);
    console.log(p.getName());
    console.log(p.getAge());
    p.run();
    
    console.log('下面输出字类信息:');
    // 继承
    class People extends Person {
        //
        constructor(name:string, age:number){
            // 调用父类构造器
            super(name, age)
        }
        // 子类新增方法
        work():void{
            console.log(`${this.name}在工作`);
        }
        // 重写父类方法
        run():void{
            console.log(`${this.name}在跑步-子类重写`); 
        }
    }
    
    let ppp = new People('zl', 10);
    console.log(ppp.getName());
    console.log(ppp.getAge());
    ppp.setName('zhaoliu');
    ppp.work();
    ppp.run();
    console.log(ppp.name)
    
    
    // ts类中修饰符
    // 1、public : 公有(所有)默认
    // 2、protected:保护 (父类+子类)
    // 3、private: 私有(本类)
    
    console.log('修饰符-------');
    
    class Total {
        // 默认修饰符 public
        private num:number
        //
        constructor(num:number){
            this.num = num
        }
        show(){
            console.log(`num == ${this.num}`);
        }
    }
    let t = new Total(110);
    //
    t.show(); 
    // 属性“num”为私有属性,只能在类“Total”中访问
    console.log(t.num); 
    
    

    相关文章

      网友评论

        本文标题:4、Typescript类的继承和修饰符

        本文链接:https://www.haomeiwen.com/subject/xhiouqtx.html