zoukankan      html  css  js  c++  java
  • js原生设计模式——2面向对象编程之继承—new类式继承

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>classInherit</title>
        <script type="text/javascript">
        //声明父类
        function superClass(){
            this.name = 'Lucy';
        }
        superClass.prototype.getName = function(){
            console.log(this.name);
        }
        //声明子类
        function subClass(){
            this.subname = 'Lilei';
            this.books = ['html','css','js'];
        }
        //类式继承
        subClass.prototype = new superClass();
        //注:一定要先继承,再添加子类原型方法,否则子类的实例调用子类原型方法时会报错:function is not defined
        subClass.prototype.getSubName = function(){
            console.log(this.subname);
        }
        //将子类的prototype原型constructor属性的指向修正为subClass子类,否则继承后默认指向了父类的原型上,会出问题
        subClass.prototype.constructor = subClass;
        //实例化对象测试
        var test1 = new subClass();
        var test2 = new subClass();
        console.log(test1.name);       //Lucy
        console.log(test1.subname);    //Lilei
        test1.getName();               //Lucy
        test1.getSubName();            //Lilei
        // console.log(test1.books);
        test1.books.push('php');
        console.log(test1.books);   //输出:["html", "css", "js", "php"]
        console.log(test2.books);   //输出:["html", "css", "js"]
                                    // 两个实例之间不会影响
        //本例已经通过验证
        </script>
    </head>
    <body>
        
    </body>
    </html>

  • 相关阅读:
    【转】IDEA2019.1.3版本破解
    Docker部署Vue
    Docker使用
    MySql触发器
    JVM 理论基础目录(待更新,系列完全写完后会统一整理好)
    JVM 5 JAVA 垃圾回收机制
    JVM 运行时数据区:程序计数器、Java 虚拟机栈和本地方法栈,方法区、堆以及直接内存
    JVM 整体流程介绍
    JVM 入门指南
    Linux 常用命令(根据自己的理解随时更新)
  • 原文地址:https://www.cnblogs.com/koleyang/p/4936574.html
Copyright © 2011-2022 走看看