Java OOP

Giới Thiệu về Java OOP

Java (được phát triển bởi Sun Microsystems vào giữa những năm 1990) là một ngôn ngữ lập trình mạnh mẽ, đặc biệt nổi bật với mô hình lập trình hướng đối tượng (Object-Oriented Programming - OOP). OOP là một phương pháp lập trình mà trong đó, dữ liệu và hành vi được tổ chức trong các đối tượng, giúp lập trình viên dễ dàng quản lý và mở rộng mã nguồn.

Định Nghĩa OOP

OOP là một cách tiếp cận lập trình, trong đó các yếu tố chính bao gồm:

  • Đối tượng: Là thực thể trong thế giới thực, bao gồm cả dữ liệu (thuộc tính) và các phương thức (hành vi).
  • Lớp (Class): Là bản thiết kế cho các đối tượng, định nghĩa các thuộc tính và phương thức mà các đối tượng thuộc lớp đó sẽ có.
  • Kế thừa (Inheritance): Cho phép một lớp kế thừa các thuộc tính và phương thức từ lớp khác.
  • Đóng gói (Encapsulation): Che giấu thông tin bên trong lớp, chỉ cho phép truy cập thông qua các phương thức công khai.
  • Đa hình (Polymorphism): Cho phép các phương thức có cùng tên nhưng thực hiện các hành động khác nhau dựa vào đối tượng mà chúng đang xử lý.

Cú Pháp Cơ Bản của Java OOP

Dưới đây là mẫu cú pháp cơ bản sử dụng lớp và đối tượng trong Java:

1. Khai Báo Lớp

public class Dog {
    // Thuộc tính
    String name;
    int age;

    // Phương thức
    void bark() {
        System.out.println(name + " says: Woof!");
    }
}

2. Tạo Đối Tượng

public class Main {
    public static void main(String[] args) {
        // Tạo một đối tượng Dog
        Dog myDog = new Dog();
        myDog.name = "Buddy";
        myDog.age = 5;
        myDog.bark(); // In ra: Buddy says: Woof!
    }
}

3. Kế Thừa

public class Animal {
    void eat() {
        System.out.println("This animal eats food.");
    }
}

public class Cat extends Animal {
    void meow() {
        System.out.println("Meow!");
    }
}

public class Main {
    public static void main(String[] args) {
        Cat myCat = new Cat();
        myCat.eat(); // In ra: This animal eats food.
        myCat.meow(); // In ra: Meow!
    }
}

4. Đóng Gói

public class Account {
    // Thuộc tính được đóng gói
    private double balance;

    // Phương thức công khai để truy cập
    public double getBalance() {
        return balance;
    }

    public void deposit(double amount) {
        if (amount > 0) {
            balance += amount;
        }
    }
}

public class Main {
    public static void main(String[] args) {
        Account myAccount = new Account();
        myAccount.deposit(100);
        System.out.println("Balance: " + myAccount.getBalance()); // In ra: Balance: 100.0
    }
}

5. Đa Hình

public class Animal {
    void makeSound() {
        System.out.println("Animal makes sound");
    }
}

public class Dog extends Animal {
    void makeSound() {
        System.out.println("Woof!");
    }
}

public class Cat extends Animal {
    void makeSound() {
        System.out.println("Meow!");
    }
}

public class Main {
    public static void main(String[] args) {
        Animal myAnimal;

        myAnimal = new Dog();
        myAnimal.makeSound(); // In ra: Woof!

        myAnimal = new Cat();
        myAnimal.makeSound(); // In ra: Meow!
    }
}

Kết Luận

Java OOP là một chủ đề quan trọng mà bất kỳ lập trình viên Java nào cũng cần nắm vững. Bằng cách áp dụng các nguyên tắc của OOP, bạn có thể viết mã nguồn tổ chức hơn, dễ quản lý và dễ bảo trì. Hãy thực hành để ngày càng cải thiện kỹ năng lập trình của bạn!