接口與抽象類小練習
阿新 • • 發佈:2018-08-02
bstr 學習 小練習 繼承 size col ont pri rain
/*
繼承中接口與抽象類練習:
乒乓球運動員和籃球運動員
乒乓球教練和籃球教練。
為了出國交流,乒乓球相關人員都需要學習英語
分析:
乒乓球運動員:屬性: 姓名,年齡,技能: 打乒乓球
籃球運動員: 屬性: 姓名年齡, 技能: 打籃球
乒乓球教練: 屬性: 姓名,年齡, 技能: 教練乒乓球
籃球教練: 屬性: 姓名,年齡 技能: 教練 籃球
運動員抽象類: 屬性: 姓名,年齡, 方法: 打球
教練抽象類: 屬性: 姓名年齡, 方法: 教練
接口: 學習英語
實現:
接口: 學習英語
運動員抽象類: 屬性: 姓名,年齡, 方法: 打球
教練抽象類: 屬性: 姓名年齡, 方法: 教練
乒乓球運動員: 繼承 接口與運動員抽象類
籃球運動員: 繼承運動員抽象類
*/
//學習英語接口
interface LearnEnglish
{
public abstract void learn();
}
//運動員類
abstract class Sporter
{
private String name;
private int age;
//構造方法
Sporter(){}
Sporter(String name, int age){
this.name = name ;
this.age = age;
}
public abstract void play();
}
abstract class Trainer
{
private int age;
private String name;
//構造方法
Trainer(){}
Trainer(String name, int age){
this.name = name;
this.age = age;
}
public abstract void train();
}
//乒乓球運動員
class PingPenPlayer extends Sporter implements LearnEnglish
{
PingPenPlayer(String name, int age){
super(name, age);
}
public void play(){
System.out.println("pingpeng plays ");
}
public void learn(){
System.out.println("learn english");
}
}
class BasketballPlayer extends Sporter
{
BasketballPlayer(String name, int age){
super(name,age);
}
//方法重寫
public void play(){
System.out.println("play basketballl");
}
}
class PingPenTrainer extends Trainer implements LearnEnglish
{
PingPenTrainer(String name, int age){
super(name, age);
}
//抽象教練父類方法
public void train(){
System.out.println("pingpeng train ");
}
//c重寫學習英語接口方法
public void learn(){
System.out.println(" trainer learn english");
}
}
class BasketballTrainer extends Trainer
{
BasketballTrainer(String name, int age){
super(name, age);
}
//抽象教練父類方法
public void train(){
System.out.println("BasketballTrainer train");
}
}
public class InterfaceDemo
{
public static void main(String[] args){
//乒乓球運動員
Sporter pingpeng = new PingPenPlayer("張繼科", 30);
pingpeng.play();
}
}
接口與抽象類小練習