Konsep dan Contoh OOP Yang Harus Diketahui Setiap Programmer

Diterbitkan: 2021-02-26

Pada artikel ini, kita akan membahas konsep dasar seputar Pemrograman Berorientasi Objek dan membahas istilah yang umum digunakan: Abstraksi, Enkapsulasi, Warisan, dan Polimorfisme.

Untuk memulainya, OOP adalah metodologi pemrograman yang mengharuskan pemrogram untuk membuat objek dan menggunakannya di seluruh program dalam fungsi yang memerlukan objek tersebut untuk operasinya. Alasan mengapa konsep OOP digunakan secara luas di java adalah karena memungkinkan penggunaan kembali kode dengan tetap menjaga keamanan.

Sebelum kita berbicara tentang empat pilar pemrograman berorientasi objek, mari kita membiasakan diri dengan istilah umum yang sangat sering kita dengar saat menggunakan salah satu bahasa berorientasi objek: Java, python, c++.

Daftar isi

Kelas

Kelas adalah kumpulan objek yang mendefinisikan satu set properti yang umum untuk semua objek dari tipe tertentu. Itu juga bisa disebut cetak biru untuk membuat objek. Sebuah kelas memerlukan komponen-komponen berikut:

Nama kelas: Nama yang diberikan untuk kelas yang dimulai dengan huruf kapital.

Pengubah: Berdasarkan fungsionalitas, pengubah kelas dapat bersifat publik, pribadi, atau default.

Body : Badan kelas berisi semua kode pada objek yang ada di kelas. Ini bisa berkisar dari mendeklarasikan variabel apa pun atau membuat konstruktor atau metode apa pun yang berisi fungsi suatu objek.

Obyek

Objek didefinisikan sebagai turunan dari kelas dan berisi entitas kehidupan nyata. Misalnya, untuk kelas yang disebut Hewan, objeknya adalah kucing, anjing, gajah et al. Setiap objek memiliki identitas, atribut, dan perilakunya sendiri. Kode di bawah ini menggambarkan penggunaan kelas, objek, dan metode saat memprogram dalam bahasa java.

Metode

Metode didefinisikan dalam kelas dan digunakan untuk melakukan fungsi tertentu. Metode ini mungkin atau mungkin tidak mengandung parameter input. Kode di bawah ini menggambarkan penggunaan kelas, objek, dan metode saat memprogram dalam bahasa java.

Dalam kode di atas, Player adalah nama yang diberikan ke kelas kita, sedangkan run adalah parameter yang dilewatkan dalam metode Batsman yang mengembalikan run yang dicetak olehnya saat dipanggil melalui objek yang disebut myobj.

Akses Pengubah

Pengubah akses di Java mendefinisikan aksesibilitas atau tingkat metode atau konstruktor atau kelas. Empat jenis pengubah akses adalah:

  1. Publik : Kode yang ditulis dalam suatu kelas dapat diakses oleh kelas lain.
  2. Private : Kode yang ditulis hanya dapat diakses di dalam kelas tertentu.
  3. Default : Kode yang ditulis dapat diakses dalam paket yang sama.
  4. Dilindungi : Kode ini dapat diakses di dalam sebuah paket dan juga melalui subkelas. Dengan tidak adanya kelas anak, kode tidak dapat diakses.

Sekarang mari kita lanjutkan dan berbicara tentang inti dari pemrograman berorientasi objek.

Warisan

Istilah pewarisan mengacu pada pewarisan properti dari satu kelas ke kelas lainnya. Properti mengacu pada atribut dan metode kelas induk. Kelas induk adalah kelas yang propertinya perlu diwarisi oleh kelas lain. Kelas-kelas yang mewarisi properti dari kelas induk disebut kelas anak atau subkelas. Untuk mewarisi properti dari kelas induk ke dalam kelas anak, kata kunci yang disebut ekstensi digunakan.

Dalam contoh di atas, Sponsor adalah kelas induk dengan pemilik sebagai atributnya. Kami telah membuat subkelas yang disebut Tim yang mewarisi kelas induk- Sponsor. Kami telah membuat objek Tim yang dapat mengakses properti kelas induk. Output dari kode di atas adalah:

Polimorfisme

Seperti namanya- Polimorfisme adalah kemampuan variabel atau fungsi untuk eksis dalam berbagai bentuk. Polimorfisme memungkinkan programmer untuk melakukan tugas yang berbeda menggunakan variabel atau fungsi yang sama. Contoh kehidupan nyata polimorfisme akan- pertimbangkan lapangan terbuka, sekarang tanah ini dapat digunakan untuk bermain olahraga.

Selain itu, bisa juga digunakan untuk mengatur pernikahan dan konser. Terakhir, tanah yang sama dapat digunakan untuk parkir kendaraan. Dari sini, kita dapat menyimpulkan bahwa satu variabel dapat memiliki beberapa implementasi tergantung pada penggunaannya.

Polimorfisme kita biasanya menemukan dua istilah yaitu- Metode overloading dan Metode overriding .

Dalam Metode Overloading , satu metode dapat digunakan dalam berbagai cara dan melakukan fungsi yang berbeda. Metode akan memiliki nama yang sama tetapi parameter yang berbeda dapat digunakan sebagai input.

Dalam Method Overriding , metode kelas induk dapat ditimpa oleh kelas anak. Dengan ini, metode yang sama dapat bekerja secara berbeda ketika dipanggil oleh kelas induk dan oleh kelas anak.

Contoh polimorfisme ditunjukkan di bawah ini:

Dalam contoh ini, dengan menggunakan metode yang sama kita dapat melakukan banyak tugas. Metode Voice yang sama saat digunakan di Bird akan mengeluarkan "Turr Turr" dan saat digunakan dengan Duck akan mengeluarkan "Quack Quack". Cuplikan output ditunjukkan di bawah ini-

