抽象类的练习(求形状的面积和长度)

训练要点:

抽象类的定义和继承

抽象方法定乂和重号

需求说明:

1:定义抽象类MyShape(图形)

定义抽象方法获取图形的长度和面积


2:定义子类Rect继承父类My Shape
定义自身特有的长和宽(成员变量) width height;
实现父类未实现的函数。
3:定义子类 Circle实现父类My Shape
定义自身特有的半径和圆周率(使用常量)
实现父类为实现的方法。

package com.etc.day03.lianxi4;

public abstract class Myshape {

    /**
     * 获取长度
     */
    public abstract void MyLength();
    /**
     * 获取面积
     */
    public abstract void MySizes();
}






package com.etc.day03.lianxi4;

public class Circle extends Myshape{
    private int r;

    public int getR() {
        return r;
    }

    public void setR(int r) {
        this.r = r;
    }

    @Override
    public void MyLength() {
        System.out.println("圆形的长度为:" + 2 * Math.PI * r);
    }

    @Override
    public void MySizes() {
        System.out.println("圆形的面积为:" + Math.PI * r * r);
    }
}






package com.etc.day03.lianxi4;

public class Rect extends Myshape{
    private int length;
    private int lenient;

    public Rect() {
    }

    public int getLength() {
        return length;
    }

    public void setLength(int length) {
        this.length = length;
    }

    public int getLenient() {
        return lenient;
    }

    public void setLenient(int lenient) {
        this.lenient = lenient;
    }

    public Rect(int length, int lenient) {
        this.length = length;
        this.lenient = lenient;
    }

    @Override
    public void MyLength() {
        System.out.println("图形的长度为:" + 2 *(lenient + lenient));
    }

    @Override
    public void MySizes() {
        System.out.println("图形的面积为:" + length * lenient);
    }
}





package com.etc.day03.lianxi4;

import java.util.Scanner;

public class Test1 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入长方型的长");
        int length = scanner.nextInt();
        System.out.println("请输入长方型的宽");
        int lenient = scanner.nextInt();
        Rect rect = new Rect(length,lenient);
        rect.MyLength();
        rect.MySizes();

        System.out.println("请输入圆形的半径");
        int r = scanner.nextInt();
        Circle circle = new Circle();
        circle.setR(r);
        circle.MyLength();
        circle.MySizes();

        scanner.close();
    }
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值