多态

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

使用父类作为返回值实现多态

 

 

什么是多态:多种形态。

分两部分:

  1. 功能多态:一个行为多种实现方式 体现:重写和重载
  2. 形态多态:一个类型的多种表现形式比如:动物多种表现形式:猫、狗

Animal a=new Dog();//父类的引用指向子类的对象(即向上转型),反过来不行

 

多态的应用

  1. 向上转型:父类引用指向子类对象
  2. 向下转型:父类引用显式类型转换为子类对象

 

使用父类作为方法返回值实现多态//工厂模式

使用多态实现宠物领养

使用父类作为方法返回值

实现思路

在Master类添加领养方法getPet(String typeId )

创建测试类,根据主人选择宠物类型编号来领养宠物。

 

 

  

父类到子类的转换

问题描述

实现主人与宠物玩耍功能

和狗狗玩接飞盘游戏,狗狗的健康值减少10,与主人亲密度增加5。

和企鹅玩游泳游戏,企鹅的健康值减少10,与主人亲密度增加5。

问题分析

给Dog添加接飞盘方法catchingFlyDisc( )

给Penguin添加游泳方法swimming( )

给主人添加play(Pet pet)方法

代码实现以及问题

 

向下转型(强制类型转换)

 

为了避免类型转换报错,使用instanceof运算符进行类型判断,判断的结果为布尔值类型。

语法结构:

对象  instanceof  类或接口

使用场合:instanceof通常和强制类型转换结合使用。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值