码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • js——继承


    原型继承

    1)核心: 将父类实例作为子类原型
    2)优点: 方法复用
    3)缺点:
    1、创建子类实例的时候,不能传参
    2、子类实例共享了父类的构造函数的引用属性,比如foods
    3、无法实现多继承

    		//父类
            function School(name,foods){
       
                this.name=name
                this.foods=['甜品']
                this.person=function(){
       
                    console.log(this.name+'吃'+this.foods);
                }
            }
            //父类原型对象添加方法
            School.prototype.print=function(){
       
                console.log(this.name,this.foods);
            }
            //子类
            function Student(){
       }
            //原型继承
            Student.prototype=new School()
            //纠正constructor指向
            Student.prototype.constructor=Student
            //创建实例
            let stu1=new Student()
            let stu2=new Student()
            stu1.name='jack'
            stu1.foods.push('罐头')
            console.log(stu1.name);
            console.log(stu1.foods);
            stu1.person()
            stu1.print()
            console.log('——————————————————————————————————————————————');
            stu2.name='rose'
            stu2.foods.push('香蕉')
            console.log(stu2.name);
            console.log(stu2.foods);
            stu2.person()  
            stu2.print()  
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38

    构造函数继承

    1)核心: 借用父类的构造函数来增强子类实例,等于复制父类的实例属性给子类
    2)优点: 实例之间独立
    1、创建子类实例,可以向父类构造函数传参数。
    2、子类实例不共享父类的构造函数的引用属性。如foods属性
    3、可实现多继承(通过多个call或者apply继承多个父类)
    3)缺点
    1、父类的方法不能复用
    由于方法再父构造函数中定义,导致方法不能复用(因为每次创建子类实例都要创建一遍方法)
    2、子类实例,继承不了父类原型上的属性(因为没有用到原型)

    		function School(name,foods){
       
                this.nam
    • 1
    • 2
  • 相关阅读:
    图、图的遍历、最小生成树、最短路径
    RUST 每日一省:闭包
    mac显示器如何显示docker container中的gui请求
    java游戏服务器性能压测神器:jprofiler
    2216. 美化数组的最少删除数 --力扣 --JAVA
    堪称经典,一个非常适合初学者的机器学习实战案例
    SQL SELECT DISTINCT(选择不同) 语法
    【Leetcode】469. Convex Polygon
    详细教程。2022年滁州市明光市、来安县等各地区高新技术企业申报
    串行协议——USB驱动[基础]
  • 原文地址:https://blog.csdn.net/weixin_46051260/article/details/126420400
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号