Các nguyên tắc cơ bản của OOP: Đóng gói
Để hiểu đóng gói là gì, hãy quay lại thực tế một chút. Khi chúng ta mua một thiết bị gia dụng, nó thường được "niêm phong" và đi kèm bảo hành. Chúng ta được phép sử dụng nó ở các chế độ bình thường, nhưng nhà sản xuất không khuyến khích chúng ta mở vỏ và bắt đầu "đào bới bên trong". Ví dụ, bạn có thể sử dụng các tiện ích đặc biệt để ép xung bộ xử lý máy tính, nhưng điều này cũng khiến chúng ta mất bảo hành, vì những hành động này có thể dẫn đến hỏng hóc thiết bị.
Điều này cũng tương tự trong việc phát triển các lớp. Không ai nên được phép truy cập vào triển khai bên trong, để không làm rối loạn lớp. Đây được gọi là đóng gói, tức là bao gồm mọi thứ quan trọng trong một viên nang. Trong MQL5, cũng như trong C++, có 3 cấp độ quyền truy cập. Theo mặc định, tổ chức của lớp là private
, tức là ẩn khỏi tất cả người dùng của nó. Chỉ mã nguồn của chính lớp mới có quyền truy cập vào nội dung.
Người dùng lớp cũng là lập trình viên. Ngay cả khi bạn viết một lớp cho chính mình, việc tận dụng các giới hạn tối đa vẫn có ý nghĩa để tránh vô tình làm hỏng lớp (suy cho cùng, con người thường mắc sai lầm và quên các đặc điểm của mã của chính họ sau một thời gian, còn các chương trình thì có xu hướng phát triển vô hạn).
Cấp độ truy cập thứ hai cho phép "người thân" (chính xác hơn là các lớp kế thừa; chúng ta sẽ quay lại vấn đề này trong vài đoạn sau) nhìn vào bên trong.
Cuối cùng, cấp độ truy cập thứ ba mà bạn có thể chọn là public
. Nó được thiết kế đặc biệt cho các giao diện lập trình bên ngoài, cho phép sử dụng các đối tượng từ bất kỳ phần nào của chương trình cho mục đích chính của chúng.
Mỗi phương thức hoặc trường có một trong ba cấp độ truy cập, được xác định bởi người phát triển lớp.