typeScript面试必备之-通识三:typeScript中的对象+继承

1、最简单的类

2、构造函数和原型链里面增加方法

构造函数 原型链

    var p=new Person();
        alert(p.name);//undefined
        p.run();///undefined在运动
        p.work();//undefined在工作
       构造函数不会属性共享体现在如下:(原型链上面的所有属性都是共有的)
       p.name='hu'
        p.run();//hu在运动
        var pp=new Person();
        pp.run();//undefined在运动
复制代码

3、类里面的静态方法

Person.getInfo=function(){
           alert('我是静态方法');
         }
        // 调用静态方法
        // Person.getInfo();
复制代码

4、es5里面的继承 对象冒充实现继承
Web类 继承Person类 原型链+对象冒充的组合继承模式

     var w=new Web();
     w.run();  //对象冒充可以继承构造函数里面的属性和方法
复制代码

值得注意的是run 是构造函数的方法,work是原型链的方法,实例化的对象w只有run的方法没有work的方法,因此 对象冒充可以继承构造函数里面的属性和方法 但是没法继承原型链上面的属性和方法。
那样这会有一个思考点,下面的pp可以有work?
答案是肯定的,因为work是在Person的原型链上,因此必然有和这个方法,这个区别于继承

  var pp=new Person();
    pp.work()
 
复制代码

5、es5里面的继承 原型链实现继承

var w=new Web('赵四',20); 
w.run//undefined在运动。
复制代码

6.原型链+对象冒充的组合继承模式

  function Web(name,age){

         Person.call(this,name,age);   //对象冒充继承   实例化子类可以给父类传参
     }

    Web.prototype=new Person();//原型链实现继承
复制代码

7.原型链+对象冒充继承的另一种方式

 function Web(name,age){
        Person.call(this,name,age);   //对象冒充继承  可以继承构造函数里面的属性和方法、实例化子类可以给父类传参
    }
    Web.prototype=Person.prototype;
复制代码

感谢: 参考学习:https://www.itying.com:
自己总结到有道云笔记里面有更加清楚的标注方便查阅:
* Typescript 介绍
http://note.youdao.com/noteshare?id=c3e0d5810580041ade028a345519ce96&sub=E882CE350AC94C5596B146908C406274 * typeScript中的数据类型
http://note.youdao.com/noteshare?id=a07dd9a55779068d9409b79014a9a409&sub=CE3DA74B1A27412792DF9BB8F74E8E24 * typeScript中的函数
http://note.youdao.com/noteshare?id=adc64e95404f3c382c7549f05841c7b2&sub=65D365DE900049A28DD4697B61A5544A * 对象+继承
http://note.youdao.com/noteshare?id=7f82be21375761c13ccad1981510a614&sub=7856743A59934A59A1AA608AA78497F0 * 类的定义、继承、类里面的修饰符 http://note.youdao.com/noteshare?id=a4420ac729d8cc7c1eb72fc47198f00b&sub=399974DBD9FA4EC2A99548D8837CB61F * 静态属性 静态方法 抽象类多态
http://note.youdao.com/noteshare?id=efad91320514e4f21e07ec77a9bcfd7c&sub=DC3868B8459940CA884DC5B80EE25443
* typeScript中的接口
http://note.youdao.com/noteshare?id=ae4c7f13bec8e35b3fda4e326d7e7055&sub=6001FADE75904080A15395886608D366 * 可索引接口(数组,对象)+类类型接口
http://note.youdao.com/noteshare?id=aebf26ab922044a69cae082866ce8d86&sub=F73FB04DD10C4BA796173FBE40280B21
* 接口的继承、接口的扩展
http://note.youdao.com/noteshare?id=93e1dff481b8e299ee9c925e8e3a8b4a&sub=3C96456BFAA34C28BA6BB4E0B0C1E77B * 泛类
http://note.youdao.com/noteshare?id=6d9e0ec4cdb17249bf1bb11fae2e44ec&sub=B0C47B2089AC42E48C2E1BAAAD3FE9EF * 泛型接口
http://note.youdao.com/noteshare?id=49af2ba1bd6173467e7c7b844def959b&sub=F16F0C2857E347C0B8FB69522D5DEFA2
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值