Keuntungan dan kerugian pemrograman berorientasi objek

Ide dasar POO

Dalam OOP, program komputer memiliki interaksi "objek". Objek memiliki "variabel instan" dan "metode." Variabel Instance merekam nilai yang terkait dengan objek. Metode adalah fungsi yang melibatkan beberapa aspek dari objek. Dalam program gim, mungkin ada objek yang disebut "pesawat ruang angkasa, " yang memiliki variabel instan seperti jumlah bahan bakar. Salah satu metode bisa menjadi "torpedo api". Pesawat ruang angkasa bisa menjadi bagian dari "kelas" objek yang disebut "objek bergerak." Asteroid juga termasuk dalam kelas ini. Eksekusi program terdiri dari objek-objek yang saling mengirim "pesan".

Keuntungan POO

Keuntungan pertama dari konsep objek adalah bahwa semua kode yang ada hubungannya dengan pesawat ruang angkasa ada di satu tempat. Keuntungan lain adalah bahwa objek mungkin memiliki atribut bawaan dari kelas tempat mereka berada, misalnya, pesawat ruang angkasa dan asteroid keduanya dapat memiliki posisi XY karena semua objek yang termasuk dalam kelas objek bergerak memiliki posisi XY. Menulis kode lebih mudah karena dapat dikonseptualisasikan sebagai sesuatu yang terjadi pada suatu objek. Keuntungan lain adalah POO membuat program besar lebih mudah dikelola. Jika semua jendela milik hierarki kelas jendela dan semua kode yang merujuk ke jendela tertentu ada di dalam jendela itu, semua manipulasi jendela dapat ditulis sebagai transfer pesan sederhana.

Kerugian dari OOP

Tidak semua program dapat dimodelkan secara akurat oleh model objek. Jika yang Anda inginkan adalah membaca beberapa data, membuatnya menjadi sesuatu yang sederhana dan menulis lagi, Anda tidak perlu mendefinisikan kelas dan objek. Namun, dalam beberapa bahasa OOP, Anda mungkin harus melakukan langkah ekstra ini. Kerugian lain adalah bahwa jika bahasa dipaksa ke dalam konsep pemrograman berorientasi objek, beberapa karakteristik bahasa yang berguna, seperti "bahasa fungsional, " hilang. Kerugian lain adalah bahwa konsep yang dimiliki seorang programmer tentang apa yang merupakan objek abstrak mungkin tidak sesuai dengan visi programmer lain. Objek sering membutuhkan dokumentasi yang luas.

Masa depan POO

Masa depan pemrograman berorientasi objek cenderung menemukan bahasa seperti Ruby dan Lua, di mana konsep objek dibangun dalam bahasa dan tidak selalu dikontrol secara eksplisit oleh programmer. Ruby, misalnya, memperlakukan segala sesuatu sebagai objek, termasuk string, angka, program Anda, dan isi direktori tempat Anda berada saat ini. Anda hampir tidak pernah harus mendeklarasikan sesuatu sebagai objek. Anda bebas menggunakan bahasa yang Anda inginkan: sebagai pemrograman berorientasi objek, sebagai bahasa fungsional, sebagai bahasa prosedural atau bahkan dengan cara yang menggabungkan modalitas.

Artikel Menarik