java9-1.類,抽象類,接口的綜合小練習


  1 /*
  2  教練和運動員案例(學生分析然后講解)
  3     乒乓球運動員和籃球運動員。
  4     乒乓球教練和籃球教練。
  5     為了出國交流,跟乒乓球相關的人員都需要學習英語。
  6     請用所學知識:
  7     分析,這個案例中有哪些抽象類,哪些接口,哪些具體類。
  8         分析:
  9             1、共同的屬性:姓名 年齡
 10                    共同的方法:吃飯,睡覺
 11                    其中吃飯的內容兩者不同,所以用抽象方法
 12                    不同的方法:隊員練習,教練教導,分別寫入隊員類和教練類
 13             2、接口:學習英語
 14             3、抽象類:人類;  運動員類、教練類 這兩個繼承人類
 15                    具體類:乒乓球隊員類、教練類和籃球隊員類、教練類 ; 分別繼承運動員類或教練類,其中乒乓球有關的擴展學習英語接口     
 16 */
 17 
 18 //定義學英語接口
 19 interface English{
 20     public abstract void speak();
 21 }
 22 
 23 //定義抽象人類
 24 abstract class person{
 25     //成員變量
 26     private String name;
 27     private int age;
 28     
 29     //無參構造方法
 30     public person(){}
 31     
 32     //有參構造方法
 33     public person(String name,int age){
 34         this.name = name;
 35         this.age = age;
 36     }
 37     
 38     public String getName(){
 39         return name;
 40     }
 41     public void setName(String name){
 42         this.name = name;
 43     }
 44     public int getAge(){
 45         return age;
 46     }
 47     public void setAge(int age){
 48         this.age = age;
 49     }
 50     
 51     //抽象方法
 52     public abstract void eat();
 53     //成員方法
 54     public void sleep(){
 55         System.out.println("睡覺去");
 56     }
 57 }
 58 
 59 //抽象運動員類
 60 abstract class player extends person{
 61     //無參構造方法
 62     public player(){}
 63     //有參構造方法
 64     public player(String name,int age){
 65         super(name,age);
 66     }
 67     //特有的方法,練習,不得不做的,用抽象
 68     public abstract void student();
 69 }
 70 
 71 //抽象教練類
 72 abstract class coach extends person{
 73     public coach(){}
 74     public coach(String name,int age){
 75         super(name,age);
 76     }
 77     public abstract void teacher();
 78 }
 79 
 80 //具體乒乓球運動類 
 81 class pingpangplayer extends player implements English{
 82     public pingpangplayer(){}
 83     public pingpangplayer(String name,int age){
 84         super(name,age);
 85     }
 86     public void speak() {
 87         System.out.println("要學習英語");
 88     }
 89     public void student() {
 90         System.out.println("要練習發球和接球的技巧");
 91     }
 92     public void eat() {
 93         System.out.println("吃清淡的飯菜");
 94     }
 95 }
 96 
 97 //具體乒乓球教練類
 98 class pingpangcoach extends coach implements English{
 99     public pingpangcoach(){}
100     public pingpangcoach(String name,int age){
101         super(name,age);
102     }
103     public void speak(){
104         System.out.println("要學習英語");
105     }
106     public void teacher(){
107         System.out.println("要教導隊員發球和接球的技巧");
108     }
109     public void eat(){
110         System.out.println("跟着隊員吃清淡的飯菜");
111     }
112 }
113 
114 //具體籃球隊員類
115 class basketballplayer extends player{
116     public basketballplayer(){}
117     public basketballplayer(String name,int age){
118         super(name,age);
119     }
120     public void eat(){
121         System.out.println("要吃油膩的飯菜");
122     }
123     public void student(){
124         System.out.println("要練習運球和投籃技巧");
125     }
126 }
127 //具體籃球教練類
128 class basketballcoach extends coach{
129     public basketballcoach(){}
130     public basketballcoach(String name,int age){
131         super(name,age);
132     }
133     public void eat(){
134         System.out.println("要跟着隊員,吃油膩的飯菜");
135     }
136     public void teacher(){
137         System.out.println("要教導隊員運球和投籃技巧");
138     }
139 }
140 
141 class InterfaceTest1 {
142     public static void main(String[] args) {
143         //測試運動員(乒乓球運動員和籃球運動員)
144         //乒乓球運動員
145         pingpangplayer p3 = new pingpangplayer("馬龍",26);
146         p3.eat();
147         p3.sleep();
148         p3.student();
149         p3.speak();
150         
151         basketballplayer b2p = new basketballplayer("姚明",38);
152         b2p.eat();
153         b2p.sleep();
154         b2p.student();
155         
156         System.out.println("------------");
157         //測試教練類
158         
159         pingpangcoach p2c = new pingpangcoach("教練p",41);
160         p2c.eat();
161         p2c.sleep();
162         p2c.teacher();
163         p2c.speak();
164         
165         basketballcoach b2c = new basketballcoach("教練b",38);
166         b2c.eat();
167         b2c.sleep();
168         b2c.teacher();
169         
170     }
171 
172 }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM