【Java】继承和抽象类的练习题

2023-02-24 15:06:21 浏览数 (2)

  1. 继承

请用代码描述:

一只黄色的加菲猫和一条白色名称为洛洛的哈士奇狗

要求: 把猫和狗共性抽取到动物类中

  1. 定义动物类(Animal)
    1. 成员变量 名称(name), 颜色(color)
    2. 要求:成员变量私有,提供空参和有参的构造方法
  2. 定义猫类(Cat),继承Animal类
    1. 提供空参,有参构造方法,在有参构造中调用父类的构造方法
  3. 定义狗类(Dog)
    1. 成员变量: 品种(breed)
    2. 提供空参,有参构造方法,在有参构造中调用父类的构造方法
  4. 创建测试类Test

在main方法中

使用Cat类的带参构造创建猫对象 c

使用 Dog 类的带参构造创建狗对象 d

  1. 继承

  请使用代码描述:  

2岁的红色的公鸡会吃饭(啄米)和打鸣

1岁的黑色的鸭子会吃饭(吃鱼)和游泳.

提示: 把公鸡和鸭子的共性抽取家禽类中,家禽类不使用抽象类

  1. 定义家禽类(Poultry)

成员变量(私有):  颜色(color),年龄(age)

成员方法:  吃饭(void eat())

输出格式:  2岁的红色家禽在吃饭

提供空参和带参构造方法

提供setXxx和getXxx方法

  1. 定义公鸡类(Cock),继承Poultry类

成员方法:

        1.  重写父类的 eat()方法

输出格式::  2岁的红色公鸡在啄米

        1.  特有方法:  打鸣(crow)

输出格式::  2岁的红色公鸡在打鸣

提供空参和带参构造方法

  1. 定义鸭子类(Duck),继承Poultry类

成员方法:

        1.  重写父类的 eat()方法
          1. 输出格式: 1岁的黑色的鸭子在吃鱼
        2.  特有方法: swim()  游泳方法
          1. 输出格式:  1岁的黑色的鸭子在游泳

提供空参和带参构造方法

  1. 定义Test类

在main方法中

创建公鸡对象c,并把颜色赋值为”红色”,年龄赋值为2

调用公鸡对象c的吃饭方法

调用公鸡对象c的打鸣方法

创建鸭子对象 d,并把颜色赋值为”黑色”,年龄赋值为1.

调用鸭子对象 d 的吃饭方法

调用鸭子对象 d 的游泳方法

  1. 继承

请使用代码描述:  

工资为8000元的30岁的王小平老师,会吃饭(吃工作餐)和讲课.

成绩为90分的15岁的李小乐学生,会吃饭(吃学生餐)和学习.

提示: 把老师和学生的共性抽取人类中,人类不使用抽象类

  1. 定义Person类

成员变量(私有):  名称(name),年龄(age)

成员方法:  吃饭(void eat())

        1. 输出格式:  30岁的王小平在吃饭

提供空参和带参构造方法

提供setXxx和getXxx方法

  1. 定义老师类(Teacher),继承Person类

成员变量:  salary(工资)

成员方法:

        1.  重写父类的 eat()方法

输出格式:: 工资为8000元的30岁的王小平老师在吃工作餐

        1.  特有方法:  lecture() 讲课方法

输出格式:: 工资为8000元的30岁的王小平老师在讲课

提供空参和带参构造方法

提供setXxx和getXxx方法

  1. 定义学生类(Student),继承Person类

成员变量: score(成绩)

成员方法:

        1.  重写父类的 eat()方法

输出格式:: 成绩为90分的15岁的李小乐学生在吃学生餐

        1.  特有方法: study() 学习方法

输出格式:: 成绩为90分的15岁的李小乐学生在学习

提供空参和带参构造方法

提供setXxx和getXxx方法

  1. 定义Test类

在main方法中

创建老师对象t,并把名称赋值为”王小平”,年龄赋值为30,工资赋值为8000

调用老师对象t的吃饭方法

调用老师对象t的讲解方法

创建学生对象 s,并把名称赋值为”李小乐”,年龄赋值为14,成绩赋值为90分.

调用学生对象 s 的吃饭方法

调用学生对象 s 的学习方法

  1. 继承

正在上传…重新上传取消

正在上传…重新上传取消

正在上传…重新上传取消

正在上传…重新上传取消

正在上传…重新上传取消

  1. 定义动物类(Animal)
    1. 成员变量:年龄(age),腿的个数(numOfLegs)
    2. 抽象方法: void eat()
    3. 提供空参和有参构造方法和setXxx和getXxx方法
  2. 定义食肉类动物(Carnivore)继承自动物类(Animal)
    1. 提供空参和有参构造方法
  3. 定义食草类动物(Herbivore)继承自动物类(Animal)
    1. 提供空参和有参构造方法
  4. 定义老虎类(Tiger)继承食肉类动物(Carnivore)
    1. 重写eat()方法

