Bỏ qua để đến nội dung

Lớp và đối tượng (Class & Object)

Lớp (class) là một khuôn mẫu (blueprint) mô tả thuộc tính (field)hành vi (method) chung cho một nhóm đối tượng:

public class Dog {
// Thuộc tính (field) - trạng thái của đối tượng
String name;
int age;
// Hành vi (method) - đối tượng "làm được gì"
void bark() {
System.out.println(name + " sủa: Gâu gâu!");
}
}

Đối tượng (object) là một thực thể cụ thể được tạo ra từ lớp (dùng từ khóa new). Một lớp có thể tạo ra nhiều đối tượng, mỗi đối tượng có trạng thái riêng:

public class Main {
public static void main(String[] args) {
Dog dog1 = new Dog(); // tạo đối tượng thứ nhất
dog1.name = "Lucky";
dog1.age = 2;
Dog dog2 = new Dog(); // tạo đối tượng thứ hai - độc lập với dog1
dog2.name = "Milu";
dog2.age = 1;
dog1.bark(); // Lucky sủa: Gâu gâu!
dog2.bark(); // Milu sủa: Gâu gâu!
}
}

dog1dog2 là hai đối tượng khác nhau, mỗi đối tượng có nameage riêng - thay đổi dog1.name không ảnh hưởng đến dog2.name.

3. Ẩn dụ: lớp là “bản thiết kế”, đối tượng là “sản phẩm”

Phần tiêu đề “3. Ẩn dụ: lớp là “bản thiết kế”, đối tượng là “sản phẩm””

Ví dụ: lớp Dog giống như bản thiết kế của một “con chó nói chung” (có tên, tuổi, biết sủa) - còn dog1, dog2 là các con chó cụ thể được “sản xuất” theo bản thiết kế đó, mỗi con có tên và tuổi riêng.

4. Truy cập thuộc tính và gọi phương thức

Phần tiêu đề “4. Truy cập thuộc tính và gọi phương thức”

Dùng dấu . để truy cập thuộc tính hoặc gọi phương thức của một đối tượng:

Dog dog = new Dog();
dog.name = "Lucky"; // gán giá trị cho thuộc tính
System.out.println(dog.name); // đọc giá trị thuộc tính
dog.bark(); // gọi phương thức

5. Mỗi file .java thường chứa một public class

Phần tiêu đề “5. Mỗi file .java thường chứa một public class”

Theo quy ước Java, một file .java chỉ được chứa tối đa một class public, và tên file phải trùng với tên class đó (ví dụ Dog.java chứa public class Dog). File có thể chứa thêm các class khác không phải public.

  • Lớp (class): khuôn mẫu định nghĩa thuộc tính và hành vi chung
  • Đối tượng (object): thực thể cụ thể được tạo ra từ lớp bằng new, mỗi đối tượng có trạng thái riêng
  • Dùng . để truy cập thuộc tính và gọi phương thức của đối tượng
  • Tên file .java phải trùng với tên class public mà nó chứa