×

Các lớp và đối tượng trong lập trình hướng đối tượng (OOP) với Java

Lập trình hướng đối tượng (OOP) là một mô hình lập trình dựa trên khái niệm về "đối tượng", có thể chứa dữ liệu và mã. Dữ liệu trong các đối tượng được gọi là các thuộc tính, còn mã là các phương thức. Bài viết này sẽ tập trung vào cách triển khai các lớp và đối tượng trong Java, một trong những ngôn ngữ lập trình phổ biến nhất cho OOP.

Khái Niệm Cơ Bản

Lớp là một bản thiết kế (blueprint) mà từ đó các đối tượng được tạo ra. Nó định nghĩa những thuộc tính và phương thức mà các đối tượng của lớp đó sẽ có. Trong Java, lớp được khai báo bằng từ khóa class.

Đối tượng là một thể hiện của lớp. Khi một đối tượng được tạo ra, nó sẽ có những giá trị cụ thể cho các thuộc tính và có khả năng thực thi các phương thức của lớp.

Cách Khai Báo Lớp trong Java

Để khai báo một lớp đơn giản trong Java, bạn sử dụng từ khóa class theo cú pháp sau:

public class Person {
    // Thuộc tính (biến instance)
    private String name;
    private int age;

    // Phương thức khởi tạo (Constructor)
    public Person(String name, int age) {
        this.name = name;
        this.age = age;
    }

    // Phương thức (Methods)
    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public void displayInfo() {
        System.out.println("Name: " + name + ", Age: " + age);
    }
}

Tạo Đối tượng

Để tạo và sử dụng một đối tượng từ lớp đã định nghĩa, bạn sử dụng từ khóa new:

public class Main {
    public static void main(String[] args) {
        // Tạo một đối tượng của lớp Person
        Person person1 = new Person("John", 25);

        // Gọi các phương thức của đối tượng
        person1.displayInfo();
        person1.setAge(26);
        System.out.println("Updated age: " + person1.getAge());
    }
}

Kế Thừa Trong OOP

Kế thừa là một đặc tính mạnh mẽ trong OOP, cho phép một lớp (gọi là lớp con) kế thừa các thuộc tính và phương thức từ một lớp khác (gọi là lớp cha). Trong Java, điều này được thực hiện bằng từ khóa extends.

public class Employee extends Person {
    private String employeeId;

    public Employee(String name, int age, String employeeId) {
        super(name, age); // Gọi constructor của lớp cha
        this.employeeId = employeeId;
    }

    public String getEmployeeId() {
        return employeeId;
    }

    public void setEmployeeId(String employeeId) {
        this.employeeId = employeeId;
    }

    @Override
    public void displayInfo() {
        super.displayInfo(); // Gọi phương thức của lớp cha
        System.out.println("Employee ID: " + employeeId);
    }
}

Tính Đa Hình

Java hỗ trợ tính năng đa hình, cho phép gọi phương thức của một đối tượng mà không cần biết chính xác lớp của nó. Điều này được thực hiện thông qua ghi đè phương thức và giao diện.

public class Main {
    public static void main(String[] args) {
        Person person = new Employee("John", 30, "E123");
        person.displayInfo(); // Gọi phương thức của lớp Employee
    }
}

Bao Đóng Dữ Liệu

Bao đóng dữ liệu là một cơ chế giúp bảo vệ các dữ liệu bên trong đối tượng không bị truy cập trực tiếp từ bên ngoài. Điều này đạt được bằng cách khai báo các thuộc tính là private và cung cấp các phương thức public để truy cập và sửa đổi giá trị của các thuộc tính này.

Kết Luận

Lập trình hướng đối tượng với Java cung cấp một cách tiếp cận mạnh mẽ và linh hoạt để phát triển phần mềm. Bằng cách sử dụng các lớp và đối tượng, bạn có thể tạo ra mã nguồn dễ bảo trì, mở rộng và tái sử dụng. Hy vọng bài viết này đã cung cấp cho bạn cái nhìn sâu sắc về cách triển khai các lớp và đối tượng trong Java.

Comments