首页 > 其他分享 >多态

多态

时间:2022-12-30 14:13:49浏览次数:29  
标签:子类 多态 cat 编译 父类 方法

  1. 多态的前提和体现
  • 具有继承或者实现关系
  • 有方法的重写
  • 有父类的引用指向子类的对象

 

  1. 在多态中成员变量编译看左边,执行看左边,成员方法编译看左边,执行看右边,因为成员方法有重写,而成员变量没有
  2. 多态的好处:提高了程序的扩展性,体现在可以在方法中让父类做对象,来实现子类的方法,弊端:无法实现子类特有的方法,编译看左边是指看父类有没有这个方法,如果没有,则编译不通过爆红,如果有,则看子类有没有
  3. 多态的转型:
  • 向上转型:从子到父,父类的引用指向子类的对象
  • 向下转型:从父到子,父类的引用转化为子类的对象
  • 举例:向上转型Animal a = new cat();     向下转型:cat b = cat(a);
  • 好处:可以解决多态无法访问子类特有的方法
  • 类型转化异常问题:a= new dog();    cat c = cat(a);这时会出现classcastExcepting异常问题,因为此时a所指向的是狗,而猫和狗无关系,不满足多态,这里猫和狗都继承了 animal

 

标签:子类,多态,cat,编译,父类,方法
From: https://www.cnblogs.com/lyjzht/p/17014751.html

相关文章

  • 【C++】虚函数与多态
    所谓多态,简单来讲就是指,不同的子类在继承父类后分别都重写覆盖了父类的方法。例如下例中:classA{public:voidf(){cout<<"这是A中的func"<<end......
  • Java多态
    什么是多态?同一个引用类型,使用不同的实例来执行不同的操作;同一个父类,使用不同的子类对象执行不同的操作。多态的实现:1、声明父类创建子类(向上转型:子类转为父类自动......
  • 15_Java筑基之Object类、多态
    15_Java筑基之Object类、多态一.Object类Object类是类层次结构的根类,每个类都使用Object作为超类(父类).1.equals()方法指示其他某个对象是否与此对象“相等”.示例代码;......
  • C# 继承、重载、多态
    写个测试,一看便知 父类:usingSystem.Collections;usingSystem.Collections.Generic;usingUnityEngine;publicclassComponent{publicvirtualvoidTest......
  • java中的多态
    多态中,编译看左边,运行看右边不多逼逼,直接上代码。代码:(我觉得我们老师给的代码好归好,但不太容易理解,我就私自改了点,顺眼多了)classParent{publicintmyValue=100;//Par......
  • 继承和多态——动手动脑
       TestInherits.javapackage Test; class Grandparent{    public Grandparent()   {       System.out.println("GrandparentCreat......
  • C++小型公司人员信息管理系统(多态)
    C++小型公司人员信息管理系统(多态)1.实验题目及要求已有应用为:某公司包含多种员工类型:技术员,产品经理,销售员、销售经理。技术员(包含工号(6位:000001999999)、姓名、电话......
  • java学习笔记--类、函数重载、this、static、继承、重写、多态
    <5>类1)类和对象类是把一类事物的静态属性和动态操作组合在一起所得的概念,相当于模型,或者说一个设计图纸。对象是类的一个个体,是根据类这个设计图纸造出来的实物,会产生和......
  • 什么是多态?为什么用多态?有什么好处?多态在什么地方用?
    什么是多态?为什么用多态?有什么好处?多态在什么地方用?什么是多态?概念:同一操作作用于不同的对象,可以有不同的解释,产生不同的执行结果,这就是多态性。简单的说:就是用基类......
  • JAVA多态(超详细讲解)
    JAVA多态(超详细讲解)坠水于 2021-10-2914:29:56 发布31330收藏144版权声明:本文为博主原创文章,遵循CC4.0BY-SA版权协议,转载请附上原文出处链接和本声明。......