/*
教练和运动员案例(学生分析然后讲解)
乒乓球运动员和篮球运动员。
乒乓球教练和篮球教练。
为了出国交流,跟乒乓球相关的人员都需要学习英语。
请用所学知识:
分析,这个案例中有哪些抽象类,哪些接口,哪些具体类。
分析:
1、共同的属性:姓名 年龄
共同的方法:吃饭,睡觉
其中吃饭的内容两者不同,所以用抽象方法
不同的方法:队员练习,教练教导,分别写入队员类和教练类
2、接口:学习英语
3、抽象类:人类; 运动员类、教练类 这两个继承人类
具体类:乒乓球队员类、教练类和篮球队员类、教练类 ; 分别继承运动员类或教练类,其中乒乓球有关的扩展学习英语接口
*/ //定义学英语接口
interface English{
public abstract void speak();
} //定义抽象人类
abstract class person{
//成员变量
private String name;
private int age; //无参构造方法
public person(){} //有参构造方法
public person(String name,int age){
this.name = name;
this.age = age;
} public String getName(){
return name;
}
public void setName(String name){
this.name = name;
}
public int getAge(){
return age;
}
public void setAge(int age){
this.age = age;
} //抽象方法
public abstract void eat();
//成员方法
public void sleep(){
System.out.println("睡觉去");
}
} //抽象运动员类
abstract class player extends person{
//无参构造方法
public player(){}
//有参构造方法
public player(String name,int age){
super(name,age);
}
//特有的方法,练习,不得不做的,用抽象
public abstract void student();
} //抽象教练类
abstract class coach extends person{
public coach(){}
public coach(String name,int age){
super(name,age);
}
public abstract void teacher();
} //具体乒乓球运动类
class pingpangplayer extends player implements English{
public pingpangplayer(){}
public pingpangplayer(String name,int age){
super(name,age);
}
public void speak() {
System.out.println("要学习英语");
}
public void student() {
System.out.println("要练习发球和接球的技巧");
}
public void eat() {
System.out.println("吃清淡的饭菜");
}
} //具体乒乓球教练类
class pingpangcoach extends coach implements English{
public pingpangcoach(){}
public pingpangcoach(String name,int age){
super(name,age);
}
public void speak(){
System.out.println("要学习英语");
}
public void teacher(){
System.out.println("要教导队员发球和接球的技巧");
}
public void eat(){
System.out.println("跟着队员吃清淡的饭菜");
}
} //具体篮球队员类
class basketballplayer extends player{
public basketballplayer(){}
public basketballplayer(String name,int age){
super(name,age);
}
public void eat(){
System.out.println("要吃油腻的饭菜");
}
public void student(){
System.out.println("要练习运球和投篮技巧");
}
}
//具体篮球教练类
class basketballcoach extends coach{
public basketballcoach(){}
public basketballcoach(String name,int age){
super(name,age);
}
public void eat(){
System.out.println("要跟着队员,吃油腻的饭菜");
}
public void teacher(){
System.out.println("要教导队员运球和投篮技巧");
}
} class InterfaceTest1 {
public static void main(String[] args) {
//测试运动员(乒乓球运动员和篮球运动员)
//乒乓球运动员
pingpangplayer p3 = new pingpangplayer("马龙",26);
p3.eat();
p3.sleep();
p3.student();
p3.speak(); basketballplayer b2p = new basketballplayer("姚明",38);
b2p.eat();
b2p.sleep();
b2p.student(); System.out.println("------------");
//测试教练类 pingpangcoach p2c = new pingpangcoach("教练p",41);
p2c.eat();
p2c.sleep();
p2c.teacher();
p2c.speak(); basketballcoach b2c = new basketballcoach("教练b",38);
b2c.eat();
b2c.sleep();
b2c.teacher(); } }

