Kamis, 14 Maret 2013

introduction to the object-oriented aproach


INTRODUCTION TO THE OBJECT-ORIENTED APPROACH


Obyek dalam "pemrograman berorientasi objek" pada dasarnya struktur data bersama dengan rutinitas yang terkait pengolahan. Misalnya, file adalah obyek: koleksi data dan terkait membaca dan menulis rutin. Obyek dianggap contoh kelas. Dalam pidato umum satu mengacu ke sebuah file sebagai sebuah kelas, sementara file yang objek. Kelas A mendefinisikan sifat dan perilaku sekali, biasanya untuk instantiations beberapa. Pembedaan ini memiliki rekan-rekan di disiplin lain, misalnya di bidang biologi dan evolusi [1] dan dikenal sebagai genus / spesies dikotomi.
Dalam domain pemrograman berorientasi obyek obyek biasanya diartikan seperangkat atribut fana (elemen objek) dan perilaku (metode atau subrutin) encapsulating suatu entitas. Dengan cara ini, sementara primitif atau tipe data sederhana masih hanya satu potongan informasi, objek-objek yang berorientasi jenis kompleks yang memiliki beberapa bagian informasi dan sifat spesifik (atau atribut). Alih-alih hanya diberi nilai, (seperti int = 10), obyek harus "dibangun". Dalam dunia nyata, jika Ford Focus adalah "objek" - sebuah instance dari kelas mobil, sifat fisik dan fungsinya untuk mendorong akan ditentukan secara individual. Setelah sifat dari "objek" Ford Focus telah ditata ke dalam bentuk kelas mobil, dapat disalin tanpa henti untuk membuat objek yang terlihat identik dan bekerja hanya dalam cara yang sama. Sebagai contoh lain, hewan adalah superclass dari primata dan primata adalah superclass manusia. Individu seperti Joe Bloggs atau John Doe akan menjadi contoh tertentu atau 'benda' dari kelas manusia, dan karena itu memiliki semua karakteristik dari kelas manusia (dan dari superclasses primata dan hewan juga).
"Objek" adalah dasar dari pemrograman berorientasi objek, dan jenis foremostdata dalam berorientasi obyek bahasa pemrograman. Bahasa ini memberikan dukungan sintaksis dan semantik yang luas untuk penanganan objek, termasuk sistem tipe hirarkis, notasi khusus untuk mengumumkan dan memanggil metode, dan fasilitas untuk menyembunyikan kolom yang dipilih dari programmer klien. Namun, objek dan pemrograman berorientasi obyek dapat digunakan dalam bahasa apapun.
Obyek yang digunakan dalam pengembangan perangkat lunak untuk menggunakan struktur data abstrak, dengan membawa bersama-sama komponen data dengan prosedur yang memanipulasi mereka. Obyek dalam pemrograman berorientasi obyek adalah kunci dalam konsep warisan, sehingga meningkatkan kehandalan Program [atribusi diperlukan], membuat perawatan perangkat lunak [atribusi diperlukan] lebih mudah, pengelolaan perpustakaan, dan membagi pekerjaan dalam tim programmer. Berorientasi obyek bahasa pemrograman umumnya dibuat untuk menggunakan potensi keuntungan dari model objek. Objek juga dapat memungkinkan untuk menangani objek yang sangat unalike oleh potongan kode yang sama, asalkan mereka semua memiliki metode yang tepat
[Sunting] Sifat obyek

Tiga sifat ciri objek:
Identitas: milik sebuah benda yang membedakannya dari objek lain
Negara: menggambarkan data yang disimpan dalam objek
Perilaku: menggambarkan metode dalam antarmuka objek dimana objek dapat digunakan
[Sunting] Mekanisme

Konsep Hari ini "objek" dan pendekatan berorientasi objek untuk pemrograman diperkenalkan oleh bahasa pemrograman Simula awalnya dirilis pada tahun 1967, dipopulerkan oleh Smalltalk dirilis dua tahun kemudian pada tahun 1969, dan menjadi alat standar perdagangan dengan penyebaran C + + awalnya dirilis pada tahun 1983.
Dalam pendekatan "murni" berorientasi objek, bidang data dari objek hanya boleh diakses melalui metode nya (subrutin). Hal ini menyatakan bahwa aturan ini memudahkan [rujukan?] Untuk menjamin bahwa data yang akan selalu tetap dalam keadaan yang valid. Sintaksis, di hampir semua berorientasi obyek bahasa pemrograman, titik (.) Operator (ditempatkan di antara obyek dan nama metode simbolik) digunakan untuk memanggil metode tertentu / fungsi objek. Sebagai contoh, perhatikan kelas aritmatika bernama Arith_Class. Kelas ini berisi fungsi seperti add (), kurangi (), kalikan () dan membagi (), hasil proses yang selama dua angka yang diberikan kepada mereka. Kelas ini dapat digunakan untuk menemukan produk dari 78 dan 69 dengan terlebih dahulu menciptakan sebuah objek dari kelas dan kemudian menggunakan metode multiply nya, sebagai berikut:
 1 hasil int = 1; / / Inisialisasi
 2 arith_Obj1 = new Arith_Class (); / / Membuat objek baru Arith_Class
 3 hasil = arith_Obj1.multiply (78,69); / / kembali nilai fungsi multiply, simpan dalam variabel hasil.