Abstraksi

Abstraksi adalah proses menyembunyikan data tertentu dari pengguna dan hanya menampilkan informasi yang diperlukan kepada mereka. Misalnya, saat mengendarai mobil, kami tidak memperhatikan fungsi atau mekanisme internal. Apa yang ditunjukkan kepada kita adalah kecepatan mobil dikemudikan dan liter bensin yang tersedia. Semua data terpinggirkan lainnya tidak ditampilkan ke pengemudi.

Kata kunci abstract digunakan untuk metode dan kelas saat melakukan abstraksi. Untuk kelas abstrak, kita tidak dapat membuat objek sedangkan metode abstrak tidak boleh menyertakan badan. Jika salah satu dari dua aturan dilanggar, output akan menghasilkan kesalahan.

Di sini, kita telah membuat sebuah objek dari subkelas- Bebek yang diwarisi dari kelas utama- Burung. Outputnya ditunjukkan di bawah ini:

Enkapsulasi

Enkapsulasi adalah proses mengikat kode dan data menjadi satu kesatuan. Di sini, variabel suatu kelas disembunyikan dari kelas lain (dengan menggunakan kata kunci private ) tetapi hanya dapat diakses melalui fungsi anggota. Fungsi setter dan getter digunakan untuk mengakses variabel privat dari kelas yang abstrak.

Sampai sekarang, kami telah membahas segala sesuatu yang berhubungan dengan pemrograman berorientasi objek menggunakan Java. Sebelum kita menyimpulkan, mari kita lihat beberapa keuntungan dari konsep OOP.

  1. Kode dapat dengan mudah digunakan kembali dan oleh karena itu menghemat banyak waktu dan biaya untuk pengembangan kode.
  2. Ini membantu dalam merancang kode dengan cara yang terstruktur dengan baik sehingga setiap programmer baru tidak perlu menghabiskan waktu berjam-jam untuk memahami kode.
  3. Selain membantu pengguna dalam menulis kode secara efisien, ini memastikan keamanan tidak terganggu.

Checkout: Pertanyaan & Jawaban Wawancara OOP

Pelajari Kursus Perangkat Lunak online dari Universitas top dunia. Dapatkan Program PG Eksekutif, Program Sertifikat Tingkat Lanjut, atau Program Magister untuk mempercepat karier Anda.

Kesimpulan

Sebagai penutup, di blog ini kita telah membahas konsep dasar OOP. Konsep-konsep ini digunakan secara luas dalam industri dan aplikasi lainnya. Untuk menjadi programmer yang mahir, seseorang harus memiliki pemahaman yang kuat tentang konsep-konsep ini. Di blog yang akan datang, kami akan mengungkap beberapa konsep pemrograman penting lainnya yang akan membantu Anda mengembangkan keahlian dalam domain ini.

Jika Anda tertarik untuk mempelajari lebih lanjut tentang pengembangan perangkat lunak full-stack, lihat Program PG Eksekutif upGrad & IIIT-B dalam Pengembangan Perangkat Lunak Full-stack yang dirancang untuk profesional yang bekerja dan menawarkan 500+ jam pelatihan yang ketat, 9+ proyek dan tugas, status Alumni IIIT-B, proyek batu penjuru praktis & bantuan pekerjaan dengan perusahaan-perusahaan top.]

Apa itu faktorial?

Faktorial adalah operasi matematika yang menghitung produk dari angka tertentu dan semua angka di bawahnya. Faktorial adalah produk yang menunjukkan berapa kali suatu bilangan dikalikan satu. Misalnya, faktorial dari 5 adalah 5x4x3x2x1, yang sama dengan 120. Faktorial dari 1 adalah 1 dan faktorial dari 0 juga 1. Program untuk mencari faktorial suatu bilangan adalah pertanyaan wawancara yang paling sering ditanyakan dan merupakan sesuatu yang harus di ujung tangan Anda.

Bagaimana cara menulis program rekursi faktorial?

Faktorial suatu bilangan n didefinisikan sebagai n! = 1 × 2 × 3 × 4 × … × n. Faktorial dari 5 adalah 120. Fungsi faktorial didefinisikan sebagai faktorial(5) = 120. Fungsi rekursif adalah fungsi yang memanggil dirinya sendiri. Ini adalah contoh fungsi faktorial dalam gaya rekursif faktorial(n) = n * faktorial(n - 1). Menulis program rekursi faktorial sangat sederhana dan kodenya sangat mirip dengan versi iteratifnya. Untuk menulis versi iteratif, kita menggunakan variabel yang disebut n dan menambahkannya satu per satu dan mengalikannya dengan variabel yang disebut prod, yang melacak nilai n yang berurutan. Nilai output juga disimpan dalam variabel yang disebut prod. Dalam versi rekursif, Anda masih menggunakan variabel bernama n. Namun, Anda tidak memerlukan variabel untuk menyimpan nilai prod dan Anda dapat langsung mengembalikan prod dari fungsi tersebut.

Apa itu rekursi dalam pemrograman?

Kata rekursi berasal dari kata latin recurrere yang berarti kembali. Di sebagian besar bahasa pemrograman, fungsi yang memanggil dirinya sendiri disebut rekursi. Proses perulangan ini berlanjut sampai kasus dasar tercapai, yang tidak didefinisikan dalam fungsi rekursif manapun. Rekursi adalah teknik yang efektif untuk memecahkan masalah dengan cara yang terstruktur dan terorganisir. Ini adalah strategi pemrograman yang bagus. Misalnya, masalah deret Fibonacci, masalah faktorial, dll. dapat diselesaikan baik secara iteratif maupun rekursif.