Lớp và đối tượng trong Java

Share:

Java là một ngôn ngữ hướng đối tượng.  cĩng giống như những ngôn ngữ hướng đối tượng khác, Java sẽ cung cấp các khái niệm sau:

  • Inheritance (kế thừa)
  • Polymorphism (đa hình)
  • Abstraction (ảo hóa)
  • Encapsulation (bao gói)
  • Objects (đối tượng)
  • Classes (lớp)
  • Method (Phương thức)
  • Instance (thể hiện)
  • Message Parsing (phân tích thông điệp)

Trong bài hôm nay hãy cùng mình tìm hiểu về các khái niệm lớp và đối tượng.

  • Đối tượng: những đối tượng có những thuộc tính và hành vi. Một đối tượng là một thể hiện của một lớp.
  • Lớp: một lớp có thể được định nghĩa như một mẫu/bản phác họa mô tả các hành vi và trạng thái mà đối tượng của nó có.

Đối tượng trong Java

Ở thế giới thật nếu chúng ta ngó nhìn xung quanh chúng ta sẽ thấy có rất nhiều đối tượng, giả dụ như chiếc xe ô tô, một con chó, một người v.v…Tất cả những đối tượng đó đều có đầy đủ thuộc tính và hành vi.

Ví dụ bạn hãy xem con chó, nó có những thuộc tính như là: tên, giống nòi, màu và các hành vi như là: sủa, vẫy đuôi, chạy.

Nếu bạn đang so sánh một đối tượng phần mềm với một đối tượng ở thế giới thật, bạn có thể thấy chúng có những đặc tính khá giống nhau.

Đối tượng của phần mềm cũng có những thuộc tính và hành vi. Một thuộc tính của đối tượng phần mềm đều được lưu trong các trường (field) và hành vi đều sẽ được thể hiện qua những phương thức. Chúng ta sẽ được làm rõ hơn sau khi mô tả qua phần Lớp và ví dụ sau.

Lớp trong Java

Mỗi lớp là một bản mẫu để tạo ra các đối tượng ví dụ như chúng ta có lớp Cat như phía dưới.

Một lớp có các thành phần:

– Thuộc tính: được lưu trữ thông qua các biến của lớp. Trong ví dụ trên có các biến breed, age và color.

– Phương thức (hàm): dùng để mô tả hành vi. Trong ví dụ trên có các Phương thức running( ), hurry( ) và sleeping( ). Trong các hàm lại có thể có các biến dành riêng cho hàm.

Lưu ý rằng có thể có nhiều đối tượng khác nhau của cùng một lớp.

Hàm khởi tạo trong Java

Khi nói về Lớp trong Java, một trong những chủ đề quan trọng nhất là hàm khởi tạo. Mỗi lớp đều có ít nhất một hàm khởi tạo. Nếu bạn không khai báo hàm khởi tạo, trình dịch Java tự động thêm hàm khởi tạo cho lớp (gọi là default constructor).

Mỗi lần đối tượng Java được tạo ra, ít nhất một hàm khởi tạo được sử dụng. Hàm khởi tạo có tên cùng tên với tên Lớp. Ví dụ sau mô tả việc một lớp Puppy có hai hàm khởi tạo:

Java cũng hỗ trợ các Singleton Class, nếu sử dụng chúng chỉ có một thể hiện đối tượng của lớp ở cùng một thời điểm.

Tạo một đối tượng

Một lớp cung cấp một mẫu cho các đối tượng, nói cách khác một đối tượng được tạo ra từ một mẫu là lớp. Trong Java, từ khóa “new” được sử dụng để tạo một đối tượng mới.

Có ba bước tạo ra một đối tượng:

– Khai báo: một biến khai báo gồm tên biến và kiểu của biến

– Khởi tạo: từ khóa “new” được sử dụng để khai báo mới một đối tượng

– Hàm khởi tạo được đi kèm sau từ khóa “new” để khởi tạo đối tượng.

Ví dụ sau sẽ làm rõ điều ở trên:

Khi chạy ứng dụng sẽ có kết quả

Truy cập biến và phương thức

Thông thường biến và phương thức được truy cập thông qua các đối tượng. Tuy nhiên bạn cũng có thể truy cập biến và  Phương thức trực tiếp từ tên lớp bằng cách khai báo chúng với từ khóa static. Ví dụ sau sẽ cho bạn thấy điều đó:

Đối với lớp trên, để gọi hàm printName( ) chúng ta phải khởi tạo khai báo một đối tượng Puppy sau đó mới có thể gọi được, còn với biến age chúng ta có thể truy cập trực tiếp từ tên lớp, ví dụ như dưới đây:

Lưu ý:

– Một file code chỉ có một lớp public (public class)

– Một file code có thể có nhiều lớp không phải là public

– Tên lớp public là tên của file code cộng thêm phần “.java”.

Đến đây mình đã giới thiệu với các bện về Lớp và đối tượng trong Java. Hy vọng rằng nó hữu ích cho các lập trình viên mới vào nghề tham khảo. Chúc các bạn học tập thật tốt.

 

Share:

Leave a reply