Lớp và Đối tượng trong Java là thành phần cơ bản của OOP. Thường có sự nhầm lẫn giữa các lớp và các đối tượng. Trong hướng dẫn này, chúng tôi cố gắng cho bạn biết sự khác biệt giữa Lớp và Đối tượng trong Java.
Trước tiên, hãy hiểu chúng là gì,
- Class trong Java là gì?
- Đối tượng trong Java là gì?
- Sự khác biệt giữa Đối tượng và Lớp trong Java là gì?
- Khái niệm về lớp và đối tượng
- Lớp và Đối tượng trong Chương trình Ví dụ Java
- Ví dụ về đối tượng và lớp trong Java: lớp bên ngoài chính
Class trong Java là gì?
Lớp 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 một loại đối tượng cụ thể. Đây là một khái niệm cơ bản của Lập trình hướng đối tượng xoay quanh các thực thể trong cuộc sống thực. Lớp trong Java xác định cách một đối tượng sẽ hoạt động và đối tượng sẽ chứa những gì.Cú pháp
class{field;method;}
Đối tượng trong Java là gì?
Đối tượng là một thể hiện của một lớp. Một đối tượng trong OOPS không là gì ngoài một thành phần độc lập bao gồm các phương thức và thuộc tính để làm cho một loại dữ liệu cụ thể trở nên hữu ích. Ví dụ tên màu, cái bàn, cái túi, tiếng sủa. Khi bạn gửi một thông báo đến một đối tượng, bạn đang yêu cầu đối tượng gọi hoặc thực thi một trong các phương thức của nó như được định nghĩa trong lớp.
Theo quan điểm lập trình, một đối tượng trong OOPS có thể bao gồm một cấu trúc dữ liệu, một biến hoặc một hàm. Nó có một vị trí bộ nhớ được cấp phát. Các đối tượng Java được thiết kế dưới dạng phân cấp lớp.
Cú pháp
ClassName ReferenceVariable = new ClassName();
Sự khác biệt giữa Đối tượng và Lớp trong Java là gì?
Một lớp trong lập trình hướng đối tượng là một kế hoạch chi tiết hoặc mẫu mà định nghĩa các biến và các phương pháp (chức năng) chung cho tất cả Java Objects của một loại nhất định.
Một đối tượng trong OOPS là một mẫu vật của một lớp. Các đối tượng phần mềm thường được sử dụng để mô hình hóa các đối tượng trong thế giới thực mà bạn tìm thấy trong cuộc sống hàng ngày.
Bấm vào đây nếu video không thể truy cập được
Hiểu khái niệm về Lớp và Đối tượng Java bằng một ví dụ.
Hãy lấy một ví dụ về việc phát triển một hệ thống quản lý vật nuôi, dành riêng cho chó. Bạn sẽ cần nhiều thông tin khác nhau về những con chó như các giống chó khác nhau, độ tuổi, kích thước, v.v.
Bạn cần phải mô hình hóa các sinh vật ngoài đời thực, tức là những chú chó thành các thực thể phần mềm.
Hơn nữa, câu hỏi hàng triệu đô la là, làm thế nào bạn thiết kế phần mềm như vậy?
Đây là giải pháp-
Đầ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 chó khác nhau dưới đây.
Dừng lại ở đây ngay bây giờ! Liệt kê sự khác biệt giữa chúng.
Một số khác biệt mà bạn có thể đã liệt kê ra có thể là giống, tuổi, kích thước, màu sắc, v.v. Nếu bạn suy nghĩ trong một phút, những khác biệt này cũng là một số đặc điểm chung của những con chó này. Những đặc điểm này (giống, tuổi, kích thước, màu sắc) có thể tạo thành một thành viên dữ liệu cho đối tượng của bạn.
Tiếp theo, liệt kê các hành vi phổ biến của những con chó này như ngủ, ngồi, ăn, vv Vì vậy, đây sẽ là các hành động của các đối tượng phần mềm của chúng ta.
Cho đến nay, chúng tôi đã xác định những điều sau đây,
- Lớp học - Chó
- Các thành viên hoặc đối tượng dữ liệu - kích thước, tuổi, màu sắc, giống, v.v.
- Phương pháp - ăn, ngủ, ngồi và chạy.
Bây giờ, đối với các giá trị khác nhau của các thành viên dữ liệu (kích thước giống, tuổi và màu sắc) trong lớp Java, bạn sẽ nhận được các đối tượng chó khác nhau.
Bạn có thể thiết kế bất kỳ chương trình nào bằng cách sử dụng phương pháp OOPs này.
Trong khi tạo một lớp, người ta phải tuân theo các nguyên tắc sau.
- Nguyên tắc Trách nhiệm Đơn lẻ (SRP) - Một lớp chỉ nên có một lý do để thay đổi
- Trách nhiệm đóng mở (OCP) - Nó có thể mở rộng bất kỳ lớp nào mà không cần sửa đổi nó
- Trách nhiệm thay thế Liskov (LSR) - Các lớp có nguồn gốc phải được thay thế cho các lớp cơ sở của chúng
- Nguyên tắc đảo ngược phụ thuộc (DIP) - Phụ thuộc vào trừu tượng chứ không phụ thuộc vào cụ thể
- Nguyên tắc phân tách giao diện (ISP) - Chuẩn bị các giao diện chi tiết tốt dành riêng cho khách hàng.
Lớp và Đối tượng trong Chương trình Ví dụ Java
// Class Declarationpublic class Dog {// Instance VariablesString breed;String size;int age;String color;// method 1public String getInfo() {return ("Breed is: "+breed+" Size is:"+size+" Age is:"+age+" color is: "+color);}public static void main(String[] args) {Dog maltese = new Dog();maltese.breed="Maltese";maltese.size="Small";maltese.age=2;maltese.color="white";System.out.println(maltese.getInfo());}}Đầu ra:
Breed is: Maltese Size is:Small Age is:2 color is: white
Ví dụ về đối tượng và lớp trong Java: lớp bên ngoài chính
Trong chương trình trước, chúng ta đang tạo phương thức main () bên trong lớp. Bây giờ, chúng ta tạo các lớp và định nghĩa phương thức main () trong một lớp khác. Đây là một cách tốt hơn cách trước.
// Class Declarationclass Dog {// Instance VariablesString breed;String size;int age;String color;// method 1public String getInfo() {return ("Breed is: "+breed+" Size is:"+size+" Age is:"+age+" color is: "+color);}}public class Execute{public static void main(String[] args) {Dog maltese = new Dog();maltese.breed="Maltese";maltese.size="Small";maltese.age=2;maltese.color="white";System.out.println(maltese.getInfo());}}
Đầu ra:
Breed is: Maltese Size is:Small Age is:2 color is: white
Tóm lược:
- Lớp Java là một thực thể xác định cách các Đối tượng Java sẽ hoạt động và những đối tượng nào sẽ chứa
- Một đối tượng Java là một thành phần độc lập bao gồm các phương thức và thuộc tính để làm cho một số loại dữ liệu nhất định trở nên hữu ích
- Một hệ thống lớp cho phép chương trình xác định một lớp mới (lớp dẫn xuất) trong điều kiện của một lớp hiện có (lớp cha) bằng cách sử dụng một kỹ thuật như kế thừa, ghi đè và bổ sung.