Advertisement
huyhung94

[KStudy] Override Example

Nov 17th, 2015
150
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.54 KB | None | 0 0
  1. package com.hungdh;
  2.  
  3. import java.util.Scanner;
  4.  
  5. /**
  6.  * @author hungdh
  7.  *
  8.  */
  9. public class ExampleOverride {
  10.  
  11.     /**
  12.      * Đề bài :Tạo lớp hình chữ nhật có 2 thuộc tính là độ dài 2 cạnh a, b,
  13.      * phương thức tính diện tích sẽ tính diện tích hình chữ nhật dựa vào 2
  14.      * cạnh.
  15.      *
  16.      * Tạo class hình tam giác, kế thừa từ class hình chữ nhật, bổ sung thêm
  17.      * thuộc tính là độ dài cạnh c, ghi đè phương thức tính diện tích và thay
  18.      * vào đó là công thức tính diện tích hình tam giác dựa vào độ dài 3 cạnh a,
  19.      * b, c.
  20.      *
  21.      * Tạo một đối tượng hình chữ nhật và 1 đối tượng hình tam giác, gán các giá
  22.      * trị nhập vào từ bàn phím rồi in diện tích mỗi hình ra màn hình.
  23.      */
  24.  
  25.     public static void main(String[] args) {
  26.         HinhChuNhat hcn =  new HinhChuNhat();
  27.         TamGiac tamGiac = new TamGiac();
  28.         Scanner inp = new Scanner(System.in);
  29.        
  30.         /*
  31.          * Nhập độ dài hình chữ nhật
  32.          */
  33.         System.out.println("=== Hình chữ nhật ===");
  34.         System.out.print("Nhập cạnh A: ");
  35.         hcn.setCanhA(inp.nextDouble());
  36.         System.out.print("Nhập cạnh B: ");
  37.         hcn.setCanhB(inp.nextDouble());
  38.         System.out.println("Diện tích hình chữ nhật: "+hcn.square());
  39.        
  40.         /*
  41.          * Kích thước tam giác
  42.          */
  43.         System.out.println("\n\n=== Tam giác ===");
  44.         System.out.print("Nhập cạnh A: ");
  45.         tamGiac.setCanhA(inp.nextDouble());
  46.        
  47.         System.out.print("Nhập cạnh B: ");    
  48.         tamGiac.setCanhB(inp.nextDouble());
  49.        
  50.         System.out.print("Nhập cạnh C: ");
  51.         tamGiac.setCanhC(inp.nextDouble());    
  52.         System.out.println("Diện tích tam giác: "+tamGiac.square());
  53.        
  54.         inp.close();
  55.     }
  56.  
  57. }
  58.  
  59. class HinhChuNhat {
  60.     private double canhA, canhB;
  61.  
  62.     public HinhChuNhat() {
  63.  
  64.     }
  65.  
  66.     public double square() {
  67.         return canhA * canhB;
  68.     }
  69.  
  70.     public void setCanhA(double canhA) {
  71.         this.canhA = canhA;
  72.     }
  73.  
  74.     public void setCanhB(double canhB) {
  75.         this.canhB = canhB;
  76.     }
  77.  
  78.     public double getCanhA() {
  79.         return canhA;
  80.     }
  81.  
  82.     public double getCanhB() {
  83.         return canhB;
  84.     }
  85.  
  86. }
  87.  
  88. class TamGiac extends HinhChuNhat {
  89.     private double canhC;
  90.  
  91.     // Override method
  92.     public double square() {
  93.         double p = (double) (getCanhA() + getCanhB() + canhC) / 2;
  94.         return Math.sqrt(p * (p - getCanhA()) * (p - getCanhB())
  95.                 * (p - canhC));
  96.     }
  97.  
  98.     public void setCanhC(double canhC) {
  99.         this.canhC = canhC;
  100.     }
  101.  
  102.     public double getCanhC() {
  103.         return canhC;
  104.     }
  105. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement