12/07/2021 - vừa được xem lúc 11/03/2022 Show
Người đăng: Thai Doan Dat
Lớp và Đối tượng là những thành phần quan trọng và không thể thiếu trong lập trình hướng đối tượng. Hôm nay, chúng ta cùng nhau tìm hiểu sự khác nhau giữa chúng nhé! 1. Lớp là gì?Lớp là một thực thể xác định cách mà một đối tượng hoạt động cũng như những thứ mà đối tượng chứa đựng. 2. Đối tượng là gì?Đối tượng là các thể hiện của lớp. Khi các lớp được định nghĩa, không có bộ nhớ nào được cấp phát. Nhưng khi nó được khởi tạo (các đối tượng được tạo ra), bộ nhớ sẽ được cấp phát. 3. Phân biệt Lớp và Đối tượngTừ khái niệm cơ bản ở trên, ta có thể chỉ ra các điểm khác nhau giữa lớp và đối tượng như sau:
>> Phương pháp hiệu quả để học lập trình Java >> Lập trình hướng đối tượng (bằng Java) Lớp và đối tượng (Class và Object) là những thành phần quan trọng và không thể thiếu trong lập trình hướng đối tượng. Hôm nay, hãy cùng FUNIX xem xét sự khác biệt giữa chúng. Cách phân biệt lớp và đối tượng (Class và Object)Tìm hiểu khái niệm và cách tạo lớp và đối tượng (Class và Object)Các lớp và đối tượng (Class và Object) là thành phần cơ bản của lập trình hướng đối tượng (OOP). Đối với người mới bắt đầu học lập trình, thường có sự nhầm lẫn giữa 2 thành phần này. Để các bạn hiểu được sự khác biệt giữa chúng, trước hết hãy cùng FUNIX điểm lại một số kiến thức cơ bản về lớp và đối tượng nhé! Lớp (Class) là gì?Trong Java, một lớp là một thực thể xác định hành vi mà một đối tượng có và sẽ có. Nói cách khác, một lớp chỉ là một bản thiết kế hoặc một tập hợp các hướng dẫn để xây dựng các đặc tính của một đối tượng cụ thể sau này. Cách tạo lớp trong Java như sau:
Trong đó:
Đối tượng (Object) là gì?Một Object có thể chứa các thành phần như các phương thức (method) và thuộc tính (thuộc tính) để tạo ra các kiểu dữ liệu hữu ích. Đối tượng xác định hành vi của lớp. Khi bạn gửi tin nhắn đến một đối tượng, bạn bắt buộc phải gọi đối tượng hoặc thực hiện một trong các phương thức của nó. Từ quan điểm của lập trình hướng đối tượng, các đối tượng có thể là cấu trúc dữ liệu, biến hoặc hàm. Đối tượng là vị trí bộ nhớ được cấp phát. Các đối tượng được thiết kế dưới dạng các lớp phân cấp. Cách tạo đối tượng trong Java như sau:
Trong đó:
Sự khác biệt giữa lớp và đối tượng (Class và Object)Một lớp là một bản thiết kế hoặc nguyên mẫu xác định các biến và phương thức (hoặc hàm) chung cho tất cả các đối tượng cùng kiểu. Đối tượng là các thể hiện cụ thể của các lớp. Đối tượng thường được sử dụng để mô tả các đối tượng trong thế giới thực mà bạn nhìn thấy hàng ngày. Điểm khác biệt giữa lớp và đối tượng (Class và Object) cụ thể như sau:
Ví dụ cụ thể về lớp và đối tượng (Class và Object)Trong bài viết này, FUNIX sẽ đưa ra một ví dụ về việc phát triển một hệ thống quản lý chó. Bạn sẽ cần rất nhiều thông tin về chó, chẳng hạn như các loại chó, độ tuổi, kích thước,… Sau đó, bạn cần mô hình hóa các thông tin đó vào phần mềm. Câu hỏi đặt ra là: làm thế nào để xây dựng một hệ thống như vậy? Đầu tiên, chúng ta hãy làm một bài tập. Bạn có thể xem hình ảnh của ba giống khác nhau bên dưới: Ví dụ về lớp và đối tượng (Class và Object).Bây giờ, ngay tại đây, hãy liệt kê sự khác biệt của chúng. Một số khác biệt mà bạn có thể liệt kê có thể là: Giống, tuổi, màu sắc, kích cỡ,… Hãy suy nghĩ kỹ lại, sự khác biệt này cũng là một đặc điểm chung của những con chó này. Các đặc trưng (độ giống nhau, tuổi, kích thước, màu sắc) có thể tạo thành một dữ liệu cho dữ liệu của đối tượng (được gọi là thành viên dữ liệu). Tiếp theo, chúng ta hãy liệt kê các hành vi phổ biến của những con chó này, chẳng hạn như: ăn, ngủ, ngồi, chạy,… Đây sẽ là hành động của đối tượng trong phần mềm. Bây giờ, đối với các giá trị khác nhau của các thành viên dữ liệu (giống, kích thước và màu sắc) trong lớp, bạn sẽ nhận được các đối tượng chó khác nhau. Chúng ta sẽ tạo Class Dog trong Java như đã phân tích ở trên:
Lưu ý rằng chúng tôi đã tạo lớp Dog để mô tả những điều phổ biến về loài chó. Tuy nhiên, nó vẫn chưa được gán bất kỳ giá trị nào. Tiếp theo, chúng tôi tạo một phương pháp để lấy thông tin giống chó. Sau đó, từ lớp Dog, chúng tôi tạo ra một giống chó mới có tên là Maltese và gán cho nó các đặc điểm được khai báo trong lớp Dog. Kết quả của chương trình trên như sau:
Ví dụ về tạo phương thức main() ở class khácTrong ví dụ trên, chúng ta đã tạo phương thức main () trong cùng một lớp. Bây giờ, FUNIX sẽ đưa ra ví dụ về cách tạo một lớp và định nghĩa phương thức main () trong một lớp khác. Đây là một phương pháp tốt hơn phương pháp trước. Bạn hãy lưu tên tệp là Execute.java và viết code như sau:
Tuy nhiên, ở đây chúng ta áp dụng nguyên tắc S khi tạo các lớp, cụ thể mỗi lớp chỉ có một trách nhiệm.
Kết quả bạn nhận được như sau:
Như vậy, qua ví dụ cụ thể trên, FUNiX đã giúp bạn hiểu sự khác biệt cơ bản giữa lớp và đối tượng (Class và Object). Hi vọng bài viết hữu ích với các bạn và chúc bạn học tốt! Phạm Thị Thanh Ngọc |