• 第十三节:接口和抽象类实验


    标题图

    目的

    1.抽象类的概念
    2.接口的定义和实现

    要求

    1.编写一个抽象类Shape,声明计算图形面积的抽象方法。

    再分别定义Shape的子类Circle(圆)和Rectangle(矩形),在两个子类中按照不同图形的面积计算公式,实现Shape类中计算面积的方法。定义测试类ShapeTest对圆和矩形的面积和周长进行测试。

    2.定义一个接口ITest,接口中有3个抽象方法如下。

    (1)“long fact(int m);”方法的功能为求参数的阶乘。
    (2)“long intPower(int m,int n);”方法的功能为求参数m的n次方。
    (3)“boolean findFactor(int m,int n);”方法的功能为判断参数m加上参数n的和是否大于100。

    定义类Test实现该接口,在主方法中对3个方法进行测试,并将调用方法所得的结果输出。

    实现步骤参考:

    抽象类的定义和使用:
    1.定义抽象类Shape:

    //抽象类的定义,抽象类中可以有抽象的方法,也可以具体已实现的方法
    public abstract class Shape {
     public abstract double area();
     public abstract double zhou();
    }
    

    2.定义抽象类的子类Circle:

    //抽象类的子类必实现抽象类中所有的抽象方法,否则该类还是抽象的
    public class Cricle extends Shape {
     //为具体图形类添加属性
     private double r;
     private final double PI=3.14;
     //为具体圆形添加构造方法
     public Circle(){
      super();
     }
     public Circle(double r){
      super();
      this.r = r;
     }
     //修改具类的方法实现,返回计算出的圆的面积
     @Override
     public double area(){
     return PI*r*r;
     }
     //修改具类的方法实现,返回计算的圆的周长
     @Override
     public double zhou(){
      return PI*2*r;
     }
     public static void main(String[] args){
     }
    }
    

    3.在主方法中添加测试的对象,对方法进行测试输入结果

    public static void main(String[] args){
     //定义圆形类对象,并用具体图形类圆实例化
     Shape shape = new Circle(1);
     System.out.println(shape.area());
     System.out.println(shape.zhou());
    }
    

    接口的定义和使用:

    1.用interface关键字定义接口:

    //接口定义使用interface关键字
    //接口中所有的方法都是公有的抽象的,public abstract 可以省略
    public interface Shape {
     double area();
     double zhou();
    }
    

    2.定义接口的实现类

    //具体类Circle必须实现(implements)接口中所有抽象的方法
    public class Circle implements Shape {
     //为具体图形添加属性
     private double r;
     private final double PI = 3.14;
     //为具体图形类添加构造方法
     public Circle(){
      super();
     }
     public Circle(double r){
     super();
     this.r=r;
     }
     //修改具体类的方法实现
     @Override
     public double area(){
      return PI*r*r;
     }
     @Override
     public double zhou(){
      return PI*2*r;
     }
     public static void main(String[] args){
     }
    }
    

    3.在主方法中添加测试的对象,对方法进行测试输入结果

    public static void main(String[] args){
     Shape shape = new Circle(1);
     System.out.println(shape.zhou());
     System.out.println(shape.area());
    }
    

    小礼物走一走 or 点赞

    图片

  • 相关阅读:
    quickSort
    L1-3 宇宙无敌加法器
    deepin下用命令管理自己的Github仓库
    PAT 1008
    增量包算法,时间复杂度3n
    vue组件化-容器
    vue模块化设计
    语言语法糖Sugar
    虚拟dom节点,支持querySelector
    html语法树转html
  • 原文地址:https://www.cnblogs.com/dashucoding/p/9387914.html
Copyright © 2020-2023  润新知