Apa pemrograman berorientasi objek
Contoh sederhananya kita menggunakan class orang. Disini clasa orang adalah objek. Kami menjelaskan apa itu dan apa yang bisa dilakukan orang , secara umum. Orang biasanya memiliki nama dan umur; ini adalah atribut instan. Orang juga bisa melakukan akticitas; ini adalah sebuah metode.
Ketika Anda berbicara tentang orang tertentu, Anda akan memiliki objek dalam pemrograman: objek adalah instantiasi kelas. Ini adalah prinsip dasar yang menjadi dasar pemrograman berorientasi objek. Jadi nama orang Ozzy, misalnya, termasuk dalam kelas orang. Atributnya adalah nama = 'Ozzy'dan umur = '25'. Orang yang berbeda akan memiliki atribut yang berbeda.
Gaya pemrograman ini banyak digunakan dalam bahasa pemrograman yang umum digunakan seperti Java, C++ ,Python ,Ruby ,dst. Bahasa-bahasa ini membantu menyederhanakan struktur dan organisasi program perangkat lunak. Pemrogram sering menggunakan OOP ketika mereka perlu membuat program yang kompleks.
Pemrograman berorientasi objek memiliki empat konsep dasar: enkapsulasi, abstraksi, pewarisan, dan polimorfisme. Sekalipun konsep-konsep ini tampak sangat kompleks, memahami kerangka kerja umum tentang cara kerjanya akan membantu Anda memahami dasar-dasar program komputer.
Berikut adalah empat teori dasar dan apa yang mereka butuhkan:
- Encapsulation
- Abstraction
- Inheritance
- Polymorphism
1. Enscapulation
Konsep ini berguna ketika seorang programmer ingin menghentikan objek yang berbeda berinteraksi satu sama lain, mereka perlu dienkapsulasi dalam kelas individu. Melalui proses enkapsulasi, kelas tidak dapat berubah atau berinteraksi dengan variabel dan fungsi tertentu dari suatu objek. Pemrogram dapat mereplikasi objek ini di seluruh bagian program yang berbeda atau program lain.
2. Abstraction
Secara keseluruhan, abstraksi membantu mengisolasi dampak perubahan yang dibuat pada kode sehingga jika terjadi kesalahan, perubahan hanya akan memengaruhi variabel yang ditampilkan dan bukan kode luar.
3. Inheritance
Objek utama adalah superclass dan semua objek yang mengikutinya adalah subclass. Subclass dapat memiliki elemen terpisah sambil menambahkan apa yang mereka butuhkan dari superclass.
4.Polymorphism
Keuntungan OOP
Salah satu manfaat besar OOP adalah skalabilitas, dengan objek dan definisi tidak memiliki batasan yang terbatas. Juga, pemisahan data dari metode mencegah masalah umum yang ditemukan dalam bahasa perangkat lunak linier yang lebih lama.
Jika bug muncul dalam kode linier, itu dapat diterjemahkan melalui sistem dan membuat banyak kesalahan yang sulit dilacak. Sebaliknya, program OOP, dengan pemisahan metode dan datanya, tidak rentan terhadap kesalahan yang berkembang biak seperti itu.
selain itu pengembangan lebih cepat dan lebih efisien, dengan pemeliharaan perangkat lunak yang lebih baik. Ini, pada gilirannya, mengarah ke perangkat lunak berkualitas lebih tinggi, yang juga dapat dikembangkan dengan metode dan atribut baru.
Bahasa populer yang menggunkan konsep OOP termasuk Java, keluarga bahasa C, VB.NET dan Python.Yang disebut bahasa OOP "murni" termasuk Scala, Ruby, Eiffel, JADE, Smalltalk, dan Emerald.
Contoh sederhana konsep OOP pada Python
Pemrograman fungsional paling populer di kalangan ilmuwan data karena memiliki keunggulan kinerja. OOP berguna ketika Anda bekerja dengan basis kode yang besar dan pemeliharaan kode sangat penting.
Konsep OOP dalam Python berfokus pada pembuatan kode yang dapat digunakan kembali. Konsep ini juga dikenal sebagai DRY (Don't Repeat Yourself).
Dalam Python, konsep OOP mengikuti beberapa prinsip dasar:
- Kelas Kelas adalah cetak biru atau prototipe dari objek dimana kita mendefinisikan atribut dari suatu objek. Atribut ini terdiri dari data member (variabel) dan fungsi (metode).
- Variabel kelas Variabel kelas adalah variabel yang dishare atau dibagi oleh semua instance (turunan) dari kelas. Variabel kelas didefinisikan di dalam kelas, tapi di luar metode-metode yang ada dalam kelas tersebut.
- Data member Data member adalah variabel yang menyimpan data yang berhubungan dengan kelas dan objeknya.
- Overloading fungsi Overloading fungsi adalah fungsi yang memiliki nama yang sama di dalam kelas, tapi dengan jumlah dan tipe argumen yang berbeda sehingga dapat melakukan beberapa hal yang berbeda.
- Overloading operator Overloading operator adalah pembuatan beberapa fungsi atau kegunaan untuk suatu operator. Misalnya operator + dibuat tidak hanya untuk penjumlahan, tapi juga untuk fungsi lain.
- Variabel instasiasi Variabel instansiasi adalah variabel yang didefinisikan di dalam suatu metode dan hanya menjadi milik dari instance kelas.
- Pewarisan atau inheritance Inheritansi adalah pewarisan karakteristik sebuah kelas ke kelas lain yang menjadi turunannya.
- Instance Instance adalah istilah lain dari objek suatu kelas. Sebuah objek yang dibuat dari prototipe kelas Lingkaran misalnya disebut sebagai instance dari kelas tersebut.
- Instansiasi Instansiasi adalah pembuatan instance/objek dari suatu kelas
- Metode Metode adalah fungsi yang didefinisikan di dalam suatu kelas
- Objek Objek adalah instansiasi atau perwujudan dari sebuah kelas. Bila kelas adalah prototipenya, dan objek adalah barang jadinya.
Tags:
Program