【Java】第8章 JAVA继承和多态 头歌Educoder实训作业(八)

第1关:学习-Java继承和多态之子类继承性

任务描述
本关任务:定义一个 Dog 类,继承 Animal 类(Animal 类已经定义),定义自己的性别属性,并定义获取和设置性别属性的方法和 sleep 方法。

相关知识
继承是 Java 面向对象编程技术的一块基石,因为它允许创建分等级层次的类。
继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父类相同的行为。

/**
 * 任务:定义一个 Dog 类,继承 Animal 类,定义自己的性别属性,并定义获取和设置性别属性的方法和 sleep 方法。
 * 类名为:Dog
 */

// 请在下面的Begin-End之间按照注释中给出的提示编写正确的代码
/********** Begin **********/
// 定义一个Dog的公开类,并继承Animal类
class Dog extends Anaimal{
    String Sex;
    Dog(String type,String name,int age){
        super(type,name,age);
    }
    public String getSex() {
        return Sex;
    }
    public void setSex(String Sex) {
        this.Sex = Sex;
    }
    public void sleep(){

        System.out.print("一只名为"+getName()+"性别为"+getSex()+"的小狗,现在"+getAge()+"岁,它正在睡觉");
    }

}
    //定义小狗的性别sex,字符串类型


    // 定义获取和设置小狗性别的方法。


    //定义小狗的睡觉方法,实现输出:一只名为xx性别为xx的小狗,现在xx岁,它正在睡觉


/********** End **********/

Anaimal类:

public class Anaimal {
    private String type;
    private String name;
    private int age;

    public Anaimal(String type, String name, int age) {
        this.type = type;
        this.name = name;
        this.age = age;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getType() {
        return type;
    }

    public void setType(String type) {
        this.type = type;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }
}

Test类:

public class Test {
    public static void main(String[] args) {
        Dog dog = new Dog("哈士奇","二哈",3);
        dog.setSex("雌");
        dog.sleep();
    }
}

第2关:练习-Java继承和多态之子类继承性

任务描述
本关任务:定义一个矩形 Rectangle 类和 三角形 Triangle 类,都继承 Shape 类,在这两个类中分别定义 一个名为 area 的方法,实现计算该形状面积的功能(Shape 类已经定义完成,可以在 Shape.java 文件查看相应代码)。

编程要求
仔细阅读右侧编辑区内给出的代码框架及注释,按照提示编写程序代码。
要求:在各自的文件中完成相应的类,点击右侧的代码文件可以文件的替换。
Rectangle类:

/**
 * 任务:定义一个矩形 Rectangle 类,继承 Shape 类,
 * 在这个类中分别定义一个名为 area 的方法,实现计算该形状面积的功能。
 * 类名为:Rectangle
 */

// 请在下面的Begin-End之间按照注释中给出的提示编写正确的代码
/********** Begin **********/
// 定义一个Rectangle的公开类,并继承Shape类
class Rectangle extends Shape{
double area(){
	 double a=super.getHeight();
	 double b=super.getWidth();
	 return a*b;
    
}
}

    // 定义一个area方法,实现计算矩形面积的功能。

/********** End **********/

Triangle类:

/**
 * 任务:定义一个三角形 Triangle 类,继承 Shape 类,
 * 在这个类中分别定义一个名为 area 的方法,实现计算该形状面积的功能。
 * 类名为:Triangle
 */

// 请在下面的Begin-End之间按照注释中给出的提示编写正确的代码
/********** Begin **********/
class Triangle extends Shape{
double area(){
    double a=super.getHeight();
    double b=super.getWidth();
    return 0.5*a*b;
    
}
}
/
  • 4
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java作为一种面向对象的编程语言,具有封装、继承和多这三个重要概念。 首先,封装是指将数据和对数据的操作封装在一个类中,隐藏了现的细节。通过封装,我们可以将数据的访问权限进行控制,从而保证数据的安全性和完整性。通过提供公共方法,我们可以控制对象对数据的访问方式,使得使用者只能通过指定的方法来访问和修改数据,避免了不恰当的操作。 其次,继承是指子类可以继承父类的属性和方法,可以现代码的复用。通过继承,我们可以建立类之间的层次关系,并且在子类中可以重写父类的方法,现对方法的扩展和改进。继承还可以提高代码的可维护性和可扩展性,当需要修改或新增功能时,只需要在相应的子类中进行修改或扩展,而不需要修改所有的类。 最后,多是指同一个方法可以根据不同的对象产生不同的行为。多性可以提高代码的灵活性和可扩展性,使代码更易于理解和维护。通过多,我们可以对不同对象使用相同的方法和接口,使得代码的逻辑更清晰,减少条件判断和重复的代码。 综上所述,封装、继承和多Java面向对象编程中的重要概念。封装可以保证数据的安全性和完整性,继承可以现代码的复用和功能的扩展,多可以提高代码的灵活性和可扩展性。掌握这三个概念,可以帮助我们更好地设计和现面向对象的程序,提高代码的质量和效率。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值