VietTuts

Tự Học Lập Trình Online

  • Home
  • Java
  • Servlet
  • JSP
  • Struts2
  • Hibernate
  • Spring
  • MyBatis
  • Java WS
  • C
  • C++
  • C#
  • Python
  • PHP
  • Excel
  • VBA
  • Web
    • JavaScript
    • JQUERY
    • JSON
    • AJAX
    • CSS
    • HTML
    • HTML5
    • Node.js
    • Angular 7
  • SQL
    • MySQL
    • SQL Server
  • Misc
    • Eclipse
    • Phần mềm tiện ích
    • Cấu trúc DL&GT
    • Selenium Test

C++ Cơ Bản

Ngôn ngữ lập trình C++ là gì? Lịch sử của C++ Các tính năng của C++ Cài đặt môi trường lập trình C++ Chương trình C++ đầu tiên Biến trong C++ Các kiểu dữ liệu trong C++ Ép kiểu trong C++ Từ khóa trong C++ Các toán tử trong C++ Comment trong C++ Các hằng số trong C++ count, cin và endl trong C++ Ký tự đặc biệt trong C++ Namespace trong C++ Template trong C++ Modifier trong C/C++

Câu Lệnh Điều Khiển C++

Mệnh đề if-else Mệnh đề switch Vòng lặp for Vòng lặp while Vòng lặp do-while Lệnh Break Lệnh Continue Lệnh Goto

C++ Function

Hàm trong C++ Hàm do người dùng định nghĩa Các kiểu hàm trong C++ Đệ quy trong C++ Call by value Call by reference

C++ Array

Mảng (array) trong C++ Mảng 2 chiều trong C++ Truyền mảng vào hàm

C++ Poiter

Con trỏ trong C++ Con trỏ Null trong C++ Con trỏ số học trong C++ Con trỏ và mảng trong C++ Mảng con trỏ trong C++ Con trỏ tới con trỏ trong C++ Truyền con trỏ tới hàm trong C++ Trả về con trỏ từ hàm trong C++

C++ Lớp Object

Khái niệm lập trình hướng đối tượng trong C++ Lớp và đối tượng trong C++ Constructor trong C++ Destructor trong C++ this trong C++ static trong C++ struct trong C++ Enumeration trong C++ Hàm Friend trong C++ Hàm Math trong C++ Tính kế thừa trong C++ Tính đa hình trong C++ Tính trừu tượng trong C++ Tính đóng gói trong C++ Interface trong C++

Nạp Chồng Toán Tử

Nạp chồng toán tử và Nạp chồng hàm trong C++ Nạp chồng toán tử một ngôi trong C++ Nạp chồng toán tử nhị phân trong C++ Nạp chồng toán tử quan hệ trong C++ Nạp chồng toán tử Input/Output trong C++ Nạp chồng toán tử ++ và -- trong C++ Nạp chồng toán tử gán trong C++ Nạp chồng toán tử gọi hàm () trong C++ Nạp chồng toán tử subscript [] trong C++ Nạp chồng toán tử truy cập thành viên lớp (->) trong C++

Lập Trình C++

Xử lý ngoại lệ trong C++ Đa luồng trong C++
Bài Tập C++ Có Lời Giải
1 / 3
❮ ❯

Tính đóng gói trong C++


Tính trừu tượng trong C++
Interface trong C++

Nội dung chính

  • Tính đóng gói trong C++
  • Ví dụ về tính đóng gói trong C++
  • Chiến lược thiết kế trong C++

Tính đóng gói trong C++

Tất cả chương trình C++ bao gồm hai thành phần nền tảng là:

  • 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ẫn đến khái niệm OOP quan trọng là Data Hiding.

Tính đóng gói - Data encapsulation là một kỹ thuật đóng gói 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 tinhTheTich(void)
      {
         return chieudai * chieurong * chieucao;
      }
   private:
      double chieudai;      // Chieu dai cua mot box
      double chieurong;     // Chieu rong cua mot box
      double chieucao;      // Chieu cao cua mot box
};

Các biến chieudai, chieurong, và chieucao 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ề tính đóng gói 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 tính đóng gói 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 A{
   public:
      // khai bao constructor
      A(int i = 0)
      {
        tong = i;
      }
      // du lieu ma la nhin thay voi ben ngoai
      void congThem(int motso)
      {
          tong += motso;
      }
      // du lieu ma la nhin thay voi ben ngoai
      int tinhTong()
      {
          return tong;
      };
   private:
      // du lieu ma la bi an voi ben ngoai
      int tong;
};
int main( )
{
   A a;
   
   a.congThem(15);
   a.congThem(25);
   a.congThem(35);   cout << "Tong gia tri la: " << a.tinhTong() <<endl;
   return 0;
}

Biên dịch và chạy chương trình C++ trên sẽ cho kết quả sau:

Tính đóng gói trong C++

Lớp trên cộng hai số và trả về tổng của chúng. Các thành viên public là congThem và tinhTong là các Interface (mà là nhìn thấy) tới bên ngoài và một người sử dụng cần biết chúng để sử dụng lớp đó. Thành viên private là tong là cái gì đó mà người sử dụng không cần biết đến, nhưng là cần thiết cho lớp đó hoạt động một cách chính xác.


Chiến lược thiết kế trong C++

Hầu hết chúng ta đã có ít nhiều kinh nghiệm về việc làm cho các thành viên lớp là private theo mặc định, trừ khi chúng ta thực sự cần thiết phải trưng bày chúng. Đó là một kinh nghiệm về tính đóng gói tốt.

Kinh nghiệm này được áp dụng thường xuyên nhất cho các thành viên dữ liệu, nhưng nó áp dụng như nhau cho tất cả thành viên, bao gồm cả các hàm virtual trong C++.


Tính trừu tượng trong C++
Interface trong C++

Recent Updates

Sắp Tết 2024 Rồi! - Còn bao nhiêu ngày nữa là đến tết 2024?Đa luồng trong C++Xử lý ngoại lệ trong C++Nạp chồng toán tử truy cập thành viên lớp (->) trong C++Nạp chồng toán tử subscript [] trong C++Nạp chồng toán tử gọi hàm () trong C++Nạp chồng toán tử gán trong C++Nạp chồng toán tử ++ và -- trong C++Nạp chồng toán tử Input/Output trong C++Nạp chồng toán tử quan hệ trong C++Nạp chồng toán tử nhị phân trong C++Nạp chồng toán tử một ngôi trong C++Nạp chồng toán tử và Nạp chồng hàm trong C++

VietTuts on facebook

Học Lập Trình Online Miễn Phí - VietTuts.Vn
Danh Sách Bài Học

Học Java | Hibernate | Spring
Học Excel | Excel VBA
Học Servlet | JSP | Struts2
Học C | C++ | C#
Học Python
Học SQL

Bài Tập Có Lời Giải

Bài tập Java
Bài tập C
Bài tập C++
Bài tập C#
Bài tập Python
Ví dụ Excel VBA

Câu Hỏi Phỏng Vấn

201 câu hỏi phỏng vấn java
25 câu hỏi phỏng vấn servlet
75 câu hỏi phỏng vấn jsp
52 câu hỏi phỏng vấn Hibernate
70 câu hỏi phỏng vấn Spring
57 câu hỏi phỏng vấn SQL

Scroll back to top

Copyright © 2016 VietTuts.Vn all rights reserved. | Liên hệ | Chính sách - riêng tư | sitemap.html | sitemap_index.xml