练习-Java继承和多态之子类继承性(Educoder实训)

本编程任务涉及Java面向对象编程,要求定义一个Rectangle类和Triangle类,这两个类都继承自Shape类,并实现计算面积的方法。Rectangle类通过设置高度和宽度计算矩形面积,Triangle类则计算三角形面积。每个类内部都重写了area方法,分别为h*w和h*w/2。注意,子类不能直接访问父类的私有属性,因此在子类中重新定义了变量来计算面积。

任务描述

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

编程要求

仔细阅读右侧编辑区内给出的代码框架及注释,按照提示编写程序代码。

要求:在各自的文件中完成相应的类,点击右侧的代码文件可以文件的替换。

测试说明

平台将使用测试集运行你编写的程序代码,若全部的运行结果正确,则通关。
可在右侧“测试结果”区查看具体的测试集详情。

Rectangle.java

public class Rectangle extends Shape{
    double h,w;
    public void setHeight(double h){
        this.h=h;
    }
    public void setWidth(double w){
        this.w=w;
    }
    public double area(){
        return h*w;
    }
}

Triangle.java

public class Triangle extends Shape{
    double h,w;
    public void setHeight(double h){
        this.h=h;
    }
    public void setWidth(double w){
        this.w=w;
    }
    public double area(){
        return h*w/2;
    }
}

子类无法直接继承父类的私有属性(除了用super或者set&get)。所以可以直接在子类中新定义变量并获取,从而实现计算面积的方法

### 回答1: Java中的继承是指一个可以继承一个的属性方法。子类继承的所有属性方法,同时也可以添加自己的属性方法。多态是指一个的多种形态,即一个可以被当做其父或接口的实例来使用。在Java中,子类继承的性质同时具有多态性。 ### 回答2: Java继承多态是面向对象程序设计的基础,也是Java语言的特色之一。在Java中,通过继承可以使子类继承的属性方法,并且可以扩展或修改这些属性方法,这样可以大大提高代码的复用性可维护性。而多态性则是Java的另一个特点,它允许同一种对象以不同的形态出现,这样可以提高程序的灵活性可扩展性。 子类继承性继承的一种特殊形式,它指的是子类继承的所有属性方法,并且可以在此基础上添加新的属性方法。在Java中,子类通过关键字“extends”来实现对父继承,如下所示: ``` // 父 public class Animal { public void eat() { System.out.println("Animal is eating."); } } // 子类 public class Dog extends Animal { public void bark() { System.out.println("Dog is barking."); } } ``` 在上面的代码中,子类Dog继承了父Animal的eat()方法,并且添加了新的bark()方法。这样,在使用Dog时,不仅可以调用自身的bark()方法,还可以调用继承自Animal的eat()方法,如下所示: ``` Dog dog = new Dog(); dog.bark(); // 输出:Dog is barking. dog.eat(); // 输出:Animal is eating. ``` 从上面的示例中可以看到,在子类继承性的基础上,可以实现代码的复用扩展,这也是Java继承的主要用途。 总之,子类继承性Java继承的一种形式,它实现了代码的复用扩展,并且可以在子类中添加新的属性方法。同时,子类继承性也是实现Java多态性的基础。因此,在实际开发中,我们应该合理地使用Java继承多态的特性,以提高代码的可维护性可扩展性。 ### 回答3: Java中的继承多态是面向对象编程中非常重要的概念,可通过子类继承来实现代码的复用。当父里的方法成员变量被子类继承子类将自动获得父中的属性行为,而无需重新定义它们。子类继承性是面向对象编程中最重要的特性之一。 Java中的继承性允许继承字段方法,这些方法字段在子类中都可被访问使用。当子类继承了父,父中的字段方法就成为子类成员。子类可以访问父的公共成员、私有成员、受保护成员默认成员,但子类无法访问父中的static成员。 在继承过程中,子类可以对继承来的方法进行重写,以达到覆盖原有的方法增强原有方法的目的。如果一个方法在子类中与父中方法的名称、返回值参数型相同,那么这个方法就是父中的方法会被完全覆盖。 多态性是指子类对象能够被作为父对象使用的特性。这种特性使程序能够编写通用代码,同时在运行时选择不同的子类对象来实现不同的操作。多态性是面向对象编程中的重要特性,它提高了代码的复用率可维护性。 总之,Java中的子类继承性是面向对象编程中非常重要的概念,可通过继承来实现代码的复用。同时,多态性也是面向对象编程中的重要特性,它提供了更高级的编程技术,使程序更加灵活、通用。理解并掌握Java继承多态,对于Java的面向对象编程非常重要。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值