Maison  >  Article  >  Java  >  Comment calculer le périmètre et l'aire des triangles et des rectangles en Java à l'aide d'interfaces, de polymorphisme, d'héritage et de classes

Comment calculer le périmètre et l'aire des triangles et des rectangles en Java à l'aide d'interfaces, de polymorphisme, d'héritage et de classes

高洛峰
高洛峰original
2017-01-19 13:59:251373parcourir

L'exemple de cet article décrit comment Java utilise les interfaces, le polymorphisme, l'héritage et les classes pour calculer le périmètre et l'aire des triangles et des rectangles. Partagez-le avec tout le monde pour votre référence. Les détails sont les suivants :

Définir la spécification de l'interface :

/** 
 * @author vvv 
 * @date 2013-8-10 上午08:56:48 
 */
package com.duotai; 
/** 
 * 
 * 
 */
public interface Shape { 
  public double area(); 
  public double longer(); 
} 
/** 
 * @author vvv 
 * @date 2013-8-10 上午09:10:06 
 */
package com.duotai; 
/** 
 * 
 * 
 */
public class Triangle implements Shape { 
  double s1; 
  double s2; 
  double s3; 
  // 初始化一个三角形对象,并赋予该三角形三边长 
  public Triangle(double s1, double s2, double s3) { 
    if (isTri(s1, s2, s3)) { 
      this.s1 = s1; 
      this.s2 = s2; 
      this.s3 = s3; 
    } else { 
      System.out.println("输入的三边长" + s1 + "、" + s2 + "、" + s3
      + "不能组成一个三角形,请重新输入三边长!"); 
    } 
  } 
  // 判断是否是个三角形 
  public boolean isTri(double s1, double s2, double s3) { 
    if (s1 + s2 < s3) { 
      return false; 
    } 
    if (s1 + s3 < s2) { 
      return false; 
    } 
    if (s2 + s3 < s1) { 
      return false; 
    } 
    return true; 
  } 
  /* 
   * (non-Javadoc) 
   * 
   * @see com.duotai.Shape#area() 
   */ 
  @Override 
  public double area() { 
    double p = (s1 + s2 + s3) / 2; 
    return Math.sqrt(p * (p - s1) * (p - s2) * (p - s3)); 
  } 
  /* 
   * (non-Javadoc) 
   * 
   * @see com.duotai.Shape#longer() 
   */ 
  @Override 
  public double longer() { 
    return s1 + s2 + s3; 
  } 
} 
/** 
 * @author vvv 
 * @date 2013-8-10 上午09:12:06 
 */ 
package com.duotai; 
/** 
 * 
 * 
 */ 
public class Director implements Shape { 
  double s1; 
  double s2; 
  // 初始化一个长方形,并赋予该长方形两边长 
  public Director(double s1, double s2) { 
    this.s1 = s1; 
    this.s2 = s2; 
  } 
  /* 
   * (non-Javadoc) 
   * 
   * @see com.duotai.Shape#area() 
   */ 
  @Override 
  public double area() { 
    // TODO Auto-generated method stub 
    return s1 * s2; 
  } 
  /* 
   * (non-Javadoc) 
   * 
   * @see com.duotai.Shape#longer() 
   */ 
  @Override 
  public double longer() { 
    // TODO Auto-generated method stub 
    return 2 * (s1 + s2); 
  } 
} 
/** 
 * @author vvv 
 * @date 2013-8-10 上午09:13:30 
 */ 
package com.duotai; 
/** 
 * 
 * 
 */ 
public class Test { 
  /** 
   * @param args 
   */
  public static void main(String[] args) { 
    Shape triangle = new Triangle(3, 4, 8);
    // 新建一个三边长为3,4,5的三角形 
    Shape tri = new Triangle(3, 4, 5); 
    Shape director = new Director(10, 20);
    // 新建一个两边长为10,20的长方形 
    System.out.println("三角形triangle的周长为:" + triangle.longer()); 
    System.out.println("三角形triangle的面积为:" + triangle.area()); 
    System.out.println("三角形tri的周长为:" + tri.longer()); 
    System.out.println("三角形tri的面积为:" + tri.area()); 
    System.out.println("该长方形的周长为:" + director.longer()); 
    System.out.println("该长方形的面积为:" + director.area()); 
  } 
}

J'espère que cet article sera utile à la programmation Java de chacun.

Pour plus d'articles liés à Java sur la façon de calculer le périmètre et l'aire de triangles et de rectangles à l'aide d'interfaces, de polymorphisme, d'héritage et de classes, veuillez faire attention au site Web PHP chinois !

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn