类与Object.create之间的继承

2024-08-30 08:28
文章标签 object 继承 之间 create

本文主要是介绍类与Object.create之间的继承,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

前言

● 下面是一段之前学习Object.create的一段代码

const PersonProto = {calcAge() {console.log(2037 - this.birthYear);},init(firstName, birthYear) {this.firstName = firstName;this.birthYear = birthYear;}
};

const zhangsan = Object.create(PersonProto);
● 和之前一样,我们创建学生的继承

const PersonProto = {calcAge() {console.log(2037 - this.birthYear);},init(firstName, birthYear) {this.firstName = firstName;this.birthYear = birthYear;}
};const zhangsan = Object.create(PersonProto);const StudentProto = Object.create(PersonProto);
const ITshare = Object.create(StudentProto);
ITshare.init('ITshare', 2005);

在这里插入图片描述

● 和之前一样,学生的类可以添加新的方法

const PersonProto = {calcAge() {console.log(2037 - this.birthYear);},init(firstName, birthYear) {this.firstName = firstName;this.birthYear = birthYear;}
};const zhangsan = Object.create(PersonProto);const StudentProto = Object.create(PersonProto);
StudentProto.init = function (firstName, birthYear, course) {PersonProto.init.call(this, firstName, birthYear);this.course = course;
};
const ITshare = Object.create(StudentProto);
ITshare.init('ITshare', 2005, '计算机科学与技术');

在这里插入图片描述

● 像之前一样,写一段介绍的方法,可以调用原型链中的方法

//对象继承
const PersonProto = {calcAge() {console.log(2037 - this.birthYear);},init(firstName, birthYear) {this.firstName = firstName;this.birthYear = birthYear;}
};const zhangsan = Object.create(PersonProto);const StudentProto = Object.create(PersonProto);
StudentProto.init = function (firstName, birthYear, course) {PersonProto.init.call(this, firstName, birthYear);this.course = course;
};StudentProto.introduce = function () {console.log(`我的名字叫${this.firstName},我的专业是${this.course}`);
};
const ITshare = Object.create(StudentProto);
ITshare.init('ITshare', 2005, '计算机科学与技术');ITshare.introduce();
ITshare.calcAge();

在这里插入图片描述

这篇关于类与Object.create之间的继承的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1120301

相关文章

深入探讨Java 中的 Object 类详解(一切类的根基)

《深入探讨Java中的Object类详解(一切类的根基)》本文详细介绍了Java中的Object类,作为所有类的根类,其重要性不言而喻,文章涵盖了Object类的主要方法,如toString()... 目录1. Object 类的基本概念1.1 Object 类的定义2. Object 类的主要方法3. O

day-51 合并零之间的节点

思路 直接遍历链表即可,遇到val=0跳过,val非零则加在一起,最后返回即可 解题过程 返回链表可以有头结点,方便插入,返回head.next Code /*** Definition for singly-linked list.* public class ListNode {* int val;* ListNode next;* ListNode() {}*

【每日一题】LeetCode 2181.合并零之间的节点(链表、模拟)

【每日一题】LeetCode 2181.合并零之间的节点(链表、模拟) 题目描述 给定一个链表,链表中的每个节点代表一个整数。链表中的整数由 0 分隔开,表示不同的区间。链表的开始和结束节点的值都为 0。任务是将每两个相邻的 0 之间的所有节点合并成一个节点,新节点的值为原区间内所有节点值的和。合并后,需要移除所有的 0,并返回修改后的链表头节点。 思路分析 初始化:创建一个虚拟头节点

JavaSE——封装、继承和多态

1. 封装 1.1 概念      面向对象程序三大特性:封装、继承、多态 。而类和对象阶段,主要研究的就是封装特性。何为封装呢?简单来说就是套壳屏蔽细节 。     比如:对于电脑这样一个复杂的设备,提供给用户的就只是:开关机、通过键盘输入,显示器, USB 插孔等,让用户来和计算机进行交互,完成日常事务。但实际上:电脑真正工作的却是CPU 、显卡、内存等一些硬件元件。

linux中使用rust语言在不同进程之间通信

第一种:使用mmap映射相同文件 fn main() {let pid = std::process::id();println!(

【Python报错已解决】AttributeError: ‘list‘ object has no attribute ‘text‘

🎬 鸽芷咕:个人主页  🔥 个人专栏: 《C++干货基地》《粉丝福利》 ⛺️生活的理想,就是为了理想的生活! 文章目录 前言一、问题描述1.1 报错示例1.2 报错分析1.3 解决思路 二、解决方法2.1 方法一:检查属性名2.2 步骤二:访问列表元素的属性 三、其他解决方法四、总结 前言 在Python编程中,属性错误(At

O(n)时间内对[0..n^-1]之间的n个数排序

题目 如何在O(n)时间内,对0到n^2-1之间的n个整数进行排序 思路 把整数转换为n进制再排序,每个数有两位,每位的取值范围是[0..n-1],再进行基数排序 代码 #include <iostream>#include <cmath>using namespace std;int n, radix, length_A, digit = 2;void Print(int *A,

16 子组件和父组件之间传值

划重点 子组件 / 父组件 定义组件中:props 的使用组件中:data 的使用(有 return 返回值) ; 区别:Vue中的data (没有返回值);组件方法中 emit 的使用:emit:英文原意是:触发、发射 的意思components :直接在Vue的方法中声明和绑定要使用的组件 小炒肉:温馨可口 <!DOCTYPE html><html lang="en"><head><

数据流与Bitmap之间相互转换

把获得的数据流转换成一副图片(Bitmap) 其原理就是把获得倒的数据流序列化到内存中,然后经过加工,在把数据从内存中反序列化出来就行了。 难点就是在如何实现加工。因为Bitmap有一个专有的格式,我们常称这个格式为数据头。加工的过程就是要把这个数据头与我们之前获得的数据流合并起来。(也就是要把这个头加入到我们之前获得的数据流的前面)      那么这个头是

七、Maven继承和聚合关系、及Maven的仓库及查找顺序

1.继承   2.聚合   3.Maven的仓库及查找顺序