多态案例

多态案例

  1. 例一

    1. . class Test1Demo {
    2. .         public
      static
      void main(String[] args) {
    3. .             Fu f = new Zi();
    4. . //f.method(); //编译看左边,运行看右边,左边没有method方法,报错,
    5. .             f.show();//编译看左边,运行看右边,父类有show,编译没问题,输出Zishow,如果Zi类没有show方法,则运行时发现子类没有去重写,则直接调用的是父类show输出FU show,子类把fu类show方法继承下来了
    6. .         }
    7. . }
    8.  
    9. . class Fu {
    10.   public
      void show() {
    11.     System.out.println("fu show");
    12.   }
    13. }
    14. . class Zi extends Fu {
    15. .     public
      void show() {
    16. .         System.out.println("zi show");
    17. .     }
    18. .
    19. .     public
      void method() {
    20. .         System.out.println("zi method");
    21. .     }
    22. . }
    23. .

    例2:

    1. . class A {
    2. .         public
      void show() {
    3. .             show2(); // 调用了show2
    4. .         }
    5. .            public
      void show2() {
    6. .             System.out.println("我");
    7. .         }
    8. . }
    9. . class B extends A { //子类继承了A
    10. .     public
      void show2() {
    11. .         System.out.println("爱");
    12. .     }
    13. . }
    14. . class C extends B {
    15. .     public
      void show() {
    16. .         super.show();
    17. .     }
    18. .     public
      void show2() {
    19. .         System.out.println("你");
    20. .     }
    21. . }
    22. . public
      class Test2DuoTai {
    23. .     public
      static
      void main(String[] args) {
    24. .         A a = new B();//编译看做左边,b中没有show,但是继承了A类的show方法.
    25. .         a.show();//爱
    26. . //父类show方法调用show2,子类中有show2,则show2是子类的show2.就相当于把这个方法写到B类中看
    27. .         B b = new C();//编译看做左边,b中没有show,但是继承了A类的show方法.
    28. ..         b.show();//你
    29. //运行看的是右边,子类show,super.show(),调用父类show方法,调用show2,调用子类show2
    30.  
    31. . }
    32. . }
时间: 2024-12-18 03:41:58

多态案例的相关文章

Java多态案例分析

一.多态的定义 同一事物,在不同时刻体现出不同状态. 例如:水在不同状态可能是:气态.液态.固态. 二.多态前提和体现 1.有继承关系 2.有方法重写 3.有父类引用指向子类对象 三.编译运行原理 1.编译看左边,父类是否有此方法,没有就报错. 2.运行看右边,运行结果一般是右边子类重写后的结果. 四.案例分析 1 package polymorphic; 2 /** 3 * 多态案例1,基础 4 * @author zhongfg 5 * @date 2015-06-16 6 */ 7 int

4.48 多态案例

1: 猫狗案例 /* 多态练习:猫狗案例 */ class Animal { public void eat() { System.out.println("吃饭"); } } class Dog extends Animal { public void eat() { System.out.println("狗吃肉"); } public void lookDoor() { System.out.println("狗看门"); } } clas

C面向接口编程和C++多态案例

案例背景:企业的信息系统一般都有成熟的框架,在框架内可以集成其他厂商的产品,但软件框架一般不发生变化. 案例需求:在企业信息系统框架中,集成其他厂商的socket通信产品和加密产品. 编程提示: 1.抽象通信接口结构体设计(CSocketProtocol) 2.框架接口设计( FrameWork:未加加密解密功能的框架.FrameWorkPro:增加加密解密功能的框架) 3.通信厂商1入围(CSckImp1).通信厂商2入围(CSckImp2) 4.抽象加密接口结构体设计(CEncDesProt

步步为营-03-一个经典的多态案例

说明:相信大家都知道一个经典的案例.关于电脑对不同的设备进行读取. 1 定义一个基类(移动存储设备类)其中包括两个虚方法 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Computer { public abstract class MobileDevice { public abstract

面向对象多态案例

案例:有一台有品牌的电脑他有2个功能开机和关机,它可以插2个USB接口(实现 读,写). 一个是U盘,一个是硬盘 类图: class Computer { private string brand; public IUsb IUsb_1; public IUsb IUsb_2; public string Brand { get { return brand; } set { brand = value; } } public Computer(string brand) { this.bran

java中的多态案例

多态性实际上有两种: 1.方法的多态性: 1.1方法重载:相同的方法名,会根据传入的参数的类型和个数不同执行不同的方法 1.2方法覆写:同一个方法名称,会根据子类的不同实现不同的功能 2.对象的多态性:指的是发生在类的继承中,子类和父类之间相互转换 1.1向上转型(自动完成):父类 父类对象 = 子类实例 2.2向下转型:子类 子类对象 =(父类)父类实例; 由于父类可以有多个子类,而一个子类所拥有的父类个数不会太多,向上转型不会出现编译错误,而向上转型有可能出现编译时候的错误 class A{

C++基础6 【继承】 类型兼容 satatic 多继承 虚继承 【多态】 案例 虚析构函数 重载重写重定义

[继承] 继承的访问控制域 图 类型兼容性原则  指针 与 引用 用子类直接初始化父类 类的继承模型示意 图 [继承结论] [非常重要的概念] 继承与组合混搭情况下,构造和析构调用原则 原则:先构造父类,再构造成员变量.最后构造自己 先析构自己,在析构成员变量.最后析构父类 继承中,同名的成员变量的处理办法 继承中,同名的成员函数的处理办法 派生类中的static关键字 如果静态成员变量,你没有使用,也没有初始化的话 编译不会报错 经典错误 : 类中函数默认是private的,无法在外部访问 具

c++-多态小案例

多态小案例 C面向接口编程和C多态 函数类型语法基础 函数指针做函数参数(回调函数)思想剖析 函数指针做函数参数两种用法(正向调用.反向调用) 纯虚函数 抽象类 抽象类基本概念 抽象类在多继承中的应用 面向抽象类编程案例强化 面向抽象类编程案例强化 抽象类在多继承中的应用 抽象类基本概念 多态图形案例 #define _CRT_SECURE_NO_WARNINGS #include <iostream> using namespace std; //抽象的图形类 class Shape { p

09.面向对象多态的概述及其代码体现

09.01_面向对象(多态的概述及其代码体现) A:多态(polymorphic [,p?l?'m??f?k])概述 事物存在的多种形态 B:多态前提 a:要有继承关系. b:要有方法重写. c:要有父类引用指向子类对象. C:案例演示 代码体现多态 案例: class Demo1_Polymorphic { public static void main(String[] args) { Cat c = new Cat();//猫是一只猫 c.eat(); Animal a = new Cat