Encapsulated 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 người sử dụng (OOP) như C++, C#, Java, Objective-C… chính là tính đóng gói (Encapsulation). Đây là có mang rất cơ bản khi các bạn học về xây dựng hướng đối tượng người sử dụng nhưng tôi thì đa số chẳng mấy khi đon đả định nghĩa đúng mực nó là gì. Cũng chính vì các bạn biết đấy, với phần đông thứ mà chúng ta gặp hoặc tiếp xúc liên tiếp trong thời hạn dài, khi họ đã vượt hiểu chúng rồi thì họ nhiều lúc lại không có ý tưởng cụ thể về việc định nghĩa chúng. Ví dụ, tôi chắc chắn rằng tôi biết rất rõ ràng những lắp thêm như nhỏ chó, con gà, xe pháo máy,… là gì nhưng để đưa ra một khái niệm chuẩn chỉnh xác thì chắc chắn rằng tôi cũng cần thời gian đấy.

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

Gần đây có một trong những bạn hỏi tôi về các tính chất của xây dựng OOP trong số đó có tính gói gọn (Encapsulation), tôi dìm thức được việc trả lời chúng ta (đặc biệt là chúng ta mới học) một giải pháp đúng thực chất ngay từ đầu là vô cùng quan trọng. Vì chưng đó, để rất có thể trả lời các bạn một cách chuẩn xác tốt nhất thì tôi vẫn phải tìm kiếm lại một vòng Google xem định nghĩa mà tôi gửi ra bao gồm đúng không.

Xem thêm: Bài Văn Viết Thư Chúc Mừng Sinh Nhật Người Thân, Viết Thư Chúc Mung Sinh Nhat Nguoi Than

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

Xem thêm: Người Ta Mắc Hai Cực Của Nguồn Điện Với Một Biến Trở Có Thể Thay Đổi Từ 0 Đến Vô Cực

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

Tính gói gọn (Encapsulation) chỉ dễ dàng là vấn đề kết hợp một bộ những dữ liệu (data) liên quan đến nhau với một bộ những hàm/phương thức (functions/methods) chuyển động trên các dữ liệu đó, “gói” toàn bộ vào trong một chiếc gọi là class. Các thực thể của những class thì được gọi là các đối tượng (objects) trong khi class giống như một phương pháp được thực hiện để tạo ra các đối tượ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;