Konsep OOPS Dijelaskan untuk Pemula

Diterbitkan: 2022-12-20

Peran program komputer adalah untuk berhasil memodelkan persyaratan dunia nyata yang kompleks menjadi instruksi yang dapat dimengerti komputer. Untuk mencapai itu, beberapa paradigma pemrograman bekerja pada filosofi yang berbeda. Ini termasuk Pemrograman Fungsional, Pemrograman Prosedural, Pemrograman Berorientasi Objek, dan banyak lagi. Paradigma ini berbeda berdasarkan cara kerjanya dan oleh karena itu tidak bergantung pada bahasa.

Pada artikel ini, kita akan melihat Pemrograman Berorientasi Objek secara mendalam. Sebelum kita masuk ke kompleksitas OOPS, berikut adalah beberapa konsep kunci OOP di Java yang harus Anda ingat, karena ini adalah empat pilar di mana OOPS bekerja:

  • Abstraksi
  • Enkapsulasi
  • Warisan
  • Polimorfisme

Kami akan membicarakan konsep OOP ini secara mendalam di tahap selanjutnya dalam artikel ini. Tapi pertama-tama, mari kita pahami apa sebenarnya Pemrograman Berorientasi Objek itu.

Daftar isi

Apa itu Pemrograman Berorientasi Objek?

Sebelum Pemrograman Berorientasi Objek, Pemrograman Fungsional adalah paradigma pemrograman yang dominan. Bahasa seperti C dan COBOL mengikuti paradigma ini, jadi program yang ditulis menggunakan bahasa ini adalah serangkaian instruksi. Ini menggunakan subrutin atau prosedur untuk menjaga agar kode sumber tetap modular dan lebih mudah dibaca. Paradigma Pemrograman Fungsional lebih berfokus pada logika daripada data, dan program akan menggabungkan data dan program.

Bahasa pemrograman, seperti C++, C#, Java, dan lainnya, beralih ke pendekatan Pemrograman Berorientasi Objek setelah C. OOP memprioritaskan data yang menimpa instruksi berbasis logika sederhana. Intinya, objek adalah segala sesuatu yang ingin Anda modelkan dalam program Anda. Itu bisa apa saja. Jika saat ini kedengarannya tidak jelas, pertahankan sampai akhir, dan Anda akan mengerti persis apa yang kami maksud dengan ini!

Apa itu Kelas dan Objek?

Pemrograman Berorientasi Objek bekerja dengan Kelas dan Objek. Jadi, penting untuk memahami apa arti kedua istilah ini dan bagaimana perbedaannya satu sama lain. Sederhananya, pikirkan Kelas sebagai cetak biru yang membantu membuat Objek saat dan saat Anda membutuhkannya.

Peran Kelas adalah untuk mendefinisikan berbagai atribut dan perilaku yang berbeda. Jadi, jika kita membuat model kendaraan dalam program kita, kita akan membuat Kelas untuk kendaraan tersebut dan menyimpan atribut seperti jumlah roda, warna, model, umur, dan seterusnya; sedangkan perilakunya seperti start, akselerasi, mengerem, dan sebagainya. Seperti yang Anda lihat, atribut dan perilaku yang telah kami definisikan tidak spesifik untuk satu kendaraan. Mereka pada dasarnya mencakup perilaku dan atribut yang berbeda di berbagai kendaraan. Dengan begitu, saat Anda ingin membuat instance objek kendaraan baru, Anda dapat menentukan atribut per kendaraan yang dimaksud. Dengan cara ini, Kelas bertindak sebagai cetak biru yang sempurna untuk membuat objek baru dengan atribut dan perilaku yang sama.

Jadi, inilah Kendaraan Kelas kami dan atribut serta perilakunya yang berbeda akan terlihat. Ingatlah bahwa kita telah menggunakan sintaksis Java untuk menulis kode, tetapi paradigma pemrogramannya netral terhadap bahasa.

Kendaraan kelas umum{

string pribadi _color;

int pribadi _model;

string pribadi _makeYear;

string pribadi _fuelType;

kekosongan publik mulai(){ }

percepatan kekosongan publik() {}

penghentian kekosongan publik() {}

}

Dengan menggunakan Kelas yang ditentukan, kita dapat membuat berbagai objek dengan atribut berbeda sambil memiliki perilaku yang sama. Misalnya:

Objek 1
Model Alto
Bahan bakar CNG
Membuat 2018
Awal()

Merusak()

Mempercepat()

Objek 2
Model GerobakR
Bahan bakar Bensin
Membuat 2017
Awal()

Merusak()

Mempercepat()

