[ Java ] Kế thừa trong Java - Ví dụ 2: Sử dụng phương thức khởi tạo trong kế thừa [Inheritance in Java]

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

Trong đó:
  - Phép công: tử / mẫu + a
  - Phép trừ: tử / mẫu - b
  - Rút gọn: rút gọn phân số tử / mẫu

Yêu cầu:
  - Khởi tạo đối tượng cho các lớp PhepCong, PhepTru, RutGon
  - In kết quả tương ứng của từng đối tượng.

[Cài đặt chương trình với NetBean]
- Xây dựng Project như hình sau:



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

/*** class ToanHoc ***/

package kethua2;
public class ToanHoc {
    String tenPT; // ten phep toan
    int soTH;// So toan hang
    // Phuong thuc khoi tao
    public ToanHoc(String tenPT, int soTH){
        this.tenPT=tenPT;
        this.soTH=soTH;
    }
    // Phuong thuc in ket qua
    void InKQ(){
        System.out.println("\n IN KET QUA:");
        System.out.println("\n + Ten phep toan: "+ tenPT);
        System.out.println("\n + So toan hang: "+soTH);
    }
}


/*** class PhepCong ***/

package kethua2;
public class PhepCong extends ToanHoc{
    int tu,mau,a;
    // khoi tao
    public PhepCong(String tenPT, int soTH, int tu, int mau, int a){
        super(tenPT,soTH);
        this.tu=tu; this.mau=mau; this.a=a;
    }
    // Phep cong tu/mau +a
    void PhepCong(){
        tu=tu+mau*a;
    }
    // in ket qua
    void InKQ(){
        super.InKQ();
        PhepCong();
        System.out.println("\n Ket qua: "+ tu+"/"+mau);
    }
   
}


/*** class PhepTru ***/
package kethua2;
public class PhepTru extends ToanHoc{
 int tu,mau,b;
    // khoi tao
    public PhepTru(String tenPT, int soTH, int tu, int mau, int b){
        super(tenPT,soTH);
        this.tu=tu; this.mau=mau; this.b=b;
    }
    // Phep cong tu/mau - b
    void PhepTru(){
        tu=tu-mau*b;
    }
    // in ket qua
    void InKQ(){
        super.InKQ();
        PhepTru();
        System.out.println("\n Ket qua: "+ tu+"/"+mau);
    }  
}



/*** class RutGon ***/

package kethua2;
public class RutGon extends ToanHoc{
    int tu, mau;
    // khoi tao
    public RutGon(String tenTP, int soTH, int tu, int mau){
        super(tenTP,soTH);
        this.tu=tu; this.mau=mau;
    }
    // phuong thuc tim uoc chung lon nhat
    int UCLN(int a, int b){
        while(a!=b)
        {
            if (a>b)
                a=a-b;
            else b=b-a;
        }
        return a;
    }
    // phuong thuc rut gon
    void RutGon(){
        int uc=UCLN(tu,mau);
        tu=tu/uc;
        mau=mau/uc;
    }
    // in ket qua
    void InKQ(){
        super.InKQ();
        RutGon();
        System.out.println("\n Ket qua: "+ tu+"/"+mau);
    }
}



/*** class KeThua2 (class Main) ***/

package kethua2;
public class KeThua2 {
    public static void main(String[] args) {
        // khoi tao doi tuong PhepCong
          PhepCong t=new PhepCong("Phep cong",2,4,5,6);
          t.InKQ();
          // Khoi tao doi tuong PhepTru
          PhepTru t1=new PhepTru("Phep tru",2,7,5,1);
          t1.InKQ();
          // Khoi tao doi tuong RutGon
          RutGon t2=new RutGon("Rut gon",1,6,8);
          t2.InKQ();
    }
}

Một số tài liệu và khoá học bổ ích dành cho bạn: 

# Tài liệu: Lập trình hướng đối tượng JAVA core dành cho người mới bắt đầu học lập trình [Click để xem]

# Khoá học online: Lập trình Java trong 4 tuần [Click để xem]

* 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Ả*