Dalam bahasa mana setiap objek yang diciptakan dari kelas, obyek disebut sebuah instance dari kelas itu. Jika setiap objek memiliki tipe, dua benda dengan kelas yang sama akan memiliki tipe data yang sama. Membuat sebuah instance dari kelas yang kadang-kadang disebut sebagai instantiating kelas.
Sebuah contoh dunia nyata dari sebuah objek akan menjadi "anjing saya", yang merupakan turunan dari tipe (kelas) yang disebut "anjing", yang merupakan subclass dari "binatang" class. Dalam kasus objek polimorfik, beberapa rincian dari jenisnya dapat selektif diabaikan, misalnya "anjing" objek dapat digunakan oleh fungsi mencari "binatang". Jadi bisa "kucing", karena terlalu milik kelas "binatang". Sementara sedang diakses sebagai "binatang", atribut beberapa anggota dari "anjing" atau "kucing" akan tetap tersedia, seperti atribut "ekor", karena tidak semua hewan memiliki ekor.
[Sunting] benda Khusus

Ada benda khusus tertentu yang dapat diciptakan oleh jenis Pola Desain yang digunakan untuk menciptakan mereka dan biasanya benda-benda yang dinamai pola desain mereka sendiri. Beberapa istilah untuk jenis khusus dari objek termasuk
Fungsi obyek: obyek dengan metode tunggal (dalam C + +, metode ini akan menjadi operator fungsi, "operator ()") yang bertindak seperti fungsi (seperti C / C + + pointer ke fungsi).
Immutable objek: obyek diatur dengan keadaan tetap pada waktu penciptaan dan yang tidak berubah sesudahnya.
Pertama-kelas obyek: obyek yang dapat digunakan tanpa pembatasan.
Wadah: suatu objek yang dapat berisi objek lain.
Pabrik objek: objek yang tujuannya adalah untuk menciptakan benda lain.
Metaobject: obyek dari mana benda-benda lain yang dapat dibuat (Bandingkan dengan kelas, yang belum tentu obyek)
Prototipe: a metaobject khusus dari mana benda-benda lain yang dapat dibuat dengan menyalin
Tuhan objek: objek yang tahu terlalu banyak atau tidak terlalu banyak. Objek Allah adalah contoh dari pola anti-.
Singleton objek: Sebuah benda yang satu-satunya contoh dari kelasnya selama masa program.
Filter objek


Definisi dari suatu objek sebagai suatu entitas yang memiliki identitas yang berbeda, negara, dan perilaku, dan, itu diklaim, prinsip enkapsulasi, dapat dibawa ke ranah komputasi terdistribusi. Paradoksnya, enkapsulasi tidak mencakup perilaku obyek karena mereka (atau bahkan nama metode mereka) tidak serial bersama dengan data. Sejumlah ekstensi dengan konsep dasar dari sebuah objek telah diusulkan bahwa berbagi karakteristik umum:
Objek terdistribusi yang "biasa" benda (obyek dalam arti biasa - yaitu bukan obyek OOP) yang telah dibentuk di sejumlah lokasi terpencil yang berbeda, dan berkomunikasi dengan
Benda Protokol adalah komponen dari tumpukan protokol yang menyertakan komunikasi jaringan dalam antarmuka berorientasi objek.
Benda direplikasi adalah kelompok obyek terdistribusi (disebut replika) yang menjalankan protokol multi-partai didistribusikan untuk mencapai konsistensi yang tinggi antara negara-negara internal mereka, dan yang menanggapi permintaan dalam cara yang terkoordinasi. Mengacu pada kelompok replika bersama-sama sebagai sebuah objek mencerminkan fakta bahwa berinteraksi dengan salah satu dari mereka menghadapkan negara terlihat sama eksternal dan perilaku [meragukan - mendiskusikan]. Contohnya termasuk fault-tolerant obyek CORBA.
Hidup benda didistribusikan (atau benda hanya hidup) [2] menggeneralisasi konsep objek direplikasi ke kelompok replika yang internal mungkin menggunakan protokol didistribusikan, mungkin mengakibatkan hanya konsistensi yang lemah antara negara-negara lokal mereka.
Beberapa ekstensi, seperti benda-benda dan objek terdistribusi protokol, adalah domain-istilah khusus untuk jenis khusus dari "biasa" benda-benda yang digunakan dalam konteks tertentu (seperti remote doa atau komposisi protokol). Lainnya, seperti benda direplikasi dan hidup objek terdistribusi, lebih non-standar, dalam arti bahwa mereka meninggalkan kasus biasa bahwa sebuah objek berada dalam satu lokasi pada satu waktu, dan menerapkan konsep untuk kelompok entitas (replika) yang mungkin menjangkau di beberapa lokasi, mungkin memiliki negara hanya lemah konsisten, dan yang keanggotaannya dinamis bisa berubah.
KARAKTERISTIK PENDEKATAN OBJEK-BERORIENTASI
dan objek memiliki astate, behaviorm dan identitas, Sebuah objek dapat digunakan kembali Oleh karena itu, dan objek ada sebagai entitas yang berdiri sendiri yang dapat digunakan dalam konteks yang relevan Sebagai contoh, jika Anda memiliki kursi, Anda dapat menggunakan yang sama kursi di kantor, di ruang kelas, atau dalam suatu gardemn

