面向对象----------------------------多态

新手小白学JAVA 面向对象之多态 4 多态 4.1 概念 多态指同一个实体同时具有多种形式 它是面向对象程序设计(OOP)的一个重要特征。 主要是指同一个对象,在不同时刻,代表的对象不一样,指的是对象的多种形态。 好处是:可以把不同的子类对象都当作父类来看,可以屏蔽不同子类对象之间的差异,写出通用的代码,做出通用的编程,统一调用标准。 水果有两种形态:水果和苹果,不关心买回来的是苹果还是西瓜,只要是水果就行 class Animal{//1.定义父类Animal …eat(){syso(“吃啥都行”)} } class Cat exte 阅读详情

一,多态的理解及实现方式

多态使用前提:类的继承 , 方法的重写

可以理解为一个事物的多种形态

1)父类的引用指向子类的对象

2)子类的对象付给父类的引用

举例:person p = new Man( );

public void func(Animal animal){//Animal animal = new Dog
        animal.eat();
        animal.shout();
    }

三,多态的使用,虚拟方法的调用

有了对象的多态性以后,我们编译期只能调用父类中声明的方法,但在运行期,我们实际执行的是子类重写父类的方法

编译看左边,运行看右边

注意:对象的多态性只适应与方法,不适用于属性

四,向下转型

有了对象的多态性以后,内存中实际上是加载了子类特有的属性和方法的,但是由于变量声明为父类类型,导致编译时,只能调用父类中声明的属性和方法。子类特有的属性和方法不能调用。如何才能调用子类特的属性和方法?使用向下转型。

