Post kali ini akan mempelajari sebuah bahsa pemrograman yaitu C++, dimana C++ sendiri merupakan suatu 'penyempurnaan' bahasa C yang dapat diterapkan pemrograman yang berbasis objek.
Kelas dan Objek
- Sebuah kelas digunakan untuk menspesifikasikan bentuk dari objek dan mengkombinasikan representasi data untuk memanipulasi data tersebut kepada suatu paket. Data dan fungsi dalam kelas sendiri disebut dengan member kelas.
- Saat mendifinisikan suatu kelas maka sama saja dengan mendefinisikan suatu blueprint dari tipe data.
- Pendefinisian kelas dimulasi dengan kalimat class lalu diikuti dengan nama kelas dan body dari kelas tersebut, dan diikuti dengan kurung kurawal.
- Objek dibuat dari sebuah kelas, dan cara pendeklarasiannya yaitu dengan cara
Bola Bola1
Bola Bola2
- Member data yang bersifat public dari sebuah objek dari kelas dapat diakses menggunakan operator akses langsung (.). Sebagai contoh
Bola1.bulat = 20;
- Terdapat beberapa konsep objek dan kelas dalam C++ diantarnya :
- Class member functions : fungsi yang memiliki definisinya sendiri dan prototipe bersamaan dengan definisi kelas seperti variabel lainnya.
- Class access modifier : sebuah member kelas dapat didefinisikan sebagai public, priivate atau protected.
- Constructor & destructor : constructor merupakan fungsi spesial pada kelas yang dipanggil ketika sebuah objek baru dari kelas dibuat dan destructor adalah sebuah fungsi spesial yang dipanggil ketika sebuah objek yang dibuat akan dihapus.
- Sebuah member function dari kelas adalah sebuah fungsi yang memiliki definisinya sendiri atau prototipenya sendiri bersamaan dengan definisi kelas seperti variable lainnya.
- Data hiding merupakan satu dari fitur penting dari Pemrograman Berorientasi Objek yang menizinkan penghindaran fungsi dari program untuk mengakses langsung kepada representasi internal dari class type. Acces modifier diantaranya :
- public : dapat diakses darimana saja diluar kelas namun dalam 1 program.
- private : tidak dapat diakses atau bahkan tidak dapat dilihat dari luar kelas, hanya kelas dan friend function yang dapat mengaksesnya.
- protected : hampir mirip dengan private, namun menyediakan satu buah kelebihan yaitu, mereka dapat diakses pada kelas child.
- Kelas constructor merupakan fungsi khusus dari sebuah kelas yang dapat dieksekusi ketika kita membuat sebuah objek dari kelas tersebut. Konstruktor memiliki nama yang persis sama dengan nama kelas.
- Sebuah contructor default tidak memiliki parameter apapun, namun ika dibutuhkan sebuah kontruktor dapat memiliki parameter.
- Destruktor merupakan sebuah fungsi khusus yang dieksekusi ketika sebuah objek dari kelas keluar dari jangkauan atau ketika delete expression diaplikasikan kepada poniter dari objek dari kelas tersebut,
- Sebuah copy constructor adalah konstruktor yang membuat sebuah objek dengan menginisialisasi objek tersebut dengan objek dari kelas yang sama, yang telah dibuat sebelumnya.
- Copy constructor digunakan ntuk :
- menginisialisasi satu objek dari objek lainnya dari tipe yang sama.
- menyalin sebuah oobjek untuk melewatkannya sebagai argumen kepada sebuah fungsi.
- menyalin sebuah objek untuk mengembalikkannya dari fungsi.
- Sebuah friend function dari kelas didefinisikan diluar dari ruang lingkup kelas namun ia memiliki hak untuk mengakses semua member private dan protected dari kelas.
- C++ inline functions merupakan sebuah konsep yang powerful yang umumnya digunakan bersamaan dengan kelas. Jika sebuah fungsi inline, maka compiler akan menempatkan salinan kode dari kode dari fungsi tersebut pada setiap titik dimana fungsi tersebut dipanggil saat waktu kompilasi.
- Pointer This merupakan cara untuk mengakses objek pada alamatnya.
- Salah satu konsep penting pada Pemrogramam Berorientasi Objek yaitu inheritansi/inheritance. Inheritansi mengizinkan kita untuk mendefinisikan sebuah kelas dari kelas lainnya/mewarisinya.
- Saat membuat sebuah kelas, daripada menulis kembali data member baru dan member function baru seluruhnya, seorang programmer dapar mendesain bahwa sebuah kelas baru dapat mewarisi kelas sebelumnya.
- Kelas yang sudah ada dikenal dengan Base Class dan kelas yang baru disebut dengan Derived class atau kelas turunan.
- Sebuah kelas turunan dapat mengakses semua member non-private dari kelas basisnya.
- Tipe inheritance diantaranya :
- Public Inheritance.
- Protected Inheritance.
- Private Inheritance.
- C++ mengizinkan kita untuk menspesifikasikan lebih dari satu definisi untuk nama fungsi atau sebuah operator dalam lingkup yang sama, yang dikenal dengan function overloading dan operator overloading.
- Operator overloaded adalah fungsi dengan nama spesial yang mengikuti kata kunci operator.
- Terdapat macam-macam operator relasi yang didukung oleh C++ seperti (<, >, <=, >=, ==, dll).
- C++ dapat memasukkan dan mengeluarkan tipe data yang ada menggunakan operator ektraksi stream >> dan operator stream insertion <</
- Sebuah operator akses class member (->) dapat dioverloaded namun agak sedikit sulit.
Polymorphism
- Kalimat polymorphism berarti memiliki banyak bentuk, Biasanya polimorfisme terjadi ketika terdapat hirarki dari kelas dan direlasi dengan inheritansi.
- C++ polymorphism berarti bahwa sebuah panggilan kepada member fungsi akan menyebabkan sebuah fungsi berbeda untuk dieksekusi tergantung dari tipe objek yang mengikutsertakan fungsi tersebut.
Contoh Kasus :
Salah satu contoh kasus Inheritansi menerapkan sifat penurunan pada bahasa C++ :
Outputnya dishare jg dong
BalasHapuswaduh, kebetulan saya sudah lama posting ini jadi hilang filenya :/
Hapus