Java: Lớp (Class) Và Đối Tượng (Object) | V1Study

Giới thiệu lớp và đối tượng

Lớp là một cấu trúc logic dùng để định nghĩa khuôn dạng và tính chất của các đối tượng. Vì lớp là đơn vị thực thi chính của lập trình hướng đối tượng trong Java, nên bất kỳ khái niệm nào trong chương trình Java phải được đóng gói trong lớp.

Trong Java, lớp được định nghĩa như là một kiểu dữ liệu mới. Kiểu dữ liệu này được dùng để tạo các đối tượng có kiểu của nó. Mỗi đối tượng được tạo từ lớp sẽ chứa bản sao của chính nó bao gồm các thuộc tính được định nghĩa trong lớp. Các thuộc tính cũng được gọi là các trường và biểu diễn trạng thái của đối tượng. Việc khởi tạo các đối tượng được thực hiện bằng cách sử dụng các hàm tạo và hành vi của các đối tượng được định nghĩa bằng cách sử dụng các phương thức.

Tạo lớp (class)

Mỗi một đối tượng bao gồm 2 thành phần chính:

- Các thuộc tính: dùng để chứa các thông tin mô tả các đặc điểm của đối tượng. Ví dụ như một con mèo có những thông tin như mã nhận diện, tên, tuổi, màu lông, giới tính, ... Ta sử dụng các biến để lưu giữ những thông tin này, khi đó các biến được gọi là các thuộc tính hay biến thể hiện của đối tượng.

- Các phương thức: dùng để mô tả các hành vi của đối tượng. Ví dụ như một con mèo có các hành vi như di chuyển, tiếng kêu, săn mồi, ... Ta sử dụng các hàm để mô tả các hành vi này, khi đó các hàm được gọi là các phưng thức.

Để mô tả một nhóm các đối tượng cụ thể như nhóm mèo, nhóm chó, nhóm hổ, ... thì ta khai báo lớp tương ứng.

Việc tạo lớp phải được bắt đầu với từ khóa class và theo sau là tên lớp muốn tạo.

Bên cạnh đó, những quy ước sau đây ta cần phải chú ý khi đặt tên cho lớp:

- Tên lớp nên là một danh từ.

- Thường trong Java tên lớp được đặt với ký tự đầu tiên của mỗi từ là in hoa.

- Tên lớp nên đơn giản, mang tính mô tả, và đầy đủ ý nghĩa.

- Tên lớp không được là một từ khóa nào đó của Java.

- Tên lớp không được bắt đầu là số. Tuy nhiên, có thể bắt đầu với dấu dola ($) hoặc ký tự gạch dưới.

Cú pháp cơ bản để tạo một lớp trong Java là như sau:

class Tên_Lớp> { //khai báo các thuộc tính //định nghĩa các phương thức }

Trong đó thân_lớp có thể bao gồm các thành phần như các thuộc tính, phương thức, hàm tạo, các getter và setter.

Ví dụ dưới đây sẽ tạo một lớp có tên Animal bao gồm các thuộc tính và phương thức tương ứng để mô tả cho nhóm đối tượng Động vật nói chung.

File Animal.java:

//tạo lớp Animal: public class Animal { //khai báo các thuộc tính: int id; //mã nhận diện String name; //tên float age; //tuổi //định nghĩa các phương thức: void move() { System.out.println("Fly, Swim, Run, ..."); } void speak() { System.out.println("Gogo, Meomeo, Grumgrum, ..."); } }

Lưu ý: Trong một file .java ta được quyền tạo nhiều lớp, nhưng chỉ có một lớp public và lớp này phải có tên trùng với tên file.

Tạo đối tượng (object)

Đối tượng là thể hiện thực sự của lớp. Dưới đây ta sẽ tìm hiểu hai cách khác nhau để tạo một đối tượng.

1. Khai báo và khởi tạo một đối tượng

Một đối tượng được tạo bằng cách sử dụng toán tử new. Khi gặp toán tử new, thì JVM cấp phát vùng nhớ cho đối tượng và trả về một tham chiếu hay địa chỉ vùng nhớ của đối tượng được cấp phát. Tham chiếu hay địa chỉ vùng nhớ sau đó được lưu trong một biến. Biến này được gọi là biến tham chiếu.

Cú pháp để khai báo và khởi tạo một đối tượng là như sau:

Tên_Lớp tên_biến_tham_chiếu = new Tên_Lớp();

trong đó,

new: Là toán tử dùng để cấp phát vùng nhớ cho đối tượng khi chạy chương trình (runtime).

tên_biến_tham_chiếu: Là biến lưu tham chiếu của đối tượng. Sau đó ta có thể gọi ngắn gọn là đối tượng.

Ví dụ:

class TestAnimal { public static void main(String[] args) { Animal cat = new Animal(); //tạo 1 đối tượng tên cat } }

Ta nhìn vào biểu thức bên phải phép gán, new Animal() sẽ cấp phát vùng nhớ khi thực thi chương trình. Sau khi vùng nhớ được cấp phát cho đối tượng, thì nó sẽ trả về tham chiếu hoặc địa chỉ của vùng nhớ của đối tượng đó, và thông qua phép gán nó sẽ được lưu vào biến tham chiếu có tên cat nằm bên trái phép gán.

2. Tạo một đối tượng theo quy trình hai bước

Ngoài ra, một đối tượng có thể được tạo bằng cách sử dụng hai bước là tạo một biến tham chiếu trước rồi cấp phát vùng nhớ động cho đối tượng sau.

Để sử dụng giải pháp này, ta tạo một đối tượng tham chiếu trước, bỏ qua việc sử dụng toán tử new như ví dụ sau:

Animal cat;

Sau đó, ta tiến hành cấp phát vùng nhớ cho đối tượng như sau:

cat = new Animal();

Hình dưới đây cho thấy câu lệnh Animail cat; sẽ khai báo một biến tham chiếu.

Java1: Khai báo biến tham chiếu

Mặc định, giá trị null được lưu trữ trong biến tham chiếu của đối tượng. Nói cách khác, có nghĩa là biến tham chiếu lúc này không trỏ tới bất kỳ đối tượng nào. cat đóng vai trò như một tham chiếu tới một đối tượng có kiểu Animal. Nếu cat được sử dụng tại lần trỏ này, mà không được thể hiện, thì kết quả là trình dịch sẽ báo lỗi.

Vì vậy, trước khi sử dụng một đối tượng, thì đối tượng phải được khởi tạo bằng cách sử dụng toán tử new. Toán tử new sẽ cấp phát vùng nhớ động cho một đối tượng. Ví dụ, cat = new Animal();. Câu lệnh này sẽ cấp phát vùng nhớ cho đối tượng và địa chỉ vùng nhớ của đối tượng được cấp phát được lưu trong biến cat.

Hình sau thể hiện việc cấp phát vùng nhớ cho đối tượng và lưu trữ đia chỉ (tham chiếu) của nó vào biến tham chiếu cat.

Java: Tạo một dối tượng

Xem thêm:

  • Các thành phần của một lớp
  • Video demo cách tạo lớp và đối tượng
  • Bài tập phần Class

Từ khóa » Khởi Tạo Object Java