Dengan cara ini, Kelas dalam Pemrograman Berorientasi Objek dapat membantu Anda menyederhanakan pemodelan perilaku dan sistem kompleks dunia nyata. Semua data, atribut, dan fungsi terikat pada objek kelas apa pun. Dengan cara ini, kebutuhan untuk menyimpan data global dapat dihilangkan. Ini adalah perbedaan penting antara pendekatan Pemrograman Prosedural dan Pemrograman Berorientasi Objek.

Dengan dasar-dasar yang ditetapkan, mari kita lihat empat pilar Pemrograman Berorientasi Objek secara mendalam:

Dapatkan sertifikasi ilmu data dari Universitas top Dunia. Pelajari Program PG Eksekutif, Program Sertifikat Lanjutan, atau Program Magister untuk mempercepat karier Anda.

Abstraksi

Abstraksi adalah tentang berfokus pada apa yang dilakukan alih-alih bagaimana tugas dilakukan. Seluruh ide di balik abstraksi adalah untuk membantu membangun modul independen yang dapat dibuat untuk berinteraksi satu sama lain tanpa harus bergantung satu sama lain. Dengan cara ini, pemeliharaan suatu program juga menjadi lebih mudah dan lebih mudah dikelola. Dengan Abstraksi, OOP mencoba untuk mewakili hanya fitur-fitur penting tanpa membahas bagaimana fitur-fitur tersebut diimplementasikan atau bagaimana internal sistem bekerja.

Ide di balik salah satu konsep OOPS terpenting dalam Python adalah bahwa pemrogram hanya perlu fokus pada hal-hal yang penting bagi modul saat ini secara langsung. Memodifikasi satu modul tidak boleh berdampak langsung pada modul independen lainnya. Seorang programmer hanya membutuhkan pengetahuan tentang modul saat ini dan apa yang diberikannya. Tidak perlu banyak memahami latar belakang kerja modul untuk mencapai apa yang dibutuhkan; oleh karena itu, informasi tersebut diabstraksi untuk hasil terbaik.

Jika Anda mengambil ide abstraksi di luar pemrograman, Anda akan menyadari bahwa abstraksi pada dasarnya ada di mana-mana. Objek yang kita tangani setiap hari diabstraksi dari kita di berbagai tingkatan. Misalnya, kami tidak tahu cara kerja bagian dalam rem mobil kami, tetapi kami telah diberi pedal untuk mengerem sambil mengabstraksi mekanisme di balik tirai. Dengan begitu, Anda tidak perlu khawatir tentang cara kerjanya; Anda hanya perlu menekan pedal.

Enkapsulasi

Konsep enkapsulasi terkait erat dengan konsep abstraksi sebelumnya. Enkapsulasi, pada dasarnya, semua tentang memberikan solusi untuk suatu masalah tanpa mengharuskan pengguna akhir untuk memahami domain masalah sepenuhnya. Untuk melakukan ini, enkapsulasi mengikat semua data dan perilaku bersama sebagai satu kesatuan. Dengan begitu, pengguna akhir dicegah untuk mengetahui tentang elemen dalam di mana pun abstraksi diterapkan.

Pengguna tidak dapat mengakses data secara langsung dan menggunakan fungsi yang terbuka untuk mengakses data jika diperlukan. Dengan menyembunyikan internal objek, paradigma pemrograman OOPS melindungi integritas modul dan tidak mengizinkan pengguna untuk mengatur data internal ke keadaan tidak konsisten. Jika tidak dilakukan, hal ini dapat menyebabkan banyak masalah dalam jangka panjang. Jadi, dengan cara ini, enkapsulasi lebih tentang mengungkap kompleksitas dengan cara anti-gagal dan lebih sedikit tentang menyembunyikan kompleksitas sepenuhnya.

Warisan

Warisan adalah fitur kuat lain dari paradigma Pemrograman Berorientasi Objek. Peran pewarisan adalah untuk secara efisien dan cepat mengatur dan mengatur kelas ke dalam hierarki untuk memungkinkan kelas ini mewarisi perilaku dan atribut dari kelas yang berada di atas hierarki. Intinya, pewarisan dapat dipahami sebagai "hubungan", yang sangat mirip dengan bagaimana kita berbicara tentang hal-hal di dunia nyata.