java9-1.类,抽象类,接口的综合小练习的更多相关文章

  1. 10-01 Java 类,抽象类,接口的综合小练习--运动员和教练

    运动员和教练的案例分析 运动运和教练的案例 代码实现 /* 教练和运动员案例 乒乓球运动员和篮球运动员. 乒乓球教练和篮球教练. 为了出国交流,跟乒乓球相关的人员都需要学习英语. 请用所学知识: 分析 ...

  2. c#中接口、抽象类、继承综合小练习

    namespace Test { class Program { static void Main(string[] args) { //作业:橡皮rubber鸭子.木wood鸭子.真实的鸭子real ...

  3. python笔记5 接口类抽象类 封装 反射 设计模式 模块 :random随机数 josn shelve持久化存储

    接口类抽象类 接口类:接口类就是制定一个规则,让其他人按照我的规则去写程序. #!/usr/bin/env python from abc import ABCMeta,abstractmethod ...

  4. java类,接口浅谈

    一般类,抽象类,接口的使用场景: 类;共同的特征和行为的抽取和封装 接口:标准,规范(功能的扩展)         需要对某个类进行功能的扩展,就让某个类实现这个接口,抽取出来称为接口   内部类: ...

  5. IEnumerator<TItem>和IEnumerator Java 抽象类和普通类、接口的区别——看完你就顿悟了

    IEnumerable 其原型至少可以说有15年历史,或者更长,它是通过 IEnumerator 来定义的,而后者中使用装箱的 object 方式来定义,也就是弱类型的.弱类型不但会有性能问题,最主要 ...

  6. 速战速决 (4) - PHP: 类基础, 抽象类, 接口, trait

    [源码下载] 速战速决 (4) - PHP: 类基础, 抽象类, 接口, trait 作者:webabcd 介绍速战速决 之 PHP 类基础 抽象类 接口 trait 示例1.类的相关知识点 1(基础 ...

  7. day27 多态 多继承 接口类 抽象类

    简单来说:多态就是指一个相同的方法名在不同的对象调用的时候实现一样或者不一样的方法实例1: 动物类有个方法 "嚎叫" 狗类也有个方法 "嚎叫" 猫类继承了动物类 ...

  8. python 全栈开发,Day21(抽象类,接口类,多态,鸭子类型)

    一.昨日复习 派生方法和派生属性 super 只有在子父类拥有同名方法的时候, 想使用子类的对象调用父类的方法时,才使用super super在类内 : super().方法名(arg1,..) 指名 ...

  9. python面向对象 : 抽象类(接口类),多态,封装(私有制封装)

    一. 抽象类(接口类) 与java一样, python也有抽象类的概念但是同样需要借助模块实现,抽象类是一个特殊的类, 它的特殊之处在于只能被继承, 不能被实例化. 从设计角度去看, 如果类是从现实对 ...

随机推荐

  1. Python: 解决pip安装源被墙的问题

    pip install <package> -i http://mirrors.aliyun.com/pypi/simple --trusted-host mirrors.aliyun.c ...

  2. nutch简介

    1.什么是 nutch Nutch 是一个开源的. Java 实现的搜索引擎.它提供了我们运行自己的搜 索引擎所需的全部工具.2.研究 nutch 的原因(1) 透明度: nutch 是开放源代码的, ...

  3. 字符串匹配--Karp-Rabin算法

    主要特征 1.使用hash函数 2.预处理阶段时间复杂度O(m),常量空间 3.查找阶段时间复杂度O(mn) 4.期望运行时间:O(n+m) 本文地址:http://www.cnblogs.com/a ...

  4. UITabBarController 微信

    AppDelegate.m #import "AppDelegate.h" #import "FirstViewController.h" #import &q ...

  5. C语言的判断语句

    // // main.c // homeWork1222 //// #include <stdio.h> int main(int argc, const char * argv[]) { ...

  6. IOS之UI -- UITableView -- 1 -- 相关初识

    *:first-child { margin-top: 0 !important; } body > *:last-child { margin-bottom: 0 !important; } ...

  7. UVa 108 - Maximum Sum(最大连续子序列)

    题目来源:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=3&pa ...

  8. informatica 常见问题及解决方案

    本文对于informatica使用过程中产生的问题及解决方案做总结,持续更新中... 1.partitioning option license required to run sessions wi ...

  9. Asp.Net远程调试

    1.在本地找到VS安装目录下的 Visual Studio Tools 文件夹  并进入Remote Debugger Folder文件夹 2.根据服务器的操作系统是32位还是64位,选择下面的文件夹 ...

  10. RTB交接

    RTB产品测试进度 元数RTB产品 元数的产品已经测过两个版本,分别是1.1版本和1.2版本,目前线上跑的是1.2版本.程序线上情况目前正常,没有问题. 元数功能账号为:yuanshu  需用root ...