Dan objek yang ada dapat digunakan untuk membuat objek smiliar, Misalnya Anda memiliki kursi kayu sederhana dan Anda perlu menambahkan headrest untuk itu, Anda tidak perlu membuat beacuse kursi baru Anda dapat dengan mudah menambahkan headrest ke kursi yang ada, Hal ini dikenal sebagai resilence untuk berubah.

Realistis Modeling:

Karena Anda hidup di dunia benda, secara logis berikut bahwa model pendekatan berorientasi obyek dunia nyata lebih akurat. Pendekatan berorientasi objek memungkinkan Anda untuk mengidentifikasi entitas sebagai objek yang memiliki atribut dan perilaku, Atribut dan perilaku biasanya menggambarkan bagaimana bertindak objek dan bereaksi, Sebagai contoh, mobil adalah obyek milik kelas Kendaraan, Mobil memiliki atribut seperti kecepatan , warna, dan kekuasaan, ini menampilkan behavor seperti menjadi stasioner, mving perlahan, atau mempercepat.

Reusability:

. Dalam industri perangkat lunak, menggunakan kelas yang ada atau forom benda tother applicaitons menghemat sumber daya yang dihabiskan timah menciptakan kelas-kelas dari awal, Perhatikan analogi berikut:

Carcare adalah mobil terkemuka manufaktur compnay, Carcare memproduksi dua-seater mobil yang sangat popluar antara konsumen berusia antara 20 dan 24. Perusahaan telah memutuskan untuk memasuki pasar pasar segmen keluarga dan telah memutuskan untuk memproduksi model empat-seater.

Carcare dapat merancang mobil baru untuk segmen keluarga atau mengkonversi model dua tempat duduk dengan model empat-seater Biaya yang terlibat dalam merancang model baru sangat tinggi dibandingkan tot dia biaya yang terlibat dalam mengkonversi model dua-seater dengan empat-seater model.

Introducing c#


 C #, seperti yang disebutkan sebelumnya, merupakan salah satu bahasa dapat Anda gunakan untuk membuat aplikasi yang akan dijalankan dalam. NET CLR. Ini merupakan evolusi dari C dan C + + bahasa dan telah dibuat oleh Microsoft khusus untuk bekerja dengan platform. NET. Karena merupakan perkembangan terbaru, C # bahasa telah dirancang dengan melihat ke belakang, dengan mempertimbangkan banyak fitur terbaik dari bahasa lain, sementara membersihkan masalah mereka.

Mengembangkan aplikasi menggunakan C # lebih mudah daripada menggunakan C + +, karena sintaks bahasa sederhana. Namun, C # adalah bahasa yang kuat, dan ada sedikit Anda mungkin ingin dilakukan di C + + yang tidak bisa dilakukan di C #. Karena itu, fitur-fitur dari C # yang paralel fitur yang lebih canggih dari C + +, seperti langsung mengakses dan memanipulasi memori sistem, hanya dapat dilakukan dengan menggunakan kode ditandai sebagai tidak aman. Teknik program canggih yang berpotensi berbahaya (sesuai namanya), karena mungkin menimpa sistem-kritis blok memori dengan hasil yang berpotensi bencana. Untuk alasan ini, dan lain-lain, buku ini tidak mencakup topik itu.

