Hướng dẫn cài đặt Abstract class trong Java


package demoAbstract;

//abstract class
abstract class employee {
    // attributes
    public int id;
    public String name;
    public float salary;

    // constructor
    employee() {
        this.id = 0;
        this.name = "";
    }

    // non-abstract method
    public void input() {
        System.out.println("input");
    }

    public void output() {
        System.out.println("output");
    }

//abtract method
    abstract float calSalary();
}

class regularEmp extends employee {
    public float hs = 0;

    public void input() {
        super.input();
        System.out.println("input cua regularEmp");
    }

    public void output() {
        super.output();
        System.out.println("output cua regularEmp");
    }

    float calSalary() {
        this.salary = hs * 100 + 300;
        return salary;
    }
}

class constractEmp extends employee {

    public float nc = 0;

    float calSalary() {
        this.salary = nc * 120 + 100;
        return salary;
    }

    public void input() {
        super.input();
        System.out.println("input cua constractEmp");
    }

    public void output() {
        super.output();
        System.out.println("output cua constractEmp");
    }
}

public class demo {

    public static void main(String[] args) {
        // polymorphism
        employee objEmp;
        objEmp = new regularEmp();
        objEmp.input();
        objEmp.output();
        objEmp = new constractEmp();
        objEmp.input();
        objEmp.output();
    }

}
Trương Đình Huy