博客详情

typescript(四)--ts中类、对象、静态方法、继承 (原创)

作者: 朝如青丝暮成雪
发布时间:2018-07-15 09:16:24  文章分类:typescript   阅读(5701)  评论(0)

如题,本篇介绍下ts中类 、对象 、静态方法 、继承、类中成员返回修饰符等。

ts中类继承类似于传统面向对象编程语言中的继承体系 ,使用extends关键字继承,类中this表示此当前对象本身,super表父类对象。子类构造函数中第一行代码调用父类构造函数完成初始化,然后再进行子类的进一步初始化。子类中可以访问父类(public、protected)的成员属性、方法。


02_class.ts 


/*
* ts中类 对象 静态方法 继承
*
* ts中类继承类似于传统面向对象编程语言中的继承体系 ,使用extends关键字继承,
* 类中this表示此当前对象本身,super表父类对象。
*
* */

 //es5中类
 // function Perosn(name,age){
 //      this.name=name;
 //      this.age=age;
 //
 //      this.sayHi=function(){
 //          return "hi,我的姓名是:"+this.name+",我年龄是:"+this.age;
 //      }
 // }
 //
 // var p=new Perosn("张三",22);
 // console.log(p.sayHi());

 //ts 中类

 class Person{
     name:string ;//实例属性
     age:number;//实例属性
     //构造函数
     constructor(name,age){
         this.name=name;
         this.age=age;
     }
     //实例方法
     sayHi(){
         return "hi,我的姓名是:"+this.name+",我年龄是:"+this.age;
     }
     //静态方法
     static hello(){
         console.log("hello!!");
     }
     //静态属性
     static  PI:number=Math.PI;
     //静态方法中可以返回静态属性,,静态成员只能使用类名.静态成员的方式进行访问。
     static area(r:number){
         return Person.PI * r*r;
     }
 }
//计算r为3的圆的面积 ,调用静态方法不需要new实例对象,直接用类名.静态方法调用即可。
console.log(Person.area(3)); //28.274333882308138
//new 对象
var p = new Person("张三", 22);
//调用对象的(实例)方法
console.log(p.sayHi());

class Student extends Person{
    score:number;//学生成绩,新的成员属性

    constructor(name,age,score){
        //子类调用父类构造函数进行初始化
        super(name,age);
        this.score=score;
    }

    //子类重写(覆盖)父类中的方法
    sayHi(){
        return "hi,我的姓名是:"+this.name+",我年龄是:"+this.age+",我的成绩是:"+this.score;
    }

    //子类中扩展的方法
    study(){
        return this.name+"在学习";
    }
}

var stu=new Student("李四",24,90);
console.log(stu.sayHi());
console.log(stu.study());
/*
关于类中成员访问修饰符:
ts类中成员(成员属性、成员方法)的访问修饰符,类似于java中类成员的访问修饰符,不同的是ts中默认是被public修饰。
public :公有          在当前类里面、 子类  、类外面都可以访问
protected:保护类型    在当前类里面、子类里面可以访问 ,在类外部没法访问
private :私有         在当前类里面可以访问,子类、类外部都没法访问

属性如果不加修饰符 默认就是公有(public)
*/





关键字:  ts  typescript
评论信息
暂无评论
发表评论

亲,您还没有登陆,暂不能评论哦! 去 登陆 | 注册

博主信息
   
数据加载中,请稍候...
文章分类
   
数据加载中,请稍候...
阅读排行
 
数据加载中,请稍候...
评论排行
 
数据加载中,请稍候...

Copyright © 叮叮声的奶酪 版权所有
备案号:鄂ICP备17018671号-1

鄂公网安备 42011102000739号