typescript 四 –ts中类 对象 静态方法 继承

首先给大家推荐一下我老师大神的人工智能教学网站。教学不仅零基础,通俗易懂,而且非常风趣幽默,还时不时有内涵黄段子!点这里可以跳转到网站

如题,本篇介绍下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)*/

点这里可以跳转到人工智能网站

发表评论