Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Industrial programming >> Bahasa C

Enkapsulasi Data dalam C++

Semua program C++ terdiri dari dua elemen dasar berikut −

Enkapsulasi adalah konsep Pemrograman Berorientasi Objek yang menyatukan data dan fungsi yang memanipulasi data, dan menjaga keduanya aman dari gangguan dan penyalahgunaan dari luar. Enkapsulasi data mengarah pada konsep OOP penting dari penyembunyian data .

Enkapsulasi data adalah mekanisme bundling data, dan fungsi yang menggunakannya dan abstraksi data adalah mekanisme yang hanya memperlihatkan antarmuka dan menyembunyikan detail implementasi dari pengguna.

C++ mendukung properti enkapsulasi dan penyembunyian data melalui pembuatan tipe yang ditentukan pengguna, yang disebut kelas . Kami telah mempelajari bahwa suatu kelas dapat berisi pribadi, dilindungi dan publik anggota. Secara default, semua item yang didefinisikan dalam kelas bersifat pribadi. Misalnya

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
};

Variabel panjang, lebar, dan tinggi adalah pribadi . Ini berarti bahwa mereka hanya dapat diakses oleh anggota lain dari kelas Box, dan bukan oleh bagian lain dari program Anda. Ini adalah salah satu cara enkapsulasi tercapai.

Untuk membuat bagian dari kelas publik (yaitu, dapat diakses oleh bagian lain dari program Anda), Anda harus mendeklarasikannya setelah publik kata kunci. Semua variabel atau fungsi yang ditentukan setelah penentu publik dapat diakses oleh semua fungsi lain dalam program Anda.

Menjadikan satu kelas sebagai teman kelas lain memperlihatkan detail implementasi dan mengurangi enkapsulasi. Idealnya adalah menyembunyikan sebanyak mungkin detail setiap kelas dari semua kelas lain.

Contoh Enkapsulasi Data

Program C++ apa pun tempat Anda mengimplementasikan kelas dengan anggota publik dan pribadi adalah contoh enkapsulasi data dan abstraksi data. Perhatikan contoh berikut

Demo Langsung
#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;
      };
   
   private:
      // hidden data from outside world
      int total;
};

int main() {
   Adder a;
   
   a.addNum(10);
   a.addNum(20);
   a.addNum(30);

   cout << "Total " << a.getTotal() <<endl;
   return 0;
}

Ketika kode di atas dikompilasi dan dieksekusi, menghasilkan hasil sebagai berikut

Total 60

Kelas di atas menambahkan angka bersama-sama, dan mengembalikan jumlahnya. Anggota publik addNum dan getTotal adalah antarmuka ke dunia luar dan pengguna perlu mengetahuinya untuk menggunakan kelas. Anggota pribadi total adalah sesuatu yang tersembunyi dari dunia luar, tetapi diperlukan agar kelas dapat beroperasi dengan baik.

Merancang Strategi

Sebagian besar dari kita telah belajar untuk membuat anggota kelas menjadi pribadi secara default kecuali kita benar-benar perlu mengekspos mereka. Itu hanya enkapsulasi yang bagus .

Ini paling sering diterapkan pada anggota data, tetapi berlaku sama untuk semua anggota, termasuk fungsi virtual.


Bahasa C

  1. Tipe Data C++
  2. Operator C++
  3. Kelas dan Objek C++
  4. Template Kelas C++
  5. Enkapsulasi Java
  6. Tipe Data C++ Char dengan Contoh
  7. Java - Enkapsulasi
  8. Java - Struktur Data
  9. Kelas Penyimpanan di C++
  10. Struktur Data C++