|
案例14:我需要三种对象,一个是足球运动员(Sporter),一个是歌星(Singer),一个是电影演员(Player)描述: 足球运动员需要具有名称(name)、性别(sex)、所属俱乐部(club)等属性;行为有'说话'(speak),当调用'说话'这个行为的时候,可以显示出"我叫XXXX,性别XX,在XXXX俱乐部踢球" 歌星需要具有名称(name)、性别(sex)、歌唱的类型(musicType)(比如:摇滚、流行歌曲、民族歌曲等等);行为有'说话'(speak),当调用'说话'这个行为的时候,可以显示出"我叫XXXX,性别XX,我是唱XXXX类型歌曲的歌手"
电影演员具有名称(name)、性别(sex)、表演类型(performType)(比如:武打、喜剧、科幻);行为有'说话'(speak),当调用'说话'这个行为的时候,可以显示出"我叫XXXX,性别XX,我主要拍XXX类型的电影"要求:a.希望能够根据三个对象的共同点,建立一个基类'人'(Person),提取这三个对象的共同的属性和行为;b.分别提供多个构造器来实现各种情况的对象的创建;c.创建一个PersonMain这个主类,实现main方法,并分别创建这三种对象,并让他们'说话';d. 属于同一个包accp.lesson3.Training;e. 打包lesson3.jar 。
案例15:定义一个父类person、一个子类Student,每个类都有显示的构造方法,请同学们思考一个问题,我们通过子类的构造方法创建对象时?是否调用了父类的构造方法?如何通过程序检验?
案例16: 创建Rodent(啮齿动物):Mouse(老鼠),Gerbil(鼹鼠),Hamster(大颊鼠)等的一个继承分级结构。在基础类中,提供适用于所有Rodent的方法,并在衍生类中覆盖它们,从而根据不同类型的Rodent采取不同的行动。创建一个Rodent数组,在其中填充不同类型的Rodent,然后调用自己的基础类方法,看看会有什么情况发生。
案例17:将案例16 Rodent(啮齿动物基础类)设计成接口,看看又有什么情况发生。
考察知识:面向对象的特性:封装性、多态性、继承性等知识的掌握。 |
|