Kadang-kadang, C # kode sedikit lebih verbose daripada C + +. Ini adalah konsekuensi dari C # menjadi bahasa jenis-aman (tidak seperti C + +). Dalam istilah awam, ini berarti bahwa setelah beberapa data telah ditugaskan untuk tipe, tidak bisa kemudian mengubah dirinya menjadi jenis lain yang tidak terkait. Akibatnya, aturan ketat harus ditaati ketika mengkonversi antara jenis, yang berarti Anda akan sering perlu menulis kode lebih untuk melaksanakan tugas yang sama di C # daripada yang mungkin Anda menulis di C + +, tetapi Anda mendapatkan dua manfaat: kode ini lebih kuat dan debugging sederhana, dan. NET selalu dapat melacak jenis sepotong data setiap saat. Dalam C #, karena itu Anda mungkin tidak dapat melakukan hal-hal seperti "mengambil daerah memori 4 byte ke dalam data dan 10 byte panjang dan menafsirkannya sebagai X," tapi itu tidak selalu hal yang buruk.

C # hanyalah salah satu bahasa yang tersedia untuk pengembangan NET., Tapi pasti yang terbaik. Ini memiliki keuntungan menjadi satu-satunya bahasa yang dirancang dari bawah ke atas untuk Kerangka. NET dan mungkin menjadi bahasa utama yang digunakan dalam versi NET yang porting ke sistem operasi lain.. Untuk menjaga bahasa seperti versi NET Visual Basic semirip mungkin dengan pendahulu mereka belum sesuai dengan CLR., Fitur tertentu dari kode perpustakaan. NET tidak sepenuhnya didukung. Sebaliknya, C # dapat menggunakan setiap fitur yang Framework perpustakaan. Kode NET ditawarkan. Versi terbaru dari. NET termasuk beberapa perbaikan dengan bahasa C #, sebagian sebagai tanggapan atas permintaan dari pengembang, membuatnya bahkan lebih kuat.
Aplikasi Anda Bisa Menulis dengan C #

Framework. NET tidak memiliki batasan pada jenis aplikasi yang mungkin, seperti yang dibahas sebelumnya. C # menggunakan kerangka dan karenanya tidak memiliki pembatasan pada aplikasi mungkin. Namun, berikut adalah beberapa jenis aplikasi yang lebih umum:

Aplikasi Windows: Ini adalah aplikasi, seperti Microsoft Office, yang memiliki Windows akrab terlihat dan merasa tentang mereka. Hal ini dibuat sederhana dengan menggunakan modul Windows Forms of Framework,. Yang merupakan perpustakaan kontrol (seperti tombol, toolbar, menu, dan sebagainya) yang dapat Anda gunakan untuk membangun antarmuka pengguna Windows (UI).

Aplikasi web: Ini adalah halaman Web seperti dapat dilihat melalui web browser. Framework. NET mencakup sistem yang kuat untuk menghasilkan konten Web dinamis, memungkinkan personalisasi, keamanan, dan banyak lagi. Sistem ini disebut ASP.NET (Active Server Pages. NET), dan Anda dapat menggunakan C # untuk membuat aplikasi ASP.NET menggunakan Formulir Web.

Layanan web: Ini adalah cara baru dan menarik untuk membuat aplikasi terdistribusi serbaguna. Menggunakan layanan Web Anda dapat bertukar hampir semua data melalui Internet, dengan menggunakan sintaks sederhana yang sama terlepas dari bahasa yang digunakan untuk membuat layanan Web atau sistem yang berada pada.

Salah satu jenis ini juga mungkin memerlukan beberapa bentuk akses database, yang dapat dicapai dengan menggunakan ADO.NET (Objects Data Aktif. NET) bagian dari Framework. NET atau melalui LINQ baru (Language Integrated Query) kemampuan C #. Sumber daya lainnya dapat ditarik pada, seperti alat untuk membuat komponen jaringan, grafis keluaran, melakukan tugas-tugas matematika yang kompleks, dan sebagainya.
C # dalam Buku ini

Bagian pertama dari buku ini berkaitan dengan sintaks dan penggunaan bahasa C # tanpa terlalu banyak penekanan pada Framework. NET. Hal ini diperlukan karena Anda tidak akan dapat menggunakan Framework. NET sama sekali tanpa landasan yang kuat dalam pemrograman C #. Kami akan memulai lebih sederhana, pada kenyataannya, dan meninggalkan topik lebih terlibat dari pemrograman berorientasi obyek (OOP) sampai Anda telah membahas dasar-dasar. Ini diajarkan dari prinsip pertama, dengan asumsi tidak ada pengetahuan pemrograman sama sekali.

Setelah Anda melakukan itu, Anda akan siap untuk melanjutkan untuk mengembangkan jenis aplikasi yang terdaftar di bagian terakhir. Bagian 2 dari buku ini terlihat pada pemrograman Windows Forms, Bagian 3 menangani aplikasi Web dan layanan Web programming, Bagian 4 membahas akses data (untuk data database, sistem file, dan XML), dan Bagian 5 mencakup beberapa topik lainnya. NET bunga, seperti lebih lanjut tentang majelis dan pemrograman grafis.




Tidak ada komentar:

Posting Komentar