Day_08【面向对象】扩展案例3_使用多态的形式创建缉毒狗对象,调用缉毒方法和吼叫方法
分析以下需求,并用代码实现:
- 1.定义动物类:
 行为:
 吼叫:没有具体的吼叫行为
 吃饭:没有具体的吃饭行为
 2.定义缉毒接口
 行为:
 缉毒
 3.定义缉毒狗:犬的一种
 行为:
 吼叫:汪汪叫
 吃饭:狗啃骨头
 缉毒:用鼻子侦测毒
 4.定义测试类:
 使用多态的形式创建缉毒狗对象,调用缉毒方法和吼叫方法
 
package com.itheima5;
//抽象动物类
public abstract class Animal {
	public abstract void roar();
	public abstract void eat();
}
package com.itheima5;
//缉毒接口
public interface FindDrug {
	public abstract void findDrug();
}
package com.itheima5;
//缉毒犬类
public class DrugDog extends Animal implements FindDrug{
	@Override
	public void findDrug() {
		System.out.println("缉毒犬可以缉毒");
	}
	@Override
	public void roar() {
		System.out.println("汪汪叫");
	}
	@Override
	public void eat() {
		System.out.println("狗吃骨头");
	}
}
package com.itheima5;
public class Test {
	public static void main(String[] args) {
		//抽象类实现多态
		Animal a = new DrugDog();
		a.roar();
		//接口实现多态
		FindDrug fd = new DrugDog();
		fd.findDrug();
	}
}
控制台输出内容

Day_08【面向对象】扩展案例3_使用多态的形式创建缉毒狗对象,调用缉毒方法和吼叫方法的更多相关文章
- Day_09【常用API】扩展案例3_删除源字符串中的指定字符,并计算指定字符出现的次数
		分析以下需求,并用代码实现 1.键盘录入一个源字符串由字符串变量scrStr接收 2.键盘录入一个要删除的字符串由字符串变量delStr接收 3.要求 删除该字scrStr符串中的所有delStr字符 ... 
- Day_14【IO流】扩展案例3_对文本文件中的字符串内容进行反转
		分析以下需求,并用代码实现 项目根路径下有text.txt文件,内容如下 我爱黑马 123456 利用IO流的知识读取text.txt文件的内容反转后写入text.txt文件中 654321 马黑爱我 ... 
- Day_12【集合】扩展案例3_产生10个长度为10,不能重复,由数字0-9,小写字母和大写字母组成的字符串
		分析以下需求,并用代码实现 1.产生10个1-20之间的随机数要求随机数不能重复 2.产生10个长度为10的不能重复的字符串(里面只能出现大写字母.小写字母.0-9的数字),并遍历打印输出 代码 pa ... 
- Day_11【集合】扩展案例3_打印最高分的学员姓名、年龄、成绩,打印10个学生的总成绩和平均分,打印不及格的学员信息及数量
		分析以下需求,并用代码实现 1.定义Student类 属性: 姓名:String name 年龄:int age 成绩:int score 行为: 空参构造方法 有参构造方法 set和get方法 to ... 
- python面向对象学习(五)多态
		多态 多态:不同的 子类对象 调用相同的 父类方法,产生不同的执行结果 多态 可以 增加代码的灵活度 以 继承 和 重写父类方法 为前提 是调用方法的技巧,不会影响到类的内部设计 多态案例练习 需求 ... 
- python面向对象封装案例(附:is和==的区别)
		面向对象封装案例 目标 封装 小明爱跑步 存放家具 01. 封装 封装 是面向对象编程的一大特点 面向对象编程的 第一步 —— 将 属性 和 方法 封装 到一个抽象的 类 中 外界 使用 类 创建 对 ... 
- python-面向对象-04_面向对象封装案例
		面向对象封装案例 目标 封装 小明爱跑步 存放家具 01. 封装 封装 是面向对象编程的一大特点 面向对象编程的 第一步 —— 将 属性 和 方法 封装 到一个抽象的 类 中 外界 使用 类 创建 对 ... 
- Python面向对象继承案例
		面向对象三大特性 封装 根据 职责 将 属性 和 方法 封装 到一个抽象的 类 中 继承 实现代码的重用,相同的代码不需要重复的编写 多态 不同的对象调用相同的方法,产生不同的执行结果,增加代码的灵活 ... 
- Python面向对象封装案例
		01. 封装 封装 是面向对象编程的一大特点 面向对象编程的 第一步 —— 将 属性 和 方法 封装 到一个抽象的 类 中 外界 使用 类 创建 对象,然后 让对象调用方法 对象方法的细节 都被 封装 ... 
随机推荐
- C - Max Sum Plus Plus HDU - 1024
			用二位数组dp[i][j]记录组数为i,前j个数字的最大子段和. 转移方程: dp[i][j],考虑第j个数,第j个数可以并到前面那一组,此时dp[i][j]=dp[i][j-1]+arr[j],第j ... 
- 65535与TCP连接数的关系测试结论
			首先说结论: .是否有关系 .有关系 对于客户端 -.对于客户端来说,只有65535,因为根据TCP四元组的sport来说,sport只有16位,所以(2^16)-1是65535.也就是最多有6553 ... 
- 关于Python+selenium 定位浏览器弹窗元素
			首先要确定弹窗的类型: (1)div弹窗 (2)新标签页弹窗 (3)alert弹窗 一,div弹窗div弹窗是浏览器中比较好定位的弹窗,定位的方法与普通的元素一样.不过这里会有一个坑,明明可以找到这个 ... 
- Trie树-提高海量数据的模糊查询性能
			今天这篇文章源于上周在工作中解决的一个实际问题,它是个比较普遍的问题,无论做什么开发,估计都有遇到过.具体是这样的,我们有一份高校的名单(2657个),需要从海量的文章标题中找到包含这些高校的标题,其 ... 
- ES[7.6.x]学习笔记(三)新建索引
			与ES的交互方式 与es的交互方式采用http的请求方式,请求的格式如下: curl -X<VERB> '<PROTOCOL>://<HOST>:<PORT& ... 
- pytorch 中word embedding 词向量的使用
- Spring Security  是如何在  Servlet 应用中执行的?
			Spring Security 是一个强大的认证和授权框架,它的使用方式也非常简单,但是要想真正理解它就需要花一时间来学习了,最近在学习 Spring Security 时有一些新的理解,特意记录下来 ... 
- kafka相关术语名词
			Topic:标签名,一个消息队列的名称 Producer:生产者,发布消息 Consumer:消费者,订阅发布消息,进行处理的存在 Broker:kafka集群,有一个.多个Topic Partiti ... 
- 4.K均值算法应用
			一.课堂练习 from sklearn.cluster import KMeans import matplotlib.pyplot as plt import numpy as np from sk ... 
- python25之进制转换
			一.进制转换函数 bin():将十进制转换为二进制 oct():将十进制转换为八进制 hex():将十进制转换为十六进制 >>> x=1234>>> bin(x)' ... 
