关于多态的那点事-java和c++---2021/07/23

本文探讨了多态这一编程概念在C++和Java中的应用差异。多态允许通过父类接口调用子类的不同实现,提供扩展性。C++允许父类引用指向子类对象的两种方式,而Java只允许一种。这种差异涉及到内存管理和安全性,Java的限制增强了类型安全,防止了潜在的内存越界问题。文章旨在帮助开发者理解这两种语言在多态实现上的选择和考虑。
摘要由CSDN通过智能技术生成

多态,是一个在c++和java都存在的概念

多态是同一个行为具有多个不同表现形式或形态的能力
多态就是同一个接口,使用不同的实例而执行不同操作.

在这样的情况下,我们只需要知道父类的实现,而无需去管子类的添加,实现,功能扩展这些问题,对外调用只需要通过父类的接口就可以.

但是,在c++中允许*“父类引用指向子类对象”,也允许"子类引用指向父类对象"*;

而java只允许父类引用指向子类对象;


涉及到底层的存储问题:我的理解是:大意就是子类是允许在父类的基础上扩展的,从申请的内存空间上父类的内存指针只能指向父类本身含有的变量和方法,而子类引用指向父类对象,就会发生子类的方法调用可能发生内存越界,非法修改内存属性等问题.这样子是非常不安全的,在c++中编译和运行可能不会出问题,但是在java编译器不会允许这样做,提高了安全性.毕竟,多态的目的本来就是为了增加父类调用接口的扩展性;


今天又是学做java菜狗的一天呢 ~

在这里插入图片描述

这个博客图画的不错,解释得很生动

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值