Heim > Java > javaLernprogramm > So berechnen Sie den Umfang und die Fläche von Dreiecken und Rechtecken in Java mithilfe von Schnittstellen, Polymorphismus, Vererbung und Klassen

So berechnen Sie den Umfang und die Fläche von Dreiecken und Rechtecken in Java mithilfe von Schnittstellen, Polymorphismus, Vererbung und Klassen

高洛峰
Freigeben: 2017-01-19 13:59:25
Original
1397 Leute haben es durchsucht

Das Beispiel in diesem Artikel beschreibt, wie Java Schnittstellen, Polymorphismus, Vererbung und Klassen verwendet, um den Umfang und die Fläche von Dreiecken und Rechtecken zu berechnen. Teilen Sie es als Referenz mit allen. Die Details lauten wie folgt:

Definieren Sie die Schnittstellenspezifikation:

/** 
 * @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()); 
  } 
}
Nach dem Login kopieren

Ich hoffe, dieser Artikel wird für die Java-Programmierung aller hilfreich sein.

Weitere Java-bezogene Artikel zur Berechnung des Umfangs und der Fläche von Dreiecken und Rechtecken mithilfe von Schnittstellen, Polymorphismus, Vererbung und Klassen finden Sie auf der chinesischen PHP-Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage