zoukankan      html  css  js  c++  java
  • 多态(3)面向对象的三大特征之三


    多态:重写方法:
    (1)位置:子类和父类中有同名方法

    (2)方法名相同,返回值类型和修饰符相同
    方法体不同

    有时候子类会替代父类的方法


    多态的形式一:

    public void feed(Pet pet){
    pet.eat();

    }

    mas.feed(cst);

    父类做形参,子类做实参


    程序中的多态,由于条件按不同,产生的结果也不同

    多态:同一个引用类型,使用不同的实例而进行不同的操作,父类引用子类对象


    多态的第二种形式;
    //父类做类型子类实例化
    Pet pet2=new Cat();//new Dog就走Dog //做什么事情就调用什么事情的方法ti
    pet2.eat();

    向上转换称为自动转换

    多态的第三种形式:

    父类作为方法的返回类型,子类作为实例化。(类型自动转换)


    public Pet getPet(int typeid){
    Pet pets=null;
    if(typeid==1){
    pets=new Dog();
    }else if(typeid==2){
    pets=new Cat();

    }else if(typeid==3){
    pets=new Penguin();
    }

    return pets;
    }
    intanceof

    子类转换为父类:向上转型,自动类型转换
    向下转换:
    父类转换为子类,结合instanceof运算符进行(判断是否是子类,/父类)强制类型转换(用于进行强制类型转换)

     多态,搞了半天多写几个例子,就好了

    所谓多态就是指一个类实例的相同方法在不同情形有不同表现形式。多态机制使具有不同内部结构的对象可以共享相同的外部接口。这意味着,虽然针对不同对象的具体操作不同,但通过一个公共的类,它们(那些操作)可以通过相同的方式予以调用。

  • 相关阅读:
    序列化与反序列化
    反射学习 :反射程序集
    转载 [TopLanguage]: 马一哥对开发“过程”的描述
    DNS域名规则
    Joel Spolsky: 好的界面设计应当符合用户预期
    开始在博客园中写博客
    2009牛年的答卷及2010虎年的题目
    Jenkins安装使用教程
    git第一次上传代码
    allure安装配置集成测试报告
  • 原文地址:https://www.cnblogs.com/hualishu/p/8492664.html
Copyright © 2011-2022 走看看