Tìm hiểu các đặc điểm của lập trình hướng đối tượng java qua ví dụ thực tế

Trong bài viết này, Stanford sẽ giới thiệu đến các bạn đang học lập trình java tìm hiểu các đặc điểm trong lập trình hướng đối tượng java qua những ví dụ giúp bạn hiểu rõ hơn về kiến thức này.

Java là gì ? 

Java là một ngôn ngữ lập trình hướng đối tượng, được phát triển bởi Sun Microsystems (nay thuộc sở hữu của Oracle) từ năm 1995. Với khẩu hiệu nổi tiếng: "Viết một lần, chạy mọi nơi" (Write Once, Run Anywhere) Java cho phép các ứng dụng được xây dựng một lần và có thể chạy trên bất kỳ nền tảng nào có cài đặt máy ảo Java (JVM). 

Không giống như nhiều ngôn ngữ chỉ hoạt động trong môi trường cố định, Java linh hoạt và mạnh mẽ nó xuất hiện ở mọi nơi: từ máy tính để bàn, ứng dụng web, thiết bị di động, máy chủ, hệ thống nhúng cho đến các thiết bị IoT trong thời đại 4.0.

Các đặc điểm lập trình hướng đối tượng java

Lập trình hướng đối tượng (Object-Oriented Programming - OOP) là một phương pháp lập trình dựa trên khái niệm "đối tượng" (object). Trong Java, OOP là nền tảng cốt lõi. Dưới đây là các đặc điểm chính của OOP trong Java, kèm theo ví dụ chi tiết để bạn dễ hiểu:


1. Tính đóng gói (Encapsulation)
Là đặc điểm trong lập trình hướng đối tượng Java giúp lập trình viên có thể giấu thông tin bên trong đối tượng và chỉ cho phép truy cập thông qua các phương thức công khai (getters/setters).

Ví dụ:

public class Student {
    private String name; // thuộc tính private
    private int age;
 
    // Constructor
    public Student(String name, int age) {
        this.name = name;
        this.age = age;
    }
 
    // Getter
    public String getName() {
        return name;
    }
 
    // Setter
    public void setName(String name) {
        this.name = name;
    }
}
Trong ví dụ trên name và age được đóng gói, chỉ có thể truy cập thông qua các phương thức getName() và setName().

2. Tính kế thừa (Inheritance)
Một lớp có thể kế thừa các thuộc tính và phương thức từ lớp khác.
Ví dụ:

class Animal {
    public void eat() {
        System.out.println("This animal eats food.");
    }
}
 
class Dog extends Animal {
    public void bark() {
        System.out.println("The dog barks.");
    }
}
Trong ví dụ này Dog kế thừa từ Animal, nên có thể dùng eat() mà không cần định nghĩa lại.

3. Tính đa hình (Polymorphism)
Một hành vi (phương thức) có thể có nhiều hình thức khác nhau (ghi đè phương thức - overriding).
Ví dụ:

class Animal {
    public void sound() {
        System.out.println("Animal makes a sound");
    }
}
 
class Cat extends Animal {
    @Override
    public void sound() {
        System.out.println("Cat meows");
    }
}
Trong ví dụ này hàm sound() được định nghĩa lại trong Cat, thể hiện tính đa hình.

4. Tính trừu tượng (Abstraction)
Ẩn chi tiết cài đặt và chỉ hiển thị những gì cần thiết. Các đặc điểm khi sử dụng abstraction trong lập trình Java bao gồm:

- Một phương thức abstract yêu cầu phải trong một lớp abstract

- Khi định nghĩa phương thức abstract chỉ cần khai báo không cần phần body của phương thức

- Các phương thức abstract cần phải được override trong lớp con kế thừa từ lớp chứa phương thức abstract đó

- Không sử dụng được trực tiếp lớp abstract mà chỉ sử dụng cho kế thừa
Ví dụ với abstract class:

abstract class Shape {
    abstract void draw(); // phương thức trừu tượng
}
 
class Circle extends Shape {
    @Override
    void draw() {
        System.out.println("Drawing a circle");
    }
}
Trong ví dụ này Shape là lớp trừu tượng, Circle phải triển khai phương thức draw().

Tổng kết

 Đặc điểm Mục đích
 Đóng gói  Bảo vệ dữ liệu, kiểm soát truy cập
 Kế thừa  Tái sử dụng mã, mở rộng chức năng
 Đa hình  Cho phép hành vi linh hoạt, dễ mở rộng
 Trừu tượng  Tập trung vào cái “gì”, không phải “như thế nào”

Như vậy qua bài viết này Stanford đã giúp các bạn học lập trình java hiểu rõ hơn về các đặc điểm quan trọng trong lập trình java. Các bạn có thể thực hành qua những ví dụ được nêu trong bài viết để hiểu rõ hơn về nói nhé. Chúc bạn học tập tốt !

Bên cạnh đó bạn có thể bắt đầu ngay con đường chinh phục trở thành lập trình viên chuyên nghiệp java trong tương lai của mình bằng việc đăng ký tham gia khoá học lập trình java tại đây: http://bit.ly/2SLPYFF. Hoặc gọi ngay cho Stanford theo hotline: 0963.723.236 - 0866.586.366 để được gọi lại tư vấn trực tiếp nhé.

==========🎬 🎬 🎬==========
☎️STANFORD – ĐÀO TẠO VÀ PHÁT TRIỂN CÔNG NGHỆ
Hotline: 0963 723 236 - 0866 586 366
Website: https://stanford.com.vn
Facebook: https://www.facebook.com/Stanford.com.vn
Youtube: http://bit.ly/2TkKT7I

Tags: đặc điểm lập trình hướng đối tượng java, lập trình java