Encapsulate là gì

Một trong các 4 đặc điểm đặc trưng chung của các ngôn ngữ lập trình sẵn hướng đối tượng (OOP) như C++, C#, Java, Objective-C… sẽ là tính đóng gói (Encapsulation). Đây là định nghĩa rất cơ bạn dạng khi chúng ta học về lập trình sẵn hướng đối tượng người tiêu dùng nhưng tôi thì phần lớn chẳng mấy khi thân thiết định nghĩa đúng chuẩn nó là gì. Bởi vì các các bạn biết đấy, với rất nhiều thứ mà bọn họ gặp hoặc tiếp xúc liên tục trong thời gian dài, khi họ đã vượt hiểu chúng rồi thì họ nhiều khi lại không có ý tưởng ví dụ về việc định nghĩa chúng. Ví dụ, tôi chắc hẳn rằng rằng tôi biết rất rõ ràng những lắp thêm như con chó, con gà, xe máy,… là gì nhưng để mang ra một khái niệm chuẩn chỉnh xác thì chắc là tôi cũng cần thời gian đấy.

Bạn đang xem: Encapsulate là gì

Gần phía trên có một trong những bạn hỏi tôi về các đặc điểm của lập trình OOP trong số đó có tính đóng gói (Encapsulation), tôi nhấn thức được vấn đề trả lời chúng ta (đặc biệt là các bạn mới học) một cách đúng thực chất ngay từ trên đầu là cực kỳ quan trọng. Vị đó, để hoàn toàn có thể trả lời các bạn một cách chuẩn chỉnh xác duy nhất thì tôi vẫn phải search lại một vòng Google coi định nghĩa nhưng tôi gửi ra gồm đúng không.

Xem thêm: Turn Into Nghĩa Là Gì - Cụm Động Từ Với Turn ( Phrasal Verbs With Turn )

Và tác dụng làm tôi đơ mình một chút, tôi đang tham khảo không hề ít link, và đa số kết quả đều tất cả một cái nào đó sai sai. Phần đông các công dụng (cả tiếng Anh, lẫn giờ Việt) đều phải có một vấn đề, kia là mặc dù đang nói đến tính đóng góp gói nhưng lại rất nhiều hoặc thậm chí còn mang nguyên định nghĩa về che dấu tài liệu (Data Hiding) vào để giải thích mặc mặc dù đó là một trong những khái niệm hoàn toàn khác. Ngay cả giải thích ở links wiki này tôi thấy cũng không đúng lắm. Cũng chính vì việc phân tích và lý giải sai, không ví dụ hoặc dễ gây nên nhầm lẫn đó nên từ bây giờ tôi viết nội dung bài viết này để đưa ra cách giải thích mà tôi mang đến là dễ nắm bắt và hợp lý nhất, khôn cùng may là cũng có thể có một số người đồng ý kiến với tôi, tôi đã trích một vài link tôi đã tìm hiểu thêm mà tôi thấy họ giải thích về Encapsulation khá hợp lý ngơi nghỉ cuối bài viết này.

Vậy rốt cuộc Tính đóng gói – Encapsulation là gì ? Tôi xin tinh chết lại như sau:

Tính đóng gói (Encapsulation) chỉ đơn giản dễ dàng là bài toán kết hợp một bộ những dữ liệu (data) liên quan đến nhau cùng rất một bộ những hàm/phương thức (functions/methods) vận động trên những dữ liệu đó, “gói” tất cả vào trong một chiếc gọi là class. Những thực thể của những class thì được call là những đối tượng (objects) trong những khi class y như một cách làm được áp dụng để tạo nên các đối tượng người tiêu dùng đó.

*
class Rectangle private: int mWidth; int mHeight;public: void setValues(int w, int h); int getArea(void);;void Rectangle::setValues(int w, int h) mWidth = w; mHeight = h;int Rectangle::getArea() return mWidth*mHeight;