例:Pet pet = new Dog(“欧欧”, “雪纳瑞");

Dog dog = (Dog) pet;

Penguin png = (Penguin) pet;

 使用强转时,可能出现ClassCastException的异常。为了避免在向下转型时CIassCastException的异常,我们在向下转型之前,先进行instanceof的判断,一旦返回true,就进行向下转型。如果返回false,不进行向下转型。

instanceof的使用

语法:     对象名        instanceof        类或接口

注意:

使用instanceof运算符时,对象的类型必须和instanceof的第二个参数所指定的类或接口在继承上有上下级关系,否则会出现编译错误。

instanceof通常和强制类型转换结合使用

例:

public class Master {
	public void play(Pet pet){
               if (pet instanceof Dog) {    //如果传入的是狗狗
	         Dog dog = (Dog) pet;
	         dog.catchingFlyDisc();
	}else if (pet instanceof Penguin) {   //如果传入的是企鹅
	         Penguin pgn = (Penguin) pet;
	         pgn.swimming();
	}
	}
}		

 

 

MuJoCo 机械臂关节空间阻抗控制Impedance实现(附代码) 阻抗控制通过调整关节的刚度和阻尼,让机器人在接触时产生顺应性,减少冲击力,其核心目标是在接触外部载荷时能够自适应调整输出力矩,实现力与位置的协同控制。阻抗控制可以很快的到达设定位置,在此基础上,使用mujoco交互中的施加外力操作,可以看到当外力松开后,机械臂也可以很快的回弹回设定位置。其中self.Kp和self.Kd为固定刚度和阻尼系数,通过修改刚度和阻尼参数,可以变得更柔顺来应对各种场景。注释掉该行后,直接simulate仿真可以看到机械臂控制位置震荡等情况,接下来引入关节空间阻抗控制的代码。 阅读详情

相关推荐

Transformers在自动驾驶领域的应用(High-level like in scene)

Transformers uses global attention mechanism to capture long-range interaction information. Two core modules in Transformers are Self-Attention and Cross-Attention, which defined asAttn(Q,K,V)=softmax(QK⊤dk)VSelfAttn(X)=Attn(WQX,WKX,WVX)CrossAttn(X,Y)=Attn

qq_39337332的博客 1775

面向对象——多态

1. 多态概念        多态是面向对象程序设计(OOP)的一个重要特征,指同一个实体同时具有多种形式,即同一个对象,在不同时刻,代表的对象不一样,指的是对象的多种形态。        可以把不同的子类对象都当作父类来看,进而屏蔽不同子类对象之间的差异,写出通用的代码,做出通用的编程,统一调用标准。 多态的主要用途 1、提高程序的可扩展性; 2、降低系统耦合度; 3

杨思默 3133

pyautogui库详细教程,逐行注释(附项目实战:基于图像识别实现崩坏星穹铁道自动化测试)

本文包含了pyautogui的使用方法与常见问题指南,随文附带对游戏实现的自动化项目源码与说明文档

m0_53043024的博客 1万+

什么是多态?面向对象中对多态的理解

多态(Polymorphism)是面向对象编程(OOP)中的一个核心概念,它允许对象以多种形式出现。多态性使得同一个接口可以用于不同的数据类型,从而使得代码更加灵活和可扩展。简单来说,多态就是一个接口,一个类,一个抽象类,一个类里面的方法,不同类的同一个方法,都可以有多种实现,这个在面向对象里面,就对应着继承、重载、重写等具体的方式。灵活性:多态性允许同一个接口用于不同的对象,从而使得代码更加灵活。可扩展性:可以在不修改现有代码的情况下,通过添加新的类来扩展程序的功能。

fefdfg的博客 1733

别再死记硬背了!用MaxDEA软件实操SBM、DDF、NDDF模型,手把手教你测算绿色全要素生产率

本文深度解析如何使用MaxDEA软件实操SBM、DDF、NDDF模型,手把手教你测算绿色全要素生产率(GTFP)。通过详细的模型选择对比、数据准备策略和MaxDEA操作流程,帮助研究者科学构建指标体系并准确解读结果,提升环境管理研究的实证分析能力。

weixin_28731231的博客 314

【AIGC】Qwen3-Embedding:Embedding与Rerank模型新标杆

Qwen3-Embedding:文本嵌入与重排序模型的技术解析与应用实践

一个内容严谨、方向前沿、极具实践价值的AI大模型技术分享站 3094

面向对象—多态

多态

qq_44346427的博客 3844

利用 Python 爬虫进行舆情监测的实战方法

舆情监测是指对互联网上的公众舆论进行监测和分析的过程。它可以帮助企业和组织了解公众对其品牌、产品或服务的看法,以及市场竞争情况。通过舆情监测,企业可以及时发现潜在的问题和机会,从而做出相应的决策。通过本实战案例,我们了解了如何利用 Python 爬虫进行舆情监测的整个流程。从数据采集到数据分析,再到可视化展示,每一步都提供了详细的代码示例和注释。希望这些方法和技巧能够帮助你在实际工作中更好地进行舆情监测,从而为企业的决策提供有力的支持。wordcloud。

u014481728的博客 1054

面向对象——多态详解

多态(Polymorphism)属于面向对象的三大特征之一,它的前提是封装形成独立体,独立体之间存在继承关系,从而形成多态机制。多态是同一个行为具有多个不同表现形式的能力。多态就是“同一个行为”发生在“不同对象上”会产生不同的效果。多种形态,多种状态,编译和运行有两个不同的状态编译期叫做静态绑定运行期叫做动态绑定现在我们再来回顾面向对象的三大特征:封装、基础、多态他们之间的关系是一环扣一环首先得封装成一个整体才有了继承的概念有了继承关系才有了多态的实现 ......

shouyeren_st的博客 1634

Windows 下 Claude Code Desktop 安装与使用全记录:从零到一的保姆级图文教程

本文主要介绍了Windows 下 Claude Code 安装全记录:从零到一的保姆级图文教程,希望能对学习使用 Claude Code 的同学们有所帮助。 文章目录 1. 背景 2. 安装Claude Code Desktop 3. 配置第三方API 4. 日常使用

weixin_43178406的博客 8万+

ZeroClaw安装、使用方法详细全解

ZeroClaw 是一个用 Rust 编写的轻量级、高性能、完全自主的 AI 助手运行时框架

洛星核的博客 618

面向对象设计领域中的参数多态,包含多态,过载多态和强制多态

在面向对象设计中,多态性是一个重要的概念,它允许我们以一种统一的方式处理不同类型的对象,并根据对象的实际类型来执行相应的行为。通过将具体的对象看作是其父类或接口的实例,并在方法调用时根据实际的对象类型来确定具体的执行逻辑,我们可以以一种统一的方式处理不同类型的对象。- 当方法需要操作的对象类型不确定时,可以使用多态来接受不同类型的对象,减少代码的重复。使用场景: - 当需要执行类似的操作,但操作的参数类型或个数可能不同时,可以使用过载多态来定义多个方法,使得代码更清晰、简洁,并提高代码的可读性。

辣香牛肉面的博客 1468

Python控制程控电源(USB)

随着智能电动汽车行业的持续发展,汽车电子或嵌入式设备在软硬件的测试中,都会使用程控电源供电,特别是自动化测试、压力测试场景必定使用到程控电源控制,控制电源上下电,监听电源电流、电压等,以下就以常见的艾德克斯程控电源为例,分享如何通过USB连接方式Python语言来控制程控电源。

测试领域技术分享 2865

【多态】面向对象之多态实例代码

【多态】面向对象之多态实例 对象: 主人 行为:喂养宠物 宠物(父类) 行为:吃XXX 猫(子类) 行为:吃鱼 狗(子类) 行为:吃骨头 实例代码: 1.无多态实例代码 public class Master{ public void feed( Cat cat){ cat.eat(); } public void feed(Dog dog){ dog.eat();...

qq_40284440的博客 578

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

面向对象的三大特征之一多态

1. 什么是多态 多态性是面向对象编程的又一个重要特征,它是指在父类中定义的属性和方法被子类继承之后,可以具有不同的数据类型或表现出不同的行为,这使得同一个属性或方法在父类及其各个子类中具有不同的含义。 对面向对象来说,多态分为编译时多态和运行时多态。其中编译时多态是静态的,主要是指方法的重载,它是根据参数列表的不同来区分不同的方法。通过编译之后会变成两个不同的方法,在运行时谈不上多态。而运行时多态是动态的,它是通过动态绑定来实现的,也就是大家通常所说的多态性。 简单的说就是 在通过父类来获取他名下继承

qq_28629389的博客 1819

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

面向对象的多态

多种形态,总的来说:同一件事情,发生在不同对象身上,就会产生不同的结果。1.2.3.完成以上3部分会发生动态绑定(是多态最基础的)实际就是创建一个子类对象,将其当成父类对象来使用。

forwkard__的博客 1079

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

面向对象-多态性

 面向对象的软件开发语言具有三个重要的特点分别为封装性、继承性、多态性。封装性即意味着对象封装其内部的数据,使其对外不可见,以保证数据的安全性。继承性是代码复用的一个很好的解决方案,但是继承关系是编译器在编译阶段就为所有的对象决定的,因而在软件工程过程中,继承性太过死板,存在很大的局限性。而多态性,它是将多种不同的特殊行为进行抽象的一种能力,通过结合继承性,多态性很好地解决了OO遇到的很多麻烦

闪亮每一天 3869

面向对象三大特性——多态

面向对象—多态 ———————————————— 1. 2. 3.

weixin_44008460的博客 1361

面向对象之多态

面向对象之多态 多态是面向对象很重要也是很难理解的一部分。 A.多态概述: 同一个事物在不同时刻表现出的不同状态 比如 猫可以是猫的类型 也可以是动物的状态。 所以我们可以用猫类引用猫类对象, 也可以用动物类引用猫类对象。但前提猫类必须属于动物类。 所以 多态的前提是继承。 举例: Cat c=new Cat(); Animal a=new Cat(); 猫可以是猫的类型。猫 m = ne...

rsnmd的博客 307

面向对象-多态

目录: 什么是多态? 多态的形式 使用多态有什么前提? 多态的好处 引用类型转换 1.什么是多态? 是指同一行为,具有多个不同表现形式 2.多态的形式: -多态是除封装、继承之后面向对象的第三大特征。 -多态是出现在继承或者实现关系中的 多态体现的格式: 父类类型 变量名 = new 子类/实现类构造器; 变量名.方法名(); 3.使用多态有什么前提? 多态的前提:有继承关系,子类对象...

itzhuzhu的博客 442

面向对象编程——多态

快来学习多态!

wwx1255413402的博客 544

面向对象的特点————多态

面向对象的特点————多态 什么是多态呢:就是某一事物,在不同时刻表现出来的不同的状态,也就是说, Cat c=new Cat(); Animal a=new Cat(); 猫可以是猫的类型。猫 m = new 猫(); 同时猫也是动物的一种,也可以把猫称为动物。动物 d = new 猫(); 多态的前提: 1.要有继承关系 2.要有方法重写 3.要有父类引用指向子类对象 例如: public ...

wyq1614406553的博客 282
上一篇: 面向对象-------------------继承
下一篇: Java面向对象 ------------------抽象类,接口,异常
lhjava1234
博客等级 码龄4年 4粉丝 22原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值