输出格式: 年龄为 2的4条腿的老虎在吃羊

    1. 提供空参和有参构造方法
  1. 定义啄木鸟(Pecker)继承食肉类动物(Carnivore)
    1. 重写eat()方法

输出格式: 年龄为 1岁的2条腿的啄木鸟的在吃昆虫

    1. 提供空参和有参构造方法
  1. 定义长颈鹿(Giraffe)继承食草动物(Herbivore)
    1. 重写eat()方法

输出格式: 年龄为 3 岁的4条腿的长颈鹿在吃树叶

    1. 提供空参和有参构造方法
  1. 定义兔子(Rabbit)继承食草动物(Herbivore)
    1. 重写eat()方法

输出格式: 年龄为 1岁的4条腿的兔子在吃狗尾草

    1. 提供空参和有参构造方法
  1. 定义测试类Test

在main方法中

创建老虎对象 t,年龄赋值为2,腿的个数赋值为4;调用老虎对象t的eat()方法

创建啄木鸟对象 p,年龄赋值为1,腿的个数赋值为2;调用啄木鸟对象p的eat()方法

创建长颈鹿对象 g,年龄赋值为3,腿的个数赋值为4;调用长颈鹿对象g的eat()方法

创建兔子对象 r,年龄赋值为1,,腿的个数赋值为4;调用兔子对象r的eat()方法

  1. 继承 **

  按要求编写一个Java应用程序:

(1)编写一个矩形类Rect,包含:

矩形的宽width;矩形的高height。

两个构造方法:

    一个带有两个参数的构造方法,用于将width和height属性初化;

    一个不带参数的构造方法,将矩形初始化为宽和高都为10。

        两个方法:

        求矩形面积的方法area()

        求矩形周长的方法perimeter()

(2)通过继承Rect类编写一个具有确定位置的矩形类PlainRect,其确定位置用

    矩形的左上角坐标来标识,包含:

    添加两个属性:矩形左上角坐标startX和startY。

    两个构造方法:

    带4个参数的构造方法,用于对startX、startY、width和height属性初始化;

    不带参数的构造方法,将矩形初始化为左上角坐标、长和宽都为0的矩形;

添加一个方法:

    判断某个点是否在矩形内部的方法isInside(double x,double y)。如在矩形内,返回true, 否则,返回false。

  提示:点在矩形类是指满足条件:

            x>=startX&&x<=(startX width)&&y<startY&&y>=(startY-height)

(3)编写PlainRect类的测试程序

    创建一个左上角坐标为(10,10),长为20,宽为10的矩形对象;

    计算并打印输出矩形的面积和周长;

判断点(25.5,13)是否在矩形内,并打印输出相关信息。

  1. 抽象类

定义一个抽象类 动物类Animal,里面有一个抽象方法voice() 打印动物的叫声,

定义一个类Cat 继承动物类,实现voice方法

定义一个类Pig继承动物类,实现voice方法。

定义一个类Dog继承动物类,实现voice方法

创建测试类,创建3个对象,调用方法

  1.  抽象类

在传智播客有很多员工(Employee 抽象类),按照工作内容不同分教研部员工(Teacher)和行政部员工(AdminStaff)

教研部根据教学的方式不同又分为讲师(Lecturer)和助教(Tutor)

行政部根据负责事项不同,有分为维护专员(Maintainer),采购专员(Buyer)

公司的每一个员工都编号,姓名和其负责的工作

工作内容:

讲师: 工号为 666 的讲师 傅红雪 在讲课

助教: 工号为 668的助教 顾棋 在帮助学生解决问题

维护专员: 工号为 686 的维护专员 庖丁 在解决不能共享屏幕问题

采购专员: 工号为 888 的采购专员 景甜 在采购音响设备

  1. 抽象类

请使用代码描述:  

18岁的演员景甜会吃饭(吃小龙虾)和跳舞

30岁的歌手薛之谦会吃饭(吃大闸蟹)和唱歌.

要求: 把演员和歌手的共性抽取人类中,使用抽象类和抽象方法

  1. 定义抽象类 人类(Person)

成员变量(私有):  姓名(name),年龄(age)

抽象方法:  吃饭(void eat())

提供空参和带参构造方法

提供setXxx和getXxx方法

  1. 定义演员类(Actor),继承Person类

成员方法:

        1. 重写父类的 eat()方法

输出格式:  18岁的演员景甜在吃小龙虾

        1.  特有方法:  跳舞(dance)

输出格式:  18岁的演员景甜在跳白天鹅.

提供空参和带参构造方法

  1. 定义歌手类(Singer),继承Person类

