SAP ABAP - Orientasi Objek
Orientasi objek menyederhanakan desain perangkat lunak agar lebih mudah dipahami, dipelihara, dan digunakan kembali. Object Oriented Programming(OOP) mewakili cara berpikir yang berbeda dalam menulis perangkat lunak. Keindahan OOP terletak pada kesederhanaannya. Ekspresi OOP mempermudah pengiriman komponen perangkat lunak berkualitas tepat waktu.
Karena solusi dirancang dalam hal objek dunia nyata, pemrogram dan analis bisnis menjadi lebih mudah untuk bertukar ide dan informasi tentang desain yang menggunakan bahasa domain umum. Perbaikan dalam komunikasi ini membantu mengungkap persyaratan tersembunyi, mengidentifikasi risiko, dan meningkatkan kualitas perangkat lunak yang dikembangkan. Pendekatan berorientasi objek berfokus pada objek yang mewakili hal-hal abstrak atau konkret dari dunia nyata. Objek-objek ini ditentukan oleh karakter dan propertinya yang diwakili oleh struktur internal dan atributnya (data). Perilaku objek ini dijelaskan dengan metode (yaitu fungsionalitas).
Mari bandingkan pemrograman prosedural dan berorientasi objek -
fitur | Pendekatan Berorientasi Prosedur | Pendekatan Berorientasi Objek |
---|---|---|
Tekanan | Penekanan pada tugas. | Penekanannya pada hal-hal yang melakukan tugas tersebut. |
Modularisasi | Program dapat dibagi menjadi program yang lebih kecil yang disebut fungsi. | Program diatur ke dalam kelas dan objek dan fungsionalitasnya dimasukkan ke dalam metode kelas. |
Keamanan data | Sebagian besar fungsi berbagi data global. | Data dapat disembunyikan dan tidak dapat diakses oleh sumber eksternal. |
Kemungkinan diperpanjang | Ini lebih memakan waktu untuk mengubah dan memperluas fungsionalitas yang ada. | Data dan fungsi baru dapat ditambahkan dengan mudah jika diperlukan. |
ABAP awalnya dikembangkan sebagai bahasa prosedural (mirip dengan bahasa pemrograman prosedural sebelumnya seperti COBOL). Tetapi ABAP kini telah mengadaptasi prinsip paradigma berorientasi objek dengan pengenalan Objek ABAP. Konsep berorientasi objek dalam ABAP seperti class, object, inheritance, dan polymorphism, pada dasarnya sama dengan bahasa berorientasi objek modern lainnya seperti Java atau C ++.
Saat orientasi objek mulai terbentuk, setiap kelas mengasumsikan penetapan peran tertentu. Pembagian kerja ini membantu menyederhanakan model pemrograman secara keseluruhan, memungkinkan setiap kelas berspesialisasi dalam memecahkan bagian tertentu dari masalah yang dihadapi. Kelas semacam itu memiliki kohesi tinggi dan operasi setiap kelas terkait erat dalam beberapa cara intuitif.
Fitur utama dari orientasi objek adalah -
- Struktur pemrograman yang efektif.
- Entitas dunia nyata dapat dimodelkan dengan sangat baik.
- Tekanan pada keamanan dan akses data.
- Meminimalkan redundansi kode.
- Abstraksi dan enkapsulasi data.