Java面向对象:几何图形(继承、方法重写)

描述
【描述】

几何对象有许多共同的属性和行为。它们可以是用某种颜色画出来的、填充的或者不填充的。可以定义一个GeometricObject类,用来建模所有的几何对象。GeometricObject类包括:

String类型的私有数据域color,用于保存几何对象的颜色,默认值为white。
boolean类型的私有数据域filled,用于表明几何对象是否填充颜色,默认值为false。
有参构造方法,将颜色、是否填充颜色设置为给定的参数。
访问器方法getColor、isFilled,分别用于访问颜色、是否填充颜色。
更改器方法setColor、setFilled,分别用于更改颜色、是否填充颜色。
重写成员方法toString,返回几何对象的字符串描述。
定义一个名为Triangle的类来扩展GeometricObject类。该类包括:

三个名为side1、side2、side3的double类型私有数据域,表示三角形的三条边,它们的默认值均为1.0。
无参构造方法,将三角形三条边设置为默认值
有参构造方法,将三角形三条边设置为给定的参数。
成员方法getArea,返回三角形的面积。
成员方法getPerimeter,返回三角形的周长。
重写toString方法,返回三角形的字符串描述。

GeometricObject类的定义应该这样开始:

class GeometricObject {

也就是说,GeometricObject类的class前面不要有public。

Triangle类的定义应该这样开始:

class Triangle extends GeometricObject {

也就是说,Triangle类的class前面不要有public。

【输入】

在一行中,输入三角形的三条边、颜色以及一个Boolean值表明该三角形是否填充。

【输出】

三角形的三条边、颜色、表明是否填充的真或假的值,以及面积、周长。

【输入示例】

3 4 5 red false

【输出示例】

Triangle:

side1 = 3.0 side2 = 4.0 side3 = 5.0

Color: red and filled: false

The area is 6.0

The perimeter is 12.0

import java.util.Scanner;
class GeometricObject {
   
    private String col;
        private boolean fil;

        public GeometricObject() {
   
            col = "white";
            fil = false;
        }

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值