成员方法:

        1.  重写父类的 eat()方法

输出格式: 30岁的歌手薛之谦在吃大闸蟹

        1.  特有方法: sing()  唱歌

输出格式:  30岁的歌手薛之谦在演唱丑八怪

提供空参和带参构造方法

  1. 定义Test类

在main方法中

创建演员对象a,并把名称赋值为”景甜”,年龄赋值为18

调用演员对象a的吃饭方法

调用演员对象a的跳舞方法

创建歌手对象 s,并把姓名赋值为”薛之谦”,年龄赋值为30.

调用歌手对象 s 的吃饭方法

调用歌手对象 s 的唱歌方法

  1. 抽象类

请使用代码描述:  

四条腿黑色的狗会吃饭(吃骨头)和看家

两条腿的绿色鹦鹉吃饭(吃小米)和说话.

要求: 把狗和鹦鹉的共性抽取动物类中,使用抽象类和抽象方法

  1. 定义抽象类 动物类(Animal)

成员变量(私有):  颜色(color),腿的个数(numOfLegs)

抽象方法:  吃饭(void eat())

提供空参和带参构造方法

提供setXxx和getXxx方法

  1. 定义狗类(Dog),继承Animal类

成员方法:

        1. 重写父类的 eat()方法

输出格式::  4条腿黑色的狗在啃骨头

        1.  特有方法:  看家(lookHome)

输出格式::  4条腿黑色的狗在看家.

提供空参和带参构造方法

  1. 定义鹦鹉类(Parrot),继承Animal类

成员方法:

        1.  重写父类的 eat()方法

输出格式:: 2条腿的绿色鹦鹉在吃小米

        1.  特有方法: say()  说明

输出格式::  2条腿的绿色鹦鹉在说你好,丑八怪

      1. 提供空参和带参构造方法
  1. 定义Test类

在main方法中

创建Dog对象d,并把颜色赋值为”黑色”,腿的个数赋值为4

调用Dog对象d的吃饭方法

调用Dog对象d的看家方法

创建Porrot对象 p,并把颜色赋值为”绿色”,腿的个数赋值为2.

调用Porrot对象 p 的吃饭方法

调用Porrot对象 p 的说话方法

  1. 抽象类

请用代码描述:

20岁1.75米的男孩慕容紫英有一个18岁1.6米瓜子脸女朋友欧阳青青

欧阳青青在洗一件白色的李宁牌子的衣服

慕容紫英去散步(和欧阳青青)

慕容紫英用带有阳刚之气的声音对欧阳青青说:我会守护你一生一世

欧阳青青微笑着用于甜美的声音对慕容紫英说:有你在我就安心.

要求: 男孩和女孩的共有成员提取到人类中,使用抽象类和抽象方法

  1. 定义衣服类(Clothes)
    1. 成员变量:
      1. 颜色(color)
      2. 品牌(brand)
    2. 提供 无参,带参构造和setXxx和getXxx方法
  2. 抽象类(Person)
    1. 成员变量

姓名 name

年龄 age

身高 height

    1. 成员方法
      1. 抽象方法  void say(String content)
    2. 要求

提供无参和带参构造

提供setXxx和getXxx方法

3. 定义Girl类,继承Person类

    1. 成员变量

脸型(String face)

    1. 成员方法:

重写父类的  void say(String content) 方法

        1. 输出格式: 欧阳青青微笑着用于甜美的声音对慕容紫英说:有你在我就安心.

特有方法: 洗衣服 wash(Clothes c)

输出格式: 欧阳青青在洗一件白色的李宁牌子的衣服

    1. 要求:

提供无参和带参构造

提供setXxx和getXxx方法

  1. 定义Boy类,继承Person类
    1. 成员变量

女朋友 (girlFriend)

    1. 成员方法:

重写父类的  void say(String content) 方法

输出格式:容紫英用带有阳刚之气的声音对欧阳青青说:我会守护你一生一世

特有方法: 散步 walking()

输出格式: 慕容紫英和欧阳青青在河边的林荫小道上手牵着手散步

    1. 要求:

提供无参和带参构造

提供setXxx和getXxx方法

5. 定义测试类Test

    1. 提供main方法
    2. 在main方法中

创建衣服对象 c,品牌初始化为李宁,颜色初始化为白色

创建女孩对象 girl,姓名赋值为欧阳青青,年龄赋值为18,身高赋值为1.6,脸型赋值为瓜子脸

创建男孩对象 boy,姓名赋值为慕容紫英,年龄赋值以为20,身高赋值1.75,女朋友赋值为girl

调用对象girl的洗衣服方法

调用对象boy的散步方法

调用对象boy的说话方法,传入:”我会守护你一生一世”

调用对象 girl 的说话方法,传入:  “有你在我就安心.”

0 人点赞