zoukankan      html  css  js  c++  java
  • 第十三节:接口和抽象类实验

    标题图

    目的

    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 点赞

    图片

  • 相关阅读:
    Java RunTime Environment (JRE) or Java Development Kit (JDK) must be available in order to run Eclipse. ......
    UVA 1597 Searching the Web
    UVA 1596 Bug Hunt
    UVA 230 Borrowers
    UVA 221 Urban Elevations
    UVA 814 The Letter Carrier's Rounds
    UVA 207 PGA Tour Prize Money
    UVA 1592 Database
    UVA 540 Team Queue
    UVA 12096 The SetStack Computer
  • 原文地址:https://www.cnblogs.com/dashucoding/p/11932585.html
Copyright © 2011-2022 走看看