Misalnya, kami mengatakan bahwa "burung beo adalah burung". Itu berarti burung beo adalah objek dari kelas burung, sehingga mewarisi beberapa atribut dan perilaku dari kelas yang lebih luas. Namun, itu tidak benar jika kita mengatakan bahwa bank adalah rekening bank. Begitulah cara hierarki dalam pewarisan bekerja, dan ini memungkinkan Anda menentukan perilaku dan implementasi yang nantinya dapat dikhususkan untuk kelas khusus. Perlu diingat bahwa warisan tidak bekerja mundur. Jadi, kelas induk tidak akan pernah mewarisi apa pun dari kelas anak. Namun, kelas anak mewarisi atribut dan perilaku dari kelas induk, bergantung pada sifat atribut dan perilaku tersebut (publik atau pribadi). Warisan adalah cara untuk menggunakan kembali program Anda dan dapat membantu Anda membuat seluruh kode sumber Anda lebih pendek dan lebih mudah dipahami. Tetapi Anda harus ingat bahwa Anda tidak boleh sembarangan menambahkan level demi level warisan jika tidak diperlukan.

Periksa AS - Program Ilmu Data kami

Program Sertifikat Profesional dalam Ilmu Data dan Analisis Bisnis Master of Science dalam Ilmu Data Master of Science dalam Ilmu Data Program Sertifikat Lanjutan dalam Ilmu Data
Program PG Eksekutif dalam Ilmu Data Bootcamp Pemrograman Python Program Sertifikat Profesional dalam Ilmu Data untuk Pengambilan Keputusan Bisnis Program Lanjutan dalam Ilmu Data

Polimorfisme

Polimorfisme adalah salah satu dari banyak konsep OOPS penting dalam Python dan Java, yang pada dasarnya menangani banyak kemungkinan implementasi yang berbeda dari setiap unit yang dapat dieksekusi dan semua perbedaan halus yang terjadi di latar belakang tanpa membuat pengguna mengetahui perubahan tersebut. Polimorfisme memudahkan program komputer diperluas dengan objek khusus tanpa kesulitan apa pun.

Misalnya, jika Anda ingin menulis teks di atas kertas – Anda bisa menggunakan pulpen, spidol, krayon, atau bahkan pensil. Yang Anda butuhkan adalah sesuatu yang pas di tangan Anda dan membantu Anda membuat simbol saat Anda menekannya ke kertas. Jadi, tindakan menulis akan membantu Anda membuat simbol di atas kertas, sedangkan alat apa yang Anda butuhkan tergantung pada pilihan Anda.

Dalam pengertian ini, pewarisan adalah cara program untuk mencapai polimorfisme, di mana implementasi kustom dari metode menimpa perilaku yang ditentukan dalam kelas yang diwariskan. Proses ini juga dikenal sebagai polimorfisme run-time atau penggantian metode. Ada bentuk lain dari polimorfisme, juga dikenal sebagai kelebihan metode. Dalam hal itu, warisan sama sekali tidak muncul. Dalam metode overloading, nama metode tetap sama, sedangkan argumen dalam metode berbeda berdasarkan tugas apa yang harus dilakukan.

Kesimpulannya

Dengan itu, kita sampai pada akhir diskusi kita tentang konsep OOPS di Java . Hal-hal yang dibahas sejauh ini mengatur semua fondasi yang Anda perlukan untuk memulai Pemrograman Berorientasi Objek tanpa mengkhawatirkan apa pun. Anda harus menerapkan diskusi dan mencoba berbagai hal secara langsung; lagipula, pemrograman adalah tentang berlatih dan tekun.

Pengetahuan tentang OOPS juga akan membantu Anda dalam perjalanan ilmu data, karena Anda akan menggunakan bahasa seperti Python, yang bergantung pada paradigma OOPS. Ilmu Data adalah bidang yang berkembang pesat, dan tidak ada kelangkaan peluang bagi orang-orang dengan keterampilan dan pengetahuan yang tepat. Lihat MS kami dalam Ilmu Data oleh upGrad, bekerja sama dengan University of Arizona, dan dapatkan kesempatan untuk belajar dari pakar industri bersama jaringan alumni yang kuat yang akan membantu Anda sepanjang karier Anda.

Apa empat konsep OOPS?

Empat konsep inti OOPS adalah Abstraksi, Enkapsulasi, Pewarisan, dan Polimorfisme.

Bagaimana kelas dan objek berbeda?

Kelas adalah cetak biru dari fenomena yang akan dimodelkan. Objek, di sisi lain, adalah contoh khusus dari kelas yang meminjam perilaku dan atribut dari kelas tempat mereka dibuat.

Bahasa apa yang digunakan OOPS?

OOPS adalah filosofi pemrograman yang bebas bahasa. Anda dapat mengerjakan OOPS menggunakan bahasa pemrograman modern seperti C++, Java, Python, Ruby, dll.