• 多态


    1.多态

    1.1 定义

    简单来说,多态(polymorphism)是具有表现多种形态的能力的特征.

    更专业的说法:同一个实现接口,使用不同的实例而执行不同的操作.

    1.2 为什么要使用多态

    多态不仅可以减少代码量,还可以提高代码的可扩展性和可维护性.

    2.子父类型的转换方式

    2.1 子类到父类的转换(向上转型),又称为自动类型转换

    子类转换成父类时的规则:

    将一个父类的引用指向一个子类对象,称为向上转型(upcasting),自动类型转换

    此时通过父类引用变量调用的方法是子类覆盖或继承父类的方法,不是父类的方法

    此时通过父类引用变量无法调用子类特有的方法

    2.2 父类到子类的转换(向下转型),又称为强制类型转换

    定义:

    将一个指向子类对象的父类引用赋给一个子类的引用,称为向下转型.此时必须进行强制类型转换

    强制类型转换语法:

    父类 对象a=(父类的子类)对象b;

    3.instanceof运算符

    语法:

    对象 instanceof 类或接口

    作用:

    该运算符用来判断一个对象是否属于一个类或者实现了一个接口,结果为truefalse.

    使用方法:

    类型转换之前通过instanceof运算符检查对象的真实类型,再进行相应的强制类型转换,这样就可以避免类型转换异常,从而提高代码的健壮性.

    4.使用父类作为方法形参实现多态

    使用父类作为方法的形参,java实现和使用多态的主要方式之一.

    子类或父类作为实参.

    5.使用父类作为方法返回值实现多态

    使用父类作为方法的返回值,java中实现和使用多态的另一种方式.

    此方法需要在方法里用instanceof判断属于哪一种子类对象,并进行强制转换,再返回

    6.实现多态的三个条件

    继承的存在(继承是多态的基础,没有基础就没有多态)

    子类重写父类的方法(多态下调用子类重写后的方法)

    父类引用变量指向子类对象(子类到父类的类型转换)

    7.实现多态的思路:

    编写继承关系的父类和子类

    子类重写父类的方法

    使用父类的引用指向子类的对对象

  • 相关阅读:
    监控 SQL Server 的运行状况
    软件开发报价的计算方法
    PHP 正则表达式
    ObjectiveC编程语言简介
    iframe 自适应高度,无限级父框架
    分享iphone开发的好网站,希望大家也能提供一些分享下
    实战WebService I: XMLPRC篇(基于php)
    PHPPRC
    Objective C cocos2D场景切换方式总汇
    NoSQL数据存储引擎
  • 原文地址:https://www.cnblogs.com/Eason-chen/p/7642510.html
Copyright © 2020-2023  润新知