当前位置: 首页 > news >正文

关于类与构造函数继承的小挑战

题目

/*

  1. 使用构造函数将电动汽车(称为 EV)作为 Car 的子 “类 ”来实现。除了品牌和当前速度外,EV 还具有当前电池电量(百分比)(“charge ”属性);
  2. 实现一个 “chargeBattery ”方法,该方法接收一个参数 “chargeTo”,并将电池电量设置为 “chargeTo”;
  3. 执行一个 “accelerate ”方法,将汽车速度提高 20%,电量减少 1%。然后记录如下信息 BYD时速 140 公里,电量 22%";
  4. 创建一个电动汽车对象,并尝试调用 “加速”、“刹车 ”和 “充电”(充电至 90%)。注意 “加速 ”时会发生什么!提示:复习多态性的定义 😉
    数据车 1:“BYD”,时速 120 公里,电量 23
    祝你好运
    */

1

function Car(make, speed) {this.make = make;this.speed = speed;
}const EV = function (make, speed, charge) {this.make = make;this.speed = speed;this.charge = charge;
};

2

function Car(make, speed) {this.make = make;this.speed = speed;
}const EV = function (make, speed, charge) {this.make = make;this.speed = speed;this.charge = charge;
};EV.prototype.chargeBattery = function (chargeTo) {this.charge = chargeTo;
};

3

function Car(make, speed) {this.make = make;this.speed = speed;
}const EV = function (make, speed, charge) {this.make = make;this.speed = speed;this.charge = charge;
};EV.prototype = Object.create(Car.prototype);EV.prototype.chargeBattery = function (chargeTo) {this.charge = chargeTo;
};
Car.prototype.accelerate = function () {this.speed += 20;this.charge--;console.log(`BYD时速为${this.speed},电量剩余${this.charge}`);
};const BYD = new EV('BYD', 120, 23);
BYD.accelerate();

在这里插入图片描述

4

//刹车
Car.prototype.brake = function () {this.speed -= 5;console.log(`${this.make}的速度已经达到${this.speed}`);
};const EV = function (make, speed, charge) {this.make = make;this.speed = speed;this.charge = charge;
};EV.prototype = Object.create(Car.prototype);EV.prototype.chargeBattery = function (chargeTo) {this.charge = chargeTo;
};
Car.prototype.accelerate = function () {this.speed += 20;this.charge--;console.log(`BYD时速为${this.speed},电量剩余${this.charge}%`);
};const BYD = new EV('BYD', 120, 23);
BYD.accelerate();
BYD.brake();
BYD.accelerate();

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • bhyve安装win10第一篇:如何下载Win10 iso安装光盘
  • Java, 将 csv 中空值用上一行的值填充
  • c++异常处理(c++11版)与智能指针 SmartPtr 的应用(主讲shared_ptr浅实现)
  • “双指针”算法下篇
  • zabbix监控进程、日志、主从(状态、延迟)
  • spring security怎么解决用户的权限问题
  • 速盾:海外cdn加速可以https加密吗?
  • 数据库集群技术
  • Flask-RESTFul 之 RESTFul 的响应处理 之定制返回的 json格式
  • vue3插件原理
  • 监控领域的物理对抗攻击综述——Physical Adversarial Attacks for Surveillance: A Survey
  • C语言程序设计-联系篇
  • C++基础语法:异常处理(三)
  • 一起搭WPF界面之View的简单设计一
  • 文件硬盘数据销毁:守护信息安全的关键一步,文档销毁 数据销毁
  • [iOS]Core Data浅析一 -- 启用Core Data
  • __proto__ 和 prototype的关系
  • Electron入门介绍
  • Flannel解读
  • java8 Stream Pipelines 浅析
  • JavaScript HTML DOM
  • JSDuck 与 AngularJS 融合技巧
  • Mac 鼠须管 Rime 输入法 安装五笔输入法 教程
  • Python打包系统简单入门
  • react-core-image-upload 一款轻量级图片上传裁剪插件
  • Redis学习笔记 - pipline(流水线、管道)
  • Theano - 导数
  • Vue--数据传输
  • 编写高质量JavaScript代码之并发
  • 纯 javascript 半自动式下滑一定高度,导航栏固定
  • 你不可错过的前端面试题(一)
  • 三栏布局总结
  • 体验javascript之美-第五课 匿名函数自执行和闭包是一回事儿吗?
  • 小而合理的前端理论:rscss和rsjs
  • AI又要和人类“对打”,Deepmind宣布《星战Ⅱ》即将开始 ...
  • ​Distil-Whisper:比Whisper快6倍,体积小50%的语音识别模型
  • #pragma once
  • (1)Nginx简介和安装教程
  • (13)[Xamarin.Android] 不同分辨率下的图片使用概论
  • (3)STL算法之搜索
  • (4)事件处理——(6)给.ready()回调函数传递一个参数(Passing an argument to the .ready() callback)...
  • (c语言)strcpy函数用法
  • (C语言)逆序输出字符串
  • (JS基础)String 类型
  • (vue)页面文件上传获取:action地址
  • (二十一)devops持续集成开发——使用jenkins的Docker Pipeline插件完成docker项目的pipeline流水线发布
  • (理论篇)httpmoudle和httphandler一览
  • (深入.Net平台的软件系统分层开发).第一章.上机练习.20170424
  • (数据结构)顺序表的定义
  • (数位dp) 算法竞赛入门到进阶 书本题集
  • (转)Android学习系列(31)--App自动化之使用Ant编译项目多渠道打包
  • (转)fock函数详解
  • ***汇编语言 实验16 编写包含多个功能子程序的中断例程
  • .NET Core/Framework 创建委托以大幅度提高反射调用的性能
  • .NET LINQ 通常分 Syntax Query 和Syntax Method