Các Khái Niệm OOP Trong Java
1. Tính Đóng Gói (Encapsulation)
Tính đóng gói là cơ chế ẩn giấu dữ liệu thực sự của đối tượng và chỉ cho phép truy cập thông qua các phương thức public.
Ví dụ:
public class Student {
private String name;
private int age;
// Getter và Setter methods
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
2. Tính Kế Thừa (Inheritance)
Cho phép một class kế thừa các thuộc tính và phương thức của class khác.
Ví dụ:
public class Animal {
protected String name;
public void eat() {
System.out.println("Animal is eating");
}
}
public class Dog extends Animal {
public void bark() {
System.out.println("Dog is barking");
}
}
3. Tính Đa Hình (Polymorphism)
Cho phép một đối tượng có nhiều hình thái khác nhau.
Ví dụ:
public interface Shape {
double getArea();
}
public class Circle implements Shape {
private double radius;
@Override
public double getArea() {
return Math.PI * radius * radius;
}
}
public class Rectangle implements Shape {
private double width;
private double height;
@Override
public double getArea() {
return width * height;
}
}
4. Tính Trừu Tượng (Abstraction)
Ẩn đi chi tiết triển khai và chỉ hiển thị tính năng cho người dùng.
Ví dụ:
public abstract class Database {
abstract void connect();
abstract void disconnect();
public void executeQuery(String query) {
connect();
// Thực thi query
disconnect();
}
}
public class MySQLDatabase extends Database {
@Override
void connect() {
// Triển khai kết nối MySQL
}
@Override
void disconnect() {
// Triển khai ngắt kết nối MySQL
}
}