Konsep OOP

Salah satu kelebihan utama C++ dibandingkan dengan C adalah ditambahkannya fasilitas Object Oriented Programming (OOP), sehingga pada awal mulanya, C++ dinamakan “C dengan class”. Sebenarnya apakah yang dimaksud dengan istilah OOP, class dan object tersebut? Pengertian istilah-istilah ini sangat penting untuk memahami C++.

Untuk membahas konsep Prosedural dalam C dan OOP dalam C++, kita asumsikan kita akan membuat suatu tombol. Tombol push-button? Ya! Tombol push-button yang biasa kita click dengan mouse!

Tombol ini mempunyai data:

label berupa string.

PosisiX berupa int

posisiY berupa int.

status berupa boolean.

Untuk men-create tombol, kita gunakan fungsi

create_tombol()

Kemudian aksi pada tombol ini adalah:

tombol_diclick()

Program Prosedural

Pada program prosedural, data-data tombol diatas mungkin akan kita satukan dalam sebuah struct. Sedangkan fungsi create_tombol() dan tombol_diclick() kita buat terpisah.

OOP

Pada OOP, tombol diatas dianggap sebagai suatu object, sehingga data, beserta fungsi yang berkaitan dengannya: crate_tombol() dan tombol_diclick() dibungkus menjadi satu menjadi katakanlah object tombol. Pembungkus dari data dan fungsi-fungsi bersesuaian menjadi satu object disebut sebagai class. Sehingga dengan menggunakan pembungkus (class) ini diharapkan data-data dan fungsi-fungsi yang bersesuaian untuk suatu object dapat dikumpulkan menjadi satu sehingga program akan menjadi lebih rapi.

Sehingga:

Object : Ingat pelajaran Bahasa Indonesia tentang SPO! Object adalah apa yang “dikenakan” oleh subject, bila subject adalah pengguna program, maka tombol dalam program adalah object-nya.

Class : Telah dibahas diatas, class adalah pengumpul data, fungsi yang bersesuaian untuk membentuk suatu object.

Untuk dapat dikatakan OOP, suatu bahasa pemrograman harus mempunyai ciri:

  1. Abstraction (Penyembunyian detail)

Yaitu penyembunyian detail object. Untuk apa? Untuk menyederhanakan cara pikir programer, maka detil oject yang tidak perlu untuk diatur/diutak-atik lagi perlu diabstraksi. Pada contoh object tombol diatas, untuk pengunaan object selanjutnya kita tidak perlu mengutak-atik cara penggambaran tombol ke screen. Proses penggambaran tombol ke screen kita abstraksi.

  1. Encapsulation (Pembungkusan)

Seperti penjelasan diatas, data dan fungsi yang bersesuaian pada suatu object dibungkus oleh class menjadi suatu object, pembungkusan inilah yang disebut encapsulation

  1. Inheritance (Pewarisan object)

Pewarisan object adalah kita dapat membuat object1 dengan sifat baru, namun masih memiliki sifat object2, object1 dikatakan diturunkan dari object2

  1. Polymorfisme (Banyak bentuk)

Kita diijinkan untuk membuat/mendefinisi ulang member fungsi dari class induk pada class turunan dengan syarat member fungsi induk haruslah virtual function (dibahas nanti). Pembuat/definisi ulang ini dapat mempunyai isi yang berbeda.

1 komentar:

  1. Where to Bet on Sports To Bet On Sports In Illinois
    The kadangpintar best sports septcasino bet types poormansguidetocasinogambling.com and bonuses available 토토 사이트 추천 in Illinois. The most common sports betting 바카라사이트 options available. Bet $20, Win $150, Win $100 or

    BalasHapus