多态的一些学习心得

本文探讨了多态的概念,即同类型对象在执行同一方法时表现出不同特征。通过父类引用指向子类对象,以及接口实现,实现多态性。多态的前提条件包括继承或接口实现,以及方法重写。多态的优势在于提高代码灵活性和扩展性,允许接收父类的所有子类对象作为参数,增强方法的适用性。然而,多态可能导致无法直接访问子类特有的功能。

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

public abstract class Animal
{
    public abstract void run();
}

public class Dog extends Animal{
    @Override
    public void run() {
        System.out.println("狗跑得快!");
    }
    public void yaoren(){
        System.out.println("狗咬人");
    }
}
public class tortoise extends Animal{
    @Override
    public void run() {
        System.out.println("乌龟跑得慢!");
    }
}

public class Test {
    public static void main(String[] args) {
        Animal s1 = new tortoise();
        go(s1);
        // Animal s1 = new Dog();
        /*好处:方便解耦,实现代码的扩展与维护*/
        Animal s2 = new Dog();
       // s2.yaoren(); 多态下不能使用子类特有方法(行为)。
        go(s2);
    }

    /*定义方法时,使用父类类型作为参数,该方法便可接受父类的一切子类对象
    * 体现了多态的扩展性与便利*/
    public static void go(Animal a){
        System.out.println("开始");
        a.run();
        System.out.println("结束");
    }
}

多态:同类型对象,执行同一个方法时,会有不同的表现或特征

常见形式:父类名  对象名称 = new 子类名

                  接口名  对象名称 = new 实现类名

多态使用的前提:一定有继承或接口的实现,父类对子类的引用,方法的重写(抽象类)

多态的好处:1.在多态的形式下,右边对象可以随便解耦,这提高了代码的灵活性和扩展性。

                      2.定义方法时,将父类类型作为参数,该方法便可接受父类的一切子类对象,体现了多态的扩展性和便利。

补充:对于变量用父类,方法用子类的(多态侧重于行为)

多态也存在一些问题:多态下不能使用子类的独有功能。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值