黑马程序员技术交流社区

标题: 关于继承接口的代码,菜鸟们都敲多久啊? [打印本页]

作者: 君北羽    时间: 2015-4-5 02:16
标题: 关于继承接口的代码,菜鸟们都敲多久啊?
/*
        乒乓球运动员和足球运动员。
        乒乓球教练和足球教练。
        为了出国交流,跟乒乓球相关的人员都需要学习英语。
        请用所学知识:
        分析,这个案例中有哪些抽象类,哪些接口,哪些具体类

                接口: 英语接口
                        学英语       

                人:抽象类
                        属性 name
                        方法 eat(抽象方法)

                (抽象类)运动员 extends 人:
                        方法:study(抽象方法)


                        (具体类)乒乓球运动员 extends 运动员 implements 英语接口
                        (具体类)足球运动员 extends 运动员


                (抽象类)教练 extends 人:
                        方法:teach(抽象方法)


                        (具体类)乒乓球教练 extends 教练 implements 英语接口
                        (具体类)足球教练 extends 教练
*/
//接口
interface English {
        public abstract void studyEnglish();
}
//抽象类  人类
abstract class Person {
        //成员变量
        private String name;
        //构造方法
        public Person(){}
        public Person(String name){
                this.name = name;
        }
        //成员方法
        public void setName(String name){
                this.name = name;
        }
        public String getName(){
                return name;
        }
        //抽象方法
        public abstract void eat();
}
//抽象类运动员类
abstract class Player extends Person {
        //构造方法
        public Player(){}
        public Player(String name){
                super(name);
        }
        //抽象方法
        public abstract void study();
}
//抽象类教练类
abstract class Coacher extends Person{
        public Coacher(){}
        public Coacher(String name){
                super(name);
        }
        //抽象方法
        public abstract void teach();
}
//具体类
class PingPongPlayer extends Player implements English {
        public PingPongPlayer(){}
        public PingPongPlayer(String name){
                super(name);
        }
        //方法重写
        public void studyEnglish(){
                System.out.println("乒乓球运动员使劲的学习英语");
        }
        public void eat(){
                System.out.println("乒乓球运动员使劲的吃脑白金");
        }
        public void study(){
                System.out.println("乒乓球运动员诗经的学习扣球");
        }
}
class FootballPlayer extends Player {
        public FootballPlayer(){}
        public FootballPlayer(String name){
                super(name);
        }
        //方法重写
        public void eat(){
                System.out.println("足球运动员诗经的吃大白菜");
        }
        public void study(){
                System.out.println("足球人学习踢假球");
        }
}
//具体类教练
class PingPongCoacher extends Coacher implements English {
        public PingPongCoacher(){}
        public PingPongCoacher(String name){
                super(name);
        }
        public void studyEnglish(){
                System.out.println("乒乓球教练使劲的学习英语");
        }
        public void eat(){
                System.out.println("乒乓球教练使劲的吃生命一号");
        }
        public void teach(){
                System.out.println("乒乓球教练使劲的教扣球");
        }
}
//具体类  足球教练
class FootballCoacher extends Coacher {
        public FootballCoacher(){}
        public FootballCoacher(String name){
                super(name);
        }
        //方法重写
        public void eat(){
                System.out.println("足球教练使劲的吃白萝卜");
        }
        public void teach (){
                System.out.println("足球教练使劲的教怎么踢假球");
        }
}
//测试类
class InterfaceTest3 {
        public static void main(String[] args)
        {
                PingPongCoacher ppc = new PingPongCoacher("王乒乓");
                System.out.println(ppc.getName() );
                ppc.studyEnglish();
                ppc.eat();
                ppc.teach();

                System.out.println("===========");
                PingPongPlayer ppp = new PingPongPlayer("王乒乓球");
                System.out.println(ppp.getName() );
                ppp.studyEnglish();
                ppp.eat();
                ppp.study();

                System.out.println("===========");
                System.out.println("===========");
                FootballCoacher fc = new FootballCoacher("王乒乓");
                System.out.println(fc.getName() );
                fc.eat();
                fc.teach();

                System.out.println("===========");
                FootballPlayer fp = new FootballPlayer("王乒乓球");
                System.out.println(fp.getName() );
                fp.eat();
                fp.study();
        }
}


小狼自测,第一遍大概敲了五十分钟啊,简直龟速啊


作者: 懒的呼吸    时间: 2015-4-5 09:52
分模块记忆吧,大部分还是功能差不多的
作者: 徐顺醒    时间: 2015-4-5 09:54
大概3 ,4 天吧  多敲敲就懂了 没什么难的
作者: 宸宸    时间: 2015-4-5 11:10
我大概是20分钟吧。
作者: 君北羽    时间: 2015-4-5 16:00
宸宸 发表于 2015-4-5 11:10
我大概是20分钟吧。

好吧,我会继续努力,向20分钟进军
作者: 四季    时间: 2015-4-5 16:57
..真的假的,……。
作者: 海贼王019    时间: 2015-4-5 17:08
啊 先记住类啊 接口啊  以及他们之间的关系然后在敲里边的内容会好很多的
作者: l540144279    时间: 2015-4-5 17:42
辛苦辛苦了~~。。。【数字君】
作者: 宸宸    时间: 2015-4-5 19:35
君北羽 发表于 2015-4-5 16:00
好吧,我会继续努力,向20分钟进军

- -我想说,之前有点底子的。然后敲得就少,理解了
作者: 佐佑    时间: 2015-4-5 20:29
敲多了就行了
作者: 九个太阳学程序    时间: 2015-4-5 20:39
好 努力加油
作者: Lois    时间: 2015-4-5 20:40
顶一个                                    
作者: 君北羽    时间: 2015-4-5 22:22
宸宸 发表于 2015-4-5 19:35
- -我想说,之前有点底子的。然后敲得就少,理解了

我没底子,我是建筑行业参加工作几年转行过来的,基础班第九天课程
作者: t_joseph    时间: 2015-4-5 22:29
哥们别急,熟悉开发工具后,敲着敲着就会发现有好多的快捷键的,加油!
作者: 君北羽    时间: 2015-4-5 22:31
t_joseph 发表于 2015-4-5 22:29
哥们别急,熟悉开发工具后,敲着敲着就会发现有好多的快捷键的,加油!

恩恩,我会努力的,继续敲代码
作者: 大神在何方    时间: 2015-4-5 23:16
加油吧~~
作者: 宸宸    时间: 2015-4-5 23:45
楼主加油,我底子也不是很好,有眼高手低的毛病。但是我相信只要付出过,就不会后悔
作者: m-勇敢的心    时间: 2015-4-5 23:53
多敲两遍就快了吧
作者: 王振光    时间: 2015-4-6 00:38
反正我是把接口看做拓展功能。抽出来。谁需要谁去实现。
作者: 君北羽    时间: 2015-4-6 01:35
王振光 发表于 2015-4-6 00:38
反正我是把接口看做拓展功能。抽出来。谁需要谁去实现。

恩恩对的,没问题




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2