Tính đóng gói dữ liệu trong C++

Một phần của tài liệu Tài liệu lập trình C++ tiếng Việt (Trang 121)

Các lệnh (code) chương trình: Đây là phần chương trình mà thực hiện các hành động và

cúng được gọi là các hàm.

Dữ liệu chương trình: Dữ liệu là thông tin của chương trình mà tác động đến các hàm

chương trình.

Tính đóng gói (Encapsulation) là một khái niệm của lập trình hướng đối tượng mà ràng buộc dữ liệu và các hàm mà thao tác dữ liệu đó, và giữ chúng an toàn bởi ngăn cản sự gây trở ngại và sự lạm dụng từ bên ngoài. Tính đóng gói dữ liệu dẫn đến khái niệm OOP quan trọng là Data Hiding.

Tính đóng gói dữ liệu - Data encapsulation là một kỹ thuật bao đóng dữ liệu, và các hàm mà sử

dụng chúng và trừu tượng hóa dữ liệu là một kỹ thuật chỉ trưng bày tới các Interface và ẩn Implementation Detail (chi tiết trình triển khai) tới người sử dụng.

C++ hỗ trợ các thuộc tính của đóng gói và ẩn dữ liệu thông qua việc tạo các kiểu tự định nghĩa (user-defined), gọi là classes. Chúng ta đã học rằng một lớp có thể chứa các thành viên private,

protected và public. Theo mặc định, tất cả thành phần được định nghĩa trong một lớp là private.

Ví dụ:

class Box {

public:

double getVolume(void) {

return length * breadth * height; }

private:

double length; // Length of a box double breadth; // Breadth of a box double height; // Height of a box

http://vietjack.com/ Trang chia sẻ các bài học online miễn phí Trang 122 };

Các biến length, breadth, và height là private. Nghĩa là chúng chỉ có thể được truy cập bởi các thành viên khác của lớp Box, và không thể bởi bất kỳ phần khác trong chương trình của bạn. Đây là một cách thực hiện tính đóng gói trong C++.

Để làm cho các phần của lớp là public (ví dụ: có thể truy cập tới các phần khác trong chương trình của bạn), bạn phải khai báo chúng sau từ khóa public. Tất cả biến và hàm được định nghĩa sau từ khóa public là có thể truy cập cho tất cả các hàm trong chương trình của bạn.

Ví dụ về Đóng gói dữ liệu trong C++

Trong bất kỳ chương trình C++ nào, nơi bạn triển khai một lớp với các thành viên là public và private thì đó là ví dụ của Đóng gói dữ liệu và Trừu tượng hóa dữ liệu trong C++. Bạn xem xét ví dụ sau: #include <iostream> using namespace std; class Adder{ public: // constructor Adder(int i = 0) { total = i; }

// interface to outside world void addNum(int number) {

total += number; }

// interface to outside world int getTotal()

{

return total; };

http://vietjack.com/ Trang chia sẻ các bài học online miễn phí Trang 123 private:

// hidden data from outside world int total; }; int main( ) { Adder a;

Một phần của tài liệu Tài liệu lập trình C++ tiếng Việt (Trang 121)