bài tập OOP Java cơ bản

Bài tập OOP Java cơ bản cho người mới

Chúng ta đã được tiếp cận đến những bài tập Java cơ bản ở những bài viết trước. Tại bài viết này mình sẽ chia sẻ thêm cho các bạn những bài tập OOP Java cơ bản cho những người mới tiếp cận với khái niệm lập trình hướng đối tượng nhé!

Bài tập OOP Java cơ bản có lời giải

Đề bài

Dưới đây mình có một số bài tập về OOP để các bạn có thể luyện tập thêm kiến thức về hướng đối tượng. Các bạn tham khảo nhé.

Bài tập 1:

  • Viết một chương trình khai báo một lớp Rectangle có 2 thuộc tính là chiều dài và chiều rộng và có các phương thức sau:
    •  Hàm tạo không tham số.
    • Hàm tạo có 2 tham số.
    • Get/set cho các thuộc tính.
    • Phương thức tính diện tích hình chữ nhật.
    • Phương thức tính chu vi hình chữ nhật.

Bài tập 2:

  • Viết chương trình khai báo một lớp Phương trình bậc 2 với các thuộc tính là a, b, c với các phương thức sau:
    • Hàm tạo không tham số.
    • Hàm tạo có 3 tham số.
    • Get/set cho 3 thuộc tính.
    • Phương thức tính delta.
    • Phương thức tính nghiệm phương trình.

Bài tập 3:

  • Viết chương trình khai báo một lớp trừu tượng là Animal có phương thức eat() và makeSound().
  • Xây dựng các lớp Cat và Bird kế thừa lớp Animal trong đó:
    • Lớp Cat có phương thức run()
    • Lớp Bird có phương thức fly()

Lời giải

Sau khi các bạn đã thử sức làm xong các bài tập nhỏ nhỏ ở phía bên trên thì hãy cùng xem lại các bài tập đó với lời giải của mình nhé ^^

Bài tập 1:

  • Viết một chương trình khai báo một lớp Rectangle có 2 thuộc tính là chiều dài và chiều rộng và có các phương thức sau:
    •  Hàm tạo không tham số.
    • Hàm tạo có 2 tham số.
    • Get/set cho các thuộc tính.
    • Phương thức tính diện tích hình chữ nhật.
    • Phương thức tính chu vi hình chữ nhật.
  • Chương trình:
package com.company;

public class Rectangle {
    private double weight;
    private double height;

    public Rectangle() {
    }

    public Rectangle(double weight, double height) {
        this.weight = weight;
        this.height = height;
    }

    public double getWeight() {
        return weight;
    }

    public void setWeight(double weight) {
        this.weight = weight;
    }

    public double getHeight() {
        return height;
    }

    public void setHeight(double height) {
        this.height = height;
    }

    public double getArea() { // Diện tích hình chữ nhật
        return this.weight * this.height;
    }

    public double getPerimeter() { //Chu vi hình chữ nhật
        return (this.height + this.weight) * 2;
    }
}

Bài tập 2:

  • Viết chương trình khai báo một lớp Phương trình bậc 2 với các thuộc tính là a, b, c với các phương thức sau:
    • Hàm tạo không tham số.
    • Hàm tạo có 3 tham số.
    • Get/set cho 3 thuộc tính.
    • Phương thức tính delta.
    • Phương thức tính nghiệm phương trình.
  • Chương trình:
package com.company;

public class QuadraticEquation {
    private double a;
    private double b;
    private double c;

    public QuadraticEquation() {
    }

    public QuadraticEquation(double a, double b, double c) {
        this.a = a;
        this.b = b;
        this.c = c;
    }

    public double getA() {
        return a;
    }

    public void setA(double a) {
        this.a = a;
    }

    public double getB() {
        return b;
    }

    public void setB(double b) {
        this.b = b;
    }

    public double getC() {
        return c;
    }

    public void setC(double c) {
        this.c = c;
    }

    public double getDiscriminant() { //Tính delta
        return b * b - 4 * a * c;
    }

    public double getRoot1() { //tính nghiệm x1
        return (-b + Math.sqrt(this.getDiscriminant())) / 2 * a;
    }

    public double getRoot2() { //tính nghiệm x2
        return (-b - Math.sqrt(this.getDiscriminant())) / 2 * a;
    }
}

Bài tập 3:

  • Viết chương trình khai báo một lớp trừu tượng là Animal có phương thức eat() và makeSound().
  • Xây dựng các lớp Cat và Bird kế thừa lớp Animal trong đó:
    • Lớp Cat có phương thức run()
    • Lớp Bird có phương thức fly()
  • Chương trình:
package com.company;

public abstract class Animal {
    public abstract void eat();

    public abstract void makeSound();
}

package com.company;

public class Cat extends Animal{
    @Override
    public void eat() {
        System.out.println("Mèo đang ăn cá");
    }

    @Override
    public void makeSound() {
        System.out.println("meow");
    }

    public void run(){
        System.out.println("Mèo có thể chạy");
    }
}
package com.company;

public class Bird extends Animal {
    @Override
    public void eat() {
        System.out.println("Con chim đang ăn sâu");
    }

    @Override
    public void makeSound() {
        System.out.println("Con chim đang hót");
    }

    public void fly() {
        System.out.println("Con chim có thể bay");
    }
}

KHÓA HỌC LẬP TRÌNH CĂN BẢN CHO NGƯỜI MỚI BẮT ĐẦU!


Hãy tham gia nhóm Học lập trình để thảo luận thêm về các vấn đề cùng quan tâm.

Bài viết liên quan

Leave a Reply

Your email address will not be published.

TÀI LIỆU DEV WORLD
Cẩm nang phát triển bền vững với nghề lập trình!