对象继承训练(1)

别再被mmcv和mmseg升级搞崩溃了!手把手教你从1.x平滑迁移到2.x(附完整API对照表) 本文详细解析了从MMSegmentation 1.x到2.x的平滑迁移方法,重点解决了版本升级中的常见报错问题。通过架构变革分析、API重构指南和实战案例,帮助开发者高效完成迁移,避免因mmcv和mmseg升级导致的崩溃问题。 阅读详情

上节课我们已经了解了prototype的基本使用:http://blog.youkuaiyun.com/github_26672553/article/details/54375735。

本节课,我们来完成对象的继承训练。

上节课课后作业(训练prototype)

var God = new GodClass({
version:’1.0’,
});
在这里我们执行alert(God.version)
请设定一个GodClass.init方法,在该方法中传入参数,后面的任何实例对象不传参数也有version这个属性

var GodClass = function abc(obj){
    if(this instanceof abc){

        if(obj != undefined){
            //把obj中的可枚举属性赋值给this
            Object.assign(this,obj); //注意:这个this,必须在你实例化GodClass之后才会产生
        }

    }else{
        alert('不要胡搞');
    }
}

var God = new GodClass({version:'1.0'});
alert(God.version); //弹出 '1.0'

上面代码是可以的。

下面我们完成作业,通过一个类似静态函数的方式,修改GodClass类

var GodClass = function abc(obj){
    if(this instanceof abc){

        if(obj != undefined){
            //把obj中的可枚举属性赋值给this
            Object.assign(this,obj); //注意:这个this,必须在你实例化GodClass之后才会产生
        }

    }else{
        alert('不要胡搞');
    }
}

//定义一个init方法
GodClass.init = function(obj){
    if(obj != undefined){
        Object.assign(this.prototype,obj); //注意:这里是把obj对象的属性赋值给了this的prototype
    }
}

注意,我们给GodClass增加了一个init方法,该方法接收一个对象,我们把对象中的属性赋值给了原型(prototype)上。

以后我们只需要调用一次init方法后,后面再实例化GodClass就不必传入参数了:

//然后我们可以通过类似静态函数的方法传入参数
GodClass.init({version:'1.0'});

//这里实例化的时候可不传入参数
var God = new GodClass();
alert(God.version); //弹出 '1.0'

这节课我们来训练所谓的对象继承

关键点 Function.prototype.call()
方法在使用一个指定的this值和若干个指定的参数值的前提下调用某个函数或方法

//基类
var BaseNews = function () {
    this.display = function(){
        alert('新闻基类');
    };
}

var SportsNews = function () {

    BaseNews.call(this); //这样就继承了BaseNews类中的方法
}

我们使用SportsNews类:

//实例化
var sn = new SportsNews();
sn.display(); //发现确实存在这个方法

我们还可以通过另外的方式来扩展
除了在SportsNews中,还可以直接在Function的原型上增加扩展,修改如下:

//基类
var BaseNews = function () {
    this.display = function(){
        alert('新闻基类');
    };
}

//给Function进行扩展
Function.prototype.extends = function (className) {
    className.call(this.prototype);
}

//定义SportsNews
var SportsNews = function () {
}

上面代码可以看出,我们给Function.prototype增加了extends方法,此方法就是用来扩展类的。
因为增加在原型上所以SportsNews也有该方法,我们来扩展SportsNews:

//扩展SportsNews
SportsNews.extends(BaseNews);

//实例化
var sn = new SportsNews();
sn.display(); //发现确实存在这个方法

这个时候,发现实例化后的SportsNews对象,还是有display方法,因为extends方法,是call了基类的原型。

类的继承编程训练1—储蓄卡与信用卡 **【训练1】**储蓄卡与信用卡 创建银行卡类,并设计银行卡的两个子类:储蓄卡与信用卡。 BankCard类 package java_继承_多态抽象类_接口; public class BankCard { //银行卡类 String cardNum; //卡号 public void savemoney() { System.out.println("您的卡号为"+cardNum+",银行卡可以存钱"); //功能 } } CreditCard类 阅读详情

相关推荐

Python:类与对象训练题

完成下列小题 1)创建Person类,属性有姓名、年龄、性别,创建方法personInfo,打印这个人的信息 2)创建Student类,继承Person类,属性有学院college ,班级class,重写父类personInfo方法,调用父类方法打印个人信息外,将学生的学院、班级信息也打印出来, 创建方法study参数为Teacher对象,调用Teacher类的teachObj方法,接收老师教授的知识点,然后打印‘老师xxx,我终于学会了!’xxx为老师的teach方法返回的信息。 重写__str__方法,

