Day11多态部分-1 【1.1 多态的体现】

本文深入探讨Java中的多态概念,包括方法重载和对象多态两种形式,通过具体实例展示了如何利用多态提高代码的复用性和扩展性,并介绍了多态在实际编程中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

【1.1 多态的体现】

  • 多态的好处:提高了扩展性(提高代码的共用性);

    1.定义:某一类事物的多种存在形态:

    java语言中含有【方法重载】和【对象多态】两种形式的多态

    猫 x = new 猫()

    动物 x = new 猫()//new 猫()

    来了一只真实的小猫 我说 这动物不错,

    new 的这个实体既具备猫的类型,也具备动物的类型

    但是有个前提,猫必须是动物的一种;

    2.当类与类产生关系:

    那么这个实体还具备其他类型,这个事物存在多种形态-->多态;

    多态我们强调的是在java中,对象上的体现;

    3.其实函数也具备多态性,重载,同一个名字,体现形态不一样

    (方法的重载也是多态的一种);

    • + -

      api里面所有的类和接口关系都是

      以面向对象的几大特征为开发基准的,不了解的话连api都看不到;

      //这叫前期预先调用功能,后期定义子类去实现功能,并把子类作为参数,传递进来,实现了后期拓展性

      • public static void main(String[] args) {

         Animal a1 =new Dog();//继承了动物,都是动物的一种,即是猫也是动物

          Animal a2 =new Cat();

          test(a1);//3.方法名,将对象a1传入

          test(a2);//传入什么对象输出什么方法

          Animal a3 =new Pig();//因为继承了父类,所以不用写重载方法,用回引用Animal的重载方法即可

          test(a3);

        //多态的好处:提高程序的拓展性

        //这叫前期预先调用功能,后期定义子类去实现功能,并把子类作为参数,传递进来,实现了后期拓展性

        public static void test(Animal sx){//1.Animal引用sx对象

        sx.eat();//2.对象引用Animal的eat方法

        }

        }

        abstract class Animal{//抽象的作用强制子类重写方法

        abstract void eat();

        }

        class Cat extends Animal{

        public void eat(){

        System.out.println("吃鱼(重写Animal的eat方法)");

        }

        }

        class Dog extends Animal{

        public void eat(){

        System.out.println("吃骨头(重写Animal的eat方法)");

        }

        }

        //--------------百年后出现了另一种动物 猪

        class Pig extends Animal{

        public void eat() {

        System.out.println("吃饲料(重写Animal的eat方法)");

        }

        public void gongdi(){

        System.out.println("拱地");

        }

        }

      多态的表现:一个对象在不同的状态下有多种形态:如你,对妻子来说你是丈夫,
      对老师来说你是学生,对父母来说你是儿子,对老板来说你是员工

      多态比喻:事物的多种存在:猫是动物也叫猫,

      其它有个名字叫小明,那么我叫它猫-动物-小明都三个名都是指它     

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值