Sự khác biệt giữa Class và Object trong Java

Ủng hộ AnonyHome Team
Chờ một chút: bạn thấy bài viết có ích chứ? Hãy chia sẻ nó với mọi người nhé!
ClassObject là hai khái niệm quan trọng nhất của ngôn ngữ lập trình hướng đối tượng (OOP), ví dụ Java. Sự khác biệt chính giữa một Class và một Object trong Java đó là Class nó là một bản thiết kế chi tiết để tạo ra các đối tượng khác nhau cùng loại. Điều này có vẻ đơn giản với nhiều bạn nhưng nếu bạn là người mới bắt đầu hoặc chỉ nghe thuật ngữ “Ngôn ngữ lập trình hướng đối tượng” thì có thể không đơn giản như vậy. Tôi đã gặp nhiều sinh viên, người mới bắt đầu và lập trình viên, những người không biết sự khác biệt giữa lớp và đối tượng và thường sử dụng chúng thay thế cho nhau. Ngoài ra API Java có các lớp như java.lang.Objectjava.lang.Class cũng gây thêm nhiều nhầm lẫn cho những người mới bắt đầu. Cả hai đều là những thứ hoàn toàn khác nhau, lớp và đối tượng trong OOP là các khái niệm và có thể áp dụng cho tất cả các ngôn ngữ lập trình hướng đối tượng khác, ví dụ như C++ hoặc Scala. Mặt khác, java.lang.Class và java.lang.Object là một phần của API Java. Cùng với các khái niệm OOP khác như Tính trừu tượng, Đóng gói, Kế thừa và Đa hình, đây cũng là một trong những điều cơ bản nhất của lập trình hướng đối tượng cần được hiểu rõ ràng trước khi tiến hành lập trình. Nếu không hiểu rõ về Class và Object, bạn sẽ dễ mắc lỗi hơn, bạn không thể hiểu được chương trình đã viết và bạn sẽ rất khó tìm ra lỗi hoặc sửa lỗi hoặc xử lý các ngoại lệ trong code của bạn. Hơn nữa sự khác biệt giữa lớp và đối tượng cũng là một câu hỏi phỏng vấn lập trình rất phổ biến, thường được hỏi ở các cuộc phỏng vấn.

Sự khác biệt giữa Class và Object trong Java

1) Lớp là bản thiết kế có nghĩa là bạn có thể tạo các đối tượng khác nhau dựa trên một lớp khác nhau. 
Ví dụ:
Xe là tổng quát hơn so với Mercedes, BMW hay Audi có thể được coi là đối tượng vì thực chất chúng là đề là xe nhưng có kích thước, hình dạng, màu sắc và tính năng khác nhau.
2) Một lớp có thể tương tự như cấu trúc (struct) trong ngôn ngữ lập trình C với sự khác biệt duy nhất là cấu trúc không chứa bất kỳ phương thức hoặc hàm nào, trong khi lớp trong Java chứa cả trạng thái và hành vi, trạng thái được biểu thị bằng trường trong lớp. Còn hành vi được điều khiển bởi các chức năng, còn được gọi là các phương thức trong Java, ví dụ start() sẽ thay đổi trạng thái của xe từ dừng sang bắt đầu hoặc chạy và stop() sẽ làm ngược lại.
3) Đối tượng cũng được gọi là cá thể trong Java và mọi cá thể có các giá trị khác nhau.
ví dụ như trong đoạn code sau:
[java]class Person {
    private String name;</pre>
public Person(String name) {
this.name = name;
}

public String getName() {
return name;
}
}

Person p1 = new Person("Rakesh");
Person p2 = new Person("Jimmy");
Person p3 = new Person("Peter");[/java]
Ở đây Person là một lớp vì nó định nghĩa thiết kế các đối tượng person, tức là lớp Person sẽ quy định một đối tượng person sẽ trông như thế nào, nó sẽ có thuộc tính gì, v.v… Bằng cách đó, lớp được khai báo bởi từ khóa “class” trong Java và p1, p2, p3 là các đối tượng khác nhau của lớp Person. Một điểm khác biệt giữa Class và Object trong Java là chúng ta có từ khóa class để khai báo lớp nhưng không có từ khóa đối với đối tượng. Các đối tượng được tạo đáng chú ý nhất bằng toán tử new(), gọi constructor của lớp để khởi tạo đối tượng trong Java.
 
Đó là tất cả về sự khác biệt giữa Class và Object trong Java. Như tôi đã nói sự khác biệt chính giữa lớp và đối tượng là Class là một thiết kế của một nhóm các đối tượng mà có các thuộc tính chung trong khi Object là một thực thể là một instance (ví dụ,trường hợp) của một lớp. Lớp sẽ xác định một đối tượng sẽ trông như thế nào và đối tượng thuộc về một lớp cụ thể. Trong ngôn ngữ lập trình hướng đối tượng, bạn có thể tìm thấy các ví dụ thực tế về lớp và đối tượng trong môi trường xung quanh, ví dụ: Nhà có thể là một lớp và nhà của bạn có thể được coi là đối tượng của lớp nhà, vì chúng là nhà nhưng nhà của bạn sẽ khác với các nhà khác.
Share
0 0 vote
Vui lòng đánh giá bài viết
Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments
XEM THÊM
CÔNG TY CỔ PHẦN CÔNG NGHỆ…
0
Bạn thích bài viết chứ? Hãy để lại bình luận.x
()
x