首页 > 编程语言 >【JavaScript26】继承

【JavaScript26】继承

时间:2023-08-08 21:47:08浏览次数:39  
标签:function name proto 继承 JavaScript26 fish Cat prototype

  • JS中实现继承,只需要改变函数的原型链即可
  • 示例
 function Cat(name){
    this.name = name;
}
Cat.prototype.eat_fish = function(fish){
    console.log(this.name, "在吃", fish);
};


function BosiCat(name){
    this.name = name;
}
BosiCat.prototype.dance = function(){
    console.log(this.name, "波斯猫会跳舞");
};


function YingDuanCat(name){
    this.name = name;
}
YingDuanCat.prototype.sajiao = function(){
    console.log(this.name, "英短猫撒娇");
};

// 继承关系
BosiCat.prototype.__proto__ = Cat.prototype;
// 波斯猫, 继承猫
var c1 = new BosiCat("xwl");
c1.dance();
// c1.__proto__.__proto__ = Cat.prototype;
c1.eat_fish("马步鱼"); // eat_fish 是 c1.__proto__.__proto__上的

// 英短猫, 继承猫
YingDuanCat.prototype.__proto__ = Cat.prototype;
var c2 = new YingDuanCat("杰克");
c2.sajiao();
c2.eat_fish('多春鱼');

标签:function,name,proto,继承,JavaScript26,fish,Cat,prototype
From: https://www.cnblogs.com/xwltest/p/17610280.html

相关文章

  • C++类和对象_继承
    继承概述作为面向对象的三大特性之一,继承(inheritance)是面向对象编程中代码复用的一种重要手段。继承是类设计层面的一种复用,它允许在保证原有类性质不变的基础上对其进行扩展新的属性和功能,产生新的类。例如,在类person中定义关于‘人’的基本属性和行为,以person为基础扩展......
  • c#学习笔记-------------继承和抽象类
    类继承通过继承我们可以定义一个新类,新类纳入一个已经声明的类并进行扩展继承是面向对象的编程的一种基本特性。借助继承,能够定义可重用(继承)、扩展或修改父类行为的子类。成员被继承的类称为基类。继承基类成员的类称为派生类。C#和.NET只支持单一继承。也就是说,类只能......
  • 继承
    继承newTeacher对象,创建内存空间执行构造方法先执行父类的构造方法(出发子类的构造方法,由于是继承的,然后触发父类的构造方法)子类的构造方法......
  • 一个类继承一个单例还是单例的实现
    classA{static$inc;privatefunction__construct(){}privatefunction__clone(){}publicstaticfunctionget_self(){if(!(self::$incinstanceofself)){self::$inc=newself();}returnself::$inc;}......
  • 华为发布数字资产继承功能
    在华为开发者大会2023(HDC.Together)上,华为常务董事、终端BGCEO、智能汽车解决方案BUCEO余承东正式发布了数字资产继承功能,HarmonyOS提供了安全便捷的数字资产继承路径。在鸿蒙世界中,我们每个人在每台设备、应用中都沉淀了大量的数字资产,包括信息类资产,比如消息、照片、联系人、......
  • 封装、继承、多态及重载
    1.封装​封装是面向对象的核心思想,将对象的属性和行为封装起来,不需要让外界知道具体实现细节,避免了外界直接访问对象属性而造成耦合度过高及过度依赖,同时也阻止了外界对对象内部数据的修改而可能引发的不可预知错误。例子1:封装后通过实例化来访问类里边的变量例子2:封......
  • 前端学习笔记202306学习笔记第三十七天-js-ES6中得继承
     ......
  • 128.用C语言实现C++的继承
    128.用C语言实现C++的继承#include<iostream>usingnamespacestd;//C++中的继承与多态structA{virtualvoidfun()//C++中的多态:通过虚函数实现{cout<<"A:fun()"<<endl;}inta;};structB:publicA//C++中的继承:B类公有继......
  • Python基础day57 Django模板继承和模型层
    模板之标签就是在模板里面使用流程控制:if、else、elseif、for标签看起来是这样的:{%tag%}for标签{%forpersoninperson_list%}{{forloop}}<p>{{person.name}}</p>{%endfor%}{%forpersoninperson_list%}{#判断list是否有值,没有就走empty#}......
  • C++逆向分析——继承与封装
    面向对象程序设计之继承与封装之前已经学习过继承和封装了,但是要在实际开发中使用,光学语法和原理是不够的,在设计层面我们需要做一些优化。如下代码是继承的例子:#include<stdio.h>classPerson{public:intAge;intSex;voidWork(){printf("Person:Work()"......