[ Java ] Kế thừa trong Java - Ví dụ 1: Xây dựng các lớp để tính chu vi, diện tích hình chữ nhật và tam giác [ Inheritance in Java ]

Kế thừa trong Java (Inheritance)
Ví dụ 1: Xây dựng các lớp theo mô hình

Yêu cầu:
- Khởi tạo 2 đối tượng của lớp HCN và TamGiac
- In kết quả.

[Cài đặt chương trình]
- Tạo Project với các thành phần như hình vẽ


- Cài đặt các lớp như sau:

/*** Class HinhHoc ***/
package kethua1;
import java.util.Scanner;
public class HinhHoc {
    String tenHinh;
    int soCanh;
    // Phuong thuc nhap
    void Nhap(){
        Scanner in=new Scanner(System.in);
        System.out.print("\n Nhap ten hinh: ");
        tenHinh=in.nextLine();
        System.out.print("\n Nhap so canh: ");
        soCanh=in.nextInt();
    }
    void InKQ(){
        System.out.println("\n IN KET QUA: \n + Ten hinh: "+tenHinh+"\n + So canh: "+soCanh);
    }
}

/*** Class HCN ***/
package kethua1;
import java.util.Scanner;
public class HCN extends HinhHoc{
    float a,b;
    // Nap chong phuong thuc Nhap
    void Nhap(){
        tenHinh="Hinh chu nhat";
        soCanh=4;
        System.out.print("\n NHAP THONG TIN HINH CHU NHAT:");
        Scanner in=new Scanner(System.in);
        System.out.print("\n - Nhap canh a: ");
        a=in.nextFloat();
        System.out.print("\n - Nhap canh b: ");
        b=in.nextFloat();
    }
    // Phuong thuc tinh chu vi
    float ChuVi(){
        return (2*(a+b));
    }
    // Phuong thuc tich dien tich
    float DienTich(){
        return a*b;
    }
    // Phuong thuc InKQ
    void InKQ(){
        super.InKQ();// Goi phuong thuc InKQ() cua lop cha
        System.out.println("\n + Chu vi : "+ ChuVi()+"\n + Dien tich :"+DienTich());
    }
}

/*** Class TamGiac ***/
import java.util.Scanner;
public class TamGiac extends HinhHoc{
    float a,b,c;
    // Nap chong phuong thuc Nhap
    void Nhap(){
        tenHinh="Hinh tam giac";
        soCanh=3;
        System.out.print("\n NHAP THONG TIN HINH TAM GIAC:");
        Scanner in=new Scanner(System.in);
        System.out.print("\n - Nhap canh a: ");
        a=in.nextFloat();
        System.out.print("\n - Nhap canh b: ");
        b=in.nextFloat();
        System.out.print("\n - Nhap canh c: ");
        c=in.nextFloat();
    }
    // Phuong thuc tinh chu vi
    float ChuVi(){
        return (a+b+c);
    }
    // Phuong thuc tich dien tich
    float DienTich(){
        float p=ChuVi()/2;
        return ((float)Math.sqrt(p*(p-a)*(p-b)*(p-c)));
    }
    // Phuong thuc InKQ
    void InKQ(){
        super.InKQ();// Goi phuong thuc InKQ() cua lop cha
        System.out.println("\n + Chu vi : "+ ChuVi()+"\n + Dien tich :"+DienTich());
    }  
}

/*** Class KeThua1 (class Main) ***/
package kethua1;
public class Kethua1 {
    public static void main(String[] args) {
        // Khoi tao doi tuong HCN
        HCN t=new HCN();
        t.Nhap();
        t.InKQ();
        // Khoi tao doi tuong TamGiac
        TamGiac t1=new TamGiac();
        t1.Nhap();
        t1.InKQ();
       
       
    }
}

* Có thể bản quan tâm: [MMO] Hướng Dẫn *Kiếm Tiền Tự Động* Với Các Ứng Dụng Treo Máy *CỰC KỲ ĐƠN GIẢN VÀ HIỆU QUẢ*