美文网首页
10.继承方式一

10.继承方式一

作者: Fl_来看看 | 来源:发表于2019-06-06 13:27 被阅读0次
  • Student.prototype.constructor = Student;修改了原型对象,记得构造函数也得修改回,因为如果仅仅是这样Student.prototype = new Person();,不加上加粗的语句,Student.prototype的值为Person构造函数的实例,而构造函数构造实例的过程中要new Object(设为A),且返回A。所以实质上,Student.prototype===A,而A.constructor ===Object,所以Student.prototype.constructor===Object,改变了,所以要Student.prototype.constructor===Student
Student.prototype = new Person();
        Student.prototype.constructor = Student;
        修改了原型对象,记得构造函数也得修改回
function Person() {
            this.name = null;
            this.age = 0;
            this.say = function () {
                console.log(this.name, this.age);
            }
        }
        let per = new Person();
        per.name = "lnj";
        per.age = 34;
        per.say();

        // 在企业开发中如果构造函数和构造函数之间的关系是is a关系, 
        //那么就可以使用继承来优化代码, 来减少代码的冗余度
        // 学生 is a 人 , 学生是一个人
        
        //继承不能乱用,即使有共同的属性也不能用,
        //比如狗有姓名,但狗不是人,得学生 is a 人 , 学生是一个人~!
        function Student() {
            this.score = 0;
            this.study = function () {
                console.log("day day up");
            }
        }
        Student.prototype = new Person();
        Student.prototype.constructor = Student;

        let stu = new Student();
        stu.name = "zs";
        stu.age = 18;
        stu.score = 99;
        stu.say();
        stu.study();

这种方式有弊端:无法在new Student();设置name,age,say。

相关文章

  • 10.继承方式一

    Student.prototype.constructor = Student;修改了原型对象,记得构造函数也得修...

  • 12.继承方式二

    为了解决下面链接的弊端:无法在new Student();设置name,age,say。10.继承方式一 call...

  • 原型链最简单说明

    10.原型链实现继承 不搞那些概念性的东西,直接说结论了,实现继承的方式就是:将第一个构造函数的原型等于第二个构造...

  • 10.继承模式

    继承发展史: 1.传统形式 --> 原型链 过多的继承了没有用的属性 prototype 2.借用构造函数 不能继...

  • 10.继承初步

    1.什么是继承 2.为什么要使用继承 3.继承的基本语法特点 什么是继承? 1.在现实世界当中,继承就是儿子得到了...

  • 10.继承详解

    一、继承简介 1、继承是一种创建新类的方式,新建的类可称为子类或派生类,父类可称为基类或超类2、python支持多...

  • 原型继承

    原型链的继承 1.第一种继承方式(原型链继承) 2.第二种继承方式(第二种继承方式) 3.第三种继承方式(组合继承)

  • 10.组合vs继承

    1. 为什么不推荐使用继承? 虽然继承可以解决代码复用等的问题,但如果继承层次过深、过复杂,也会影响到代码的可维护...

  • 继承方式

    原型链继承: Child()的原型作为Parent()的实例来继承Parent()的方法属性 因为所有实例都继承原...

  • 继承方式

    1.简单原型链 优点:简单,易于实现缺点: 修改sub1.arr后sub2.arr也变了,因为来自原型对象的引用属...

网友评论

      本文标题:10.继承方式一

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