Kamis, 28 Juli 2011

apa itu OOP ???

Sederhana, non-OOP program mungkin salah satu "panjang" daftar pernyataan (atau perintah). Program yang lebih kompleks akan sering sekelompok bagian yang lebih kecil dari laporan ke fungsi atau subrutin masing-masing yang mungkin melakukan tugas tertentu. Dengan desain semacam ini, adalah umum untuk beberapa data program untuk dapat diakses dari setiap bagian dari program (kadang-kadang dikelompokkan ke dalam apa yang sering dikenal sebagai "Comarea"). Sebagai program tumbuh dalam ukuran, memungkinkan setiap fungsi untuk memodifikasi setiap bagian dari data yang berarti bahwa bug dapat memiliki lebar mencapai efek.
Sebaliknya, pendekatan berorientasi obyek mendorong programmer untuk menempatkan data di mana tidak langsung dapat diakses oleh seluruh program. Sebaliknya, data yang diakses dengan memanggil fungsi khusus ditulis, metode yang umum disebut, baik yang terbungkus dengan data atau diturunkan dari "objek kelas." Fungsi ini bertindak sebagai perantara untuk mengambil atau memodifikasi data yang mereka kontrol. Membangun pemrograman yang menggabungkan data dengan seperangkat metode untuk mengakses dan mengelola data tersebut disebut obyek. Praktek menggunakan subrutin untuk memeriksa atau memodifikasi jenis tertentu dari data, bagaimanapun, juga cukup sering digunakan dalam non-OOP pemrograman modular, baik sebelum meluasnya penggunaan pemrograman berorientasi obyek)
Sebuah program berorientasi objek biasanya akan mengandung berbagai jenis objek, masing-masing tipe untuk jenis tertentu data yang kompleks untuk dikelola atau mungkin ke objek dunia nyata atau konsep seperti rekening bank, pemain hoki, atau buldoser. Suatu program mungkin berisi beberapa salinan dari setiap jenis objek, satu untuk masing-masing objek dunia nyata program ini berurusan dengan. Misalnya, ada bisa menjadi salah satu rekening bank untuk setiap account objek dunia nyata di sebuah bank tertentu. Setiap salinan dari objek rekening bank akan sama dalam metode menawarkan untuk memanipulasi atau membaca data, tetapi data di dalam setiap objek akan berbeda mencerminkan sejarah yang berbeda dari setiap account.
Objek dapat dianggap sebagai data yang membungkus mereka dalam satu set fungsi yang dirancang untuk memastikan bahwa data yang digunakan tepat, dan untuk membantu dalam menggunakannya. Metode objek biasanya akan mencakup pemeriksaan dan perlindungan yang spesifik untuk tipe data objek berisi. Sebuah objek juga dapat menawarkan sederhana digunakan, metode standar untuk melakukan operasi tertentu pada data, sementara menyembunyikan spesifik tentang bagaimana tugas-tugas yang dicapai. Dengan cara ini perubahan dapat dibuat dengan struktur internal atau metode obyek tanpa memerlukan bahwa sisa dari program akan diubah. Pendekatan ini juga dapat digunakan untuk menawarkan metode standar di berbagai jenis objek. Sebagai contoh, beberapa jenis objek mungkin menawarkan metode cetak. Setiap jenis objek mungkin menerapkan bahwa metode cetak dengan cara yang berbeda, yang mencerminkan jenis data yang berbeda masing-masing berisi, tetapi semua metode cetak yang berbeda bisa disebut dengan cara standar yang sama dari tempat lain dalam program. Fitur-fitur ini menjadi sangat berguna ketika lebih dari satu programmer berkontribusi kode untuk proyek atau ketika tujuannya adalah untuk menggunakan kembali kode antara proyek.
Pemrograman berorientasi obyek memiliki akar yang dapat ditelusuri ke tahun 1960-an. Seperti hardware dan software menjadi semakin kompleks, pengelolaan sering menjadi perhatian. Para peneliti mempelajari cara untuk menjaga kualitas perangkat lunak dan dikembangkan pemrograman berorientasi objek dalam bagian untuk mengatasi masalah umum dengan sangat menekankan diskrit, unit reusable logika pemrograman [rujukan?]. Teknologi ini berfokus pada data daripada proses, dengan program yang terdiri dari modul mandiri ("kelas"), masing-masing instance dari yang ("objek") berisi semua informasi yang dibutuhkan untuk memanipulasi struktur data sendiri ("anggota"). Hal ini berbeda dengan pemrograman modular yang ada yang telah dominan selama bertahun-tahun yang berfokus pada fungsi dari modul, bukan khusus data, tetapi juga disediakan untuk penggunaan kembali kode, dan mandiri unit reusable logika pemrograman, memungkinkan kolaborasi melalui penggunaan modul terkait (subrutin). Pendekatan yang lebih konvensional, yang masih tetap, cenderung untuk mempertimbangkan data dan perilaku secara terpisah.
Sebuah program berorientasi obyek dengan demikian dapat dipandang sebagai koleksi benda-benda berinteraksi, yang bertentangan dengan model konvensional, di mana program dipandang sebagai daftar tugas (subrutin) untuk melakukan. Dalam OOP, setiap objek dapat menerima pesan, pengolahan data, dan mengirim pesan ke objek lainnya. Setiap objek dapat dilihat sebagai "mesin" independen dengan peran yang berbeda atau tanggung jawab. Tindakan (atau "metode") pada benda-benda yang terkait erat dengan objek. Sebagai contoh, data OOP struktur cenderung untuk "membawa operator sekitar mereka sendiri dengan mereka" (atau setidaknya "mewarisi" mereka dari obyek atau kelas yang sama) - kecuali ketika mereka harus serial.

Tidak ada komentar:

Posting Komentar