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.