Alphy_Hongwu的博客 3587

【训练4】输出NBA球队信息(1、创建一个泛型主类,主类中的主方法,创建本类的两种类型的对象;2、创建两个子类,继承String的泛型主类,重写给队名和获胜时间赋值的方法)

【训练4】输出NBA球队信息(1、创建一个泛型主类,主类中的主方法,创建本类的两种类型的对象;2、创建两个子类,继承String的泛型主类,重写给队名和获胜时间赋值的方法)

qq_43118674的博客 177

PyTorch学习之路(level1)——训练一个图像分类模型

这是一个适合PyTorch入门者看的博客。PyTorch的文档质量比较高,入门较为容易,这篇博客选取官方链接里面的例子,介绍如何用PyTorch训练一个ResNet模型用于图像分类,代码逻辑非常清晰,基本上和许多深度学习框架的代码思路类似,非常适合初学者想上手PyTorch训练模型(不必每次都跑mnist的demo了)。接下来从个人使用角度加以解释。解释的思路是从数据导入开始到模型训练结束,基本上就

AI之路 5万+

python开发的软件如何在win下运行-怎么样在windows下运行Python文件

在swig/python目录里有一个readme,你参考着做一次编译就可以成生。1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768#!/usr/bin/env pythonimport crfsu...

weixin_37988176的博客 240

java_day7练习作业(面向对象下-1)

练习 练习1(继承) 1.1.训练描述: 一、分析以下需求,并用代码实现: 1.定义Person类 属性:姓名name、年龄age; 方法:空参构造方法、满参构造方法、setXxx()、getXxx()、工作work。 2.根据人类,派生一个老师类Teacher 重写工作方法(老师的工作是要好好讲课)。 3.根据人类,派生一个学生类Student 重写工作方法(学生...

2189

线性模型:AR、MA、ARMA、ARMAX、ARX、ARARMAX、OE、BJ等

线性模型:AR、MA、ARMA、ARMAX、ARX、ARARMAX、OE、BJ等

zephyr_wang的博客 1万+

大厂面试题备份20250126

L1 正则化:有助于特征选择,生成稀疏模型,部分权重变为零。L2 正则化:平滑模型,所有特征的权重都被压缩但不会变为零,适用于防止过拟合。这两者可以结合使用,形成ElasticNet正则化,综合了 L1 和 L2 的优点。常见的选择:一般情况下,k = 5 或 k = 10 是一个常见且合理的选择,适用于大部分任务和数据集。小数据集:如果数据集非常小,选择更大的 k 值(例如 k = 10)有助于减少评估的偏差。大数据集。

qq_45934039的博客 733

内网穿透-frp二层隧道搭建

环境: weblogic: 192.168.0.133 10.10.20.12 win7 : 10.10.20.7 10.10.10.7go语言、跨平台的 可以分为frpc和frps frpc—>请求----->frps frps:放到黑客公网上 1.需要出网 2.配置: frpc:放到肉鸡上,请求frps 2.端口转发 2.1frpc传到肉鸡(weblogic) 利用工具,传入内存马到weblogic,然后使用冰蝎进行连接 然后在文件管理中上传frpc.exe和frpc.ini文件 fr

yyytaotao的博客 2100

【C++】继承深度解析:继承方式和菱形虚拟继承的详解

本文系统讲解了 C++ 中的继承机制,包括单继承、多继承、菱形继承及虚拟继承,配合图解和代码示例直观展示各类继承的对象模型、内存布局及访问特点,重点说明虚拟继承如何通过共享基类实例、虚基表偏移和构造顺序,解决菱形继承的数据冗余与二义性问题。

qq_2778465975的博客 2842

SAP ABAP MIGO增强实战:自定义页签与字段的完整实现指南

本文详细介绍了SAP ABAP中MIGO增强的实战指南,包括自定义页签与字段的完整实现步骤。通过BADI增强技术,开发者可以快速满足企业个性化需求,如添加供应商批次号等特殊字段。文章涵盖数据存储结构设计、BADI框架实现、核心方法编写及数据持久化方案,帮助用户高效完成MIGO屏幕增强开发。

study的专栏 773

使用MeshLab高效对齐3D模型:从OBJ导入到坐标修正全流程

本文详细介绍了使用MeshLab高效对齐3D模型的全流程,涵盖从OBJ导入、坐标修正到最终导出的核心步骤。通过将模型中心归位至坐标原点,并利用主轴对齐功能快速摆正模型,为后续的3D打印、体素化等处理奠定精确的几何基础。

weixin_29313423的博客 92

java小白训练营day06-OOP:面向对象+封装+继承+多态

面向对象 面向过程和面向对象的区别? OPP Procedure Oriented Programming OOP Object Oriented Programming 面向对象的三大特征 封装、继承、多态 封装 encapsulation 继承 inheritance 多态 polymorphism

长安紫薯的专栏 572

Codex 接入国产大模型完整指南:CC-Switch 与 Codex++ 的工程化选型

Codex 默认走 OpenAI Responses API,而 DeepSeek、GLM、Kimi 等国产模型只提供 OpenAI-compatible 的 Chat Completions——两套协议在消息结构、流式响应、reasoning 字段、tool call 上都不兼容,所以"改个 Base URL + 填国产 Key"这种朴素操作根本跑不通。本文从架构师视角出发,把 Codex 接入国产大模型这件事讲透:先剖析协议链路到底卡在哪,再对比 CC-Switch和 Codex++两套主流方案的差异

少说,多做 3843

java小白训练营2109-day06-OOP:面向对象+封装+继承+多态

文章目录面向对象面向过程和面向对象的区别?案例:把大象装入冰箱案例:我去超市买葡萄、水饺面向对象的三大特征封装 encapsulationjava语言中如何体现封装继承 inheritance多态 polymorphism 面向对象 面向过程和面向对象的区别? 案例:把大象装入冰箱 面向过程的思考方式: 案例:我去超市买葡萄、水饺 面向对象的三大特征 封装、继承、多态 封装 encapsulation java语言中如何体现封装 继承 inheritance 多态 polymorphism ...

长安紫薯的专栏 760

Python 爬虫实战:共享单车数据采集全流程与市场洞察深度剖析

本文介绍了如何利用Python爬虫技术获取和分析共享单车运营数据。文章从项目背景出发,详细阐述了系统架构设计,包括数据抓取、清洗存储、分析和可视化模块。通过Scrapy、BeautifulSoup等工具实现数据采集,使用Pandas进行数据清洗,并借助Matplotlib进行可视化分析。实战部分展示了爬虫代码示例和城市分布、使用频率等分析案例。最终指出数据驱动分析有助于了解行业现状和市场趋势,未来可结合机器学习等方法进行深入洞察。该技术方案为共享单车行业研究提供了有效的数据支持。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 2231

基于ArduPilot的旋翼式无人机飞行器开发系列(二,学习路线)

一,热爱 作为一名耿直的技术男,在这里我只想说一句,热爱是可持续学习的第一要素,也只有热爱才能让你坚持到最后。 至于最后能得到什么,只有你自己知道。常说书中自有颜如玉,书中自有黄金屋。如果你是为了颜如玉,我相信大多数颜如玉做不了你的红颜知己。如果是为了黄金屋,当你持续投入时间和金钱却看不到回报的时候,相信退堂鼓早已隆隆作响。 我给自己的信条就是为当下努力工作,为将来持续学习。当前飞控行业并没有爆发,如果想赚块钱,去互联网汽车,去VR/AR吧,去元宇宙吧。 那么我热爱...

从0到1,突破自己 1665

对象继承训练(2):继承后可以调用父类方法

上节课(http://blog.youkuaiyun.com/github_26672553/article/details/54890416),我们做了一个js的简单的继承。所谓的继承1、js中并没有类似java或者php一样的类继承 2、仅仅是通过一些『模拟方法』使得看起来好像是继承。因此方法很多,大家可以百度一下。 3、今天我们要实现的是,怎么让子类可以调用父类的方法?回顾上节课我们的简单的『继承』

1706

基于Simulink的占空比调制DTC降低转矩脉动

修改传统SVPWM模块,输入占空比d和有效矢量索引,计算Ton​=d∗Tc​、Toff​=(1−d)∗Tc​,生成对称PWM波形(替代开关表直接输出)。:低速时(n<500rpm)减小dmax​=0.6(避免磁链畸变),高速时(n>2000rpm)增大dmax​=0.8(提升动态响应);kT​/kψ​:转矩/磁链误差增益(需整定,如kT​=0.02/(N⋅m),kψ​=0.1/Wb);(θ为电压矢量与磁链夹角)。② SVM-DTC(占空比计算模块启用,d0​=0.5,kT​=0.02,kψ​=0.1)。

amy_mhd的博客 87

python中组合与继承的区别_python类与对象的组合与继承

1、把类的对象实例化放到一个新的类里面叫做类的组合,组合就是指几个横向关系的类放在一起,纵向关系的类放在一起是继承,根据实际应用场景确定。简单的说,组合用于“有一个”的场景中,继承用于“是一个”的场景中。例如,水池里有一个乌龟,天上有一个鸟,地上有一个小甲鱼,这些适合使用组合。青瓜是瓜,女人是人,鲨鱼是鱼,这些就应该使用继承啦实例如下:class Turtle:def __init__(self,...

weixin_39609527的博客 489

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

(Java)继承与多态基础训练

【基础训练 1】类的继承 【目标】理解属性的隐藏与方法覆盖的概念。 (1) 继承关系中的覆盖与重载问题 (2)在子类中增加一个方法和 parent 类一样,为了显示差别, 在输出上加处理: void m( ) { System.out.println("x=" + x); } 重新编译运行程序,观察结果变化,理解方法的覆盖关系 在此处,由于子类重写了父类的方,所以a.m()调用的是自己的方法和属性。 (3)在子类方法中,加入通过 super 引用访问父类方法和属性的代码:

qq_44119514的博客 409

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

继承和派生

继承和派生

一怀明月的博客 1715

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

第五章 继承、多态、抽象类与接口 课后训练(1)

使用继承展示经过人工包装的水果与普通水果在价格上的区别。创建银行卡类,并设计他的两个字类:储蓄卡类与信用卡类。

qq_62387839的博客 593

面向对象编程:封装、继承、多态学习

本文主要讲述了面向对象编程的步骤以及概念,封装、继承、重写的意义及作用,面向对象编程的前置知识,以及以后会常用的关键字。

攸攸太上的博客 1111

java小白训练营day06-面向对象:封装+继承+多态

面向过程和面向对象 面向对象的三大特性 封装 继承 多态 封装 继承 多态

长安紫薯的专栏 1324

C#面向对象特性,封装继承多态。我知道你懂你知道,但你不会用

面向对象的特性:封装、继承、多态。 本文是假设各位读者很懂很知道这些特性的情况下来写的,所以,关于封装、继承、多态的概念定义,您若不清楚,可以查找相关资料。本文针对老手,而非小白。 本文假定你很懂很知道这些,但你就是写不出那样的代码。讲解你为什么就写不出写不好代码!! 这是一篇思想指导性的文章,文字过多,需要您静心阅读,相信我,能您阅读我的文章,不仅是我的荣幸,对您更是会有深层次的帮助。 一、写不出写不好的原因 是对这些特性的理解,不是真正意义上的理解,你知道形,不知其义。导致你可以依样画葫芦,.

C#开发 267

Python面向对象基础训练之继承妙用!

今天我们来练习加强一下Python面向对象中继承的用法技巧,我们今天用一个涨工资的程序来练习一下,来加强我们队继承的理解!好了老规矩上代码!!! class Employees: #定义一个员工类 name = '' #定义姓名属性 work_number = '' #定义员工工号属性 department = '' #定义员工部门属性 ...

行到水穷处,坐看云起时! 249
上一篇: vue-loader
下一篇: 视频电商网站实战 - 构建视频提交页面:视频封面上传(上)
学习笔记666
博客等级 码龄12年 1047粉丝 1369原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值