Bài tập lập trình hướng đối tượng – Thừa kế (Inheritance)

Bài 1 Cirlce  và Cylinderexercise-oop-inheritance-circle-cylinder

Chúng ta có class Cylinder thừa kế class Circle. 

Constructor Cylinder(radius: double, color: String, height: double): Trong đó height sẽ được gán cho biến heigth của class Cylinder. Sử dụng super để gọi constructor của class cha.  

getVolume(): = getArea() * heigth

// File Circle.java
public class Circle {
    private double radius;
    private String color;

    public Circle(double radius, String color) {
        this.radius = radius;
        this.color = color;
    }

    public double getRadius() {
        return radius;
    }

    public void setRadius(double radius) {
        this.radius = radius;
    }

    public String getColor() {
        return color;
    }

    public void setColor(String color) {
        this.color = color;
    }

    public double getArea() {
        return this.radius * this.radius * Math.PI;
    }

    public String toString() {
        return "Circle{" +
                "radius=" + radius +
                ", color='" + color + '\'' +
                '}';
    }
}
// File Cylinder.java
public class Cylinder extends Circle {
    private double heigth;

    public Cylinder(double radius, String color, double heigth) {
        super(radius, color);
        this.heigth = heigth;
    }

    public double getHeigth() {
        return heigth;
    }

    public void setHeigth(double heigth) {
        this.heigth = heigth;
    }

    public double getVolumer() {
        return super.getArea() * this.heigth;
    }

}
// File Main.java
public class Main {

    public static void main(String[] args) {
        Circle cylinder = new Cylinder(2.4, "red", 10);
        System.out.println("Area: " + cylinder.getArea());
        System.out.println("Volume: " + ((Cylinder) cylinder).getVolumer());
    }
}

Output:

Area: 18.09557368467721
Volume: 180.95573684677208

Link source code tham khảo

Bài 2: Person, Student và Staff 

exercise-oop-inheritance-person-student-staff

Ở ví dụ này, chúng ta có class cha Person được class Student và Staff thừa kế. Hãy triển khai chương trình như sơ đồ trên/

upToSalary(int percent): salary + (salary * percent) / 100

getRating(): score < 5 => bad; score >= 5 và score < 8 => medium, score >= 8 => good

Link source code tham khảo 

5 2 votes
Article Rating
Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x