Komputer, Programming
OOP apa? Prinsip dasar pemrograman berorientasi obyek
Apa program pemrograman obyek luwih disenengi ing pirang-pirang proyek? OOP nawakake cara efektif kanggo nangani kerumitan. Tinimbang considering program kasebut minangka urutan instruksi eksekusi, makili kasebut minangka klompok obyek kanthi sifat-sifat tartamtu lan nglakoni tindakan tartamtu. Iki nyebabake nggawe aplikasi sing luwih cetha, luwih dipercaya lan gampang diuripake.
Prinsip dasar pemrograman berorientasi objek (OOP) dibentuk amarga watesan ditemokake ing pendekatan sadurungé. Antarane wong-wong - akses tanpa wates menyang data lan nomer akeh pranala sing nemtokke watesan ing introduksi owahan. Kesadaran lan alasan sing penting kanggo mangerteni apa OOP ing program lan apa manfaate.
Basa prosedural
C, Pascal, FORTRAN lan basa padha prosedural. Mulane, saben operator ngutus komputer supaya nindakake apa wae: entuk data, nambah angka, dibagi kanthi enem, nuduhake asil kasebut. Aplikasi basa prosedural iku dhaptar pandhuan. Yen cilik, ora ana prinsip organisasi liyane (asring disebut paradigma). Programer nggawe dhaptar pandhuan, lan komputer nglakokake.
Pemisahan dadi fungsi
Nalika aplikasi dadi luwih gedhe, dhaptar bakal dadi rumit. Sawetara bisa ngerti luwih saka sawetara atus instruksi nganti padha diklumpukake bebarengan. Mulane, fungsi iki dadi cara kanggo nggawe aplikasi luwih gampang dingerteni kanggo para pencipta. Ing sawetara basa, konsep sing padha bisa kasebut subprogram utawa prosedur.
Aplikasi kasebut dipérang dadi fungsi, sing saben duwe tujuan lan antarmuka kanthi jelas.
Ide pamisah dadi tata cara bisa ditambah kanthi nyelompokake dadi obyek sing luwih gedhe sing disebut modul, nanging prinsip iku padha: komponen klompok sing ngetokake daftar dhaptar.
Pemisahan dadi fungsi lan modul minangka salah siji saka pocapan struktural, sing sajroning pirang-pirang dasawarsa sadurunge muncule OOP minangka paradigma sing prasaja.
Masalah pemrograman struktural
Nalika aplikasi luwih gedhé, program struktural wiwit nandhang masalah. Proyek dadi banget rumit. Gambar digeser. Sakliyané programer sing dilakoni. Kompleksitas tansaya tambah. Biaya mudhun, grafik luwih cepet, lan ambruk.
Analisis saka panyebab kegagalan kasebut nuduhaké kekurangan saka paradigma prosedural. Boten punapa kemawon ingkang dipunginakaken kanggé program pemrograman, aplikasi ingkang ageng sanget dados komplèks.
Apa panyebab masalah kasebut sing ana gegayutan karo basa prosedural? Pisanan, fungsi duwe akses tanpa wates menyang data global. Kapindho, tata cara lan makna sing ora ana hubungane ora model donya nyata.
Yen kita nimbang masalah kasebut ing konteks program nyedhiyakake, banjur salah siji unsur data global paling penting yaiku agregat unit akuntansi. Fungsi sing beda bisa ngakses kasebut kanggo nglebokake nilai sing anyar, nampilake, ngganti, lan liya-liyane.
Akses ora sah
Ing program sing ditulis, contone, ing C, ana rong jinis data. Lokal sing didhelikake ing njero fungsi lan tata cara liyane ora digunakake.
Nalika loro utawa luwih fungsi kudu ngakses data sing padha, banjur sing terakhir kudu global. Iki, umpamane, minangka informasi babagan item sing bakal dianggep. Data global bisa diakses dening prosedur apa wae.
Ing program gedhe ana akeh fungsi lan akeh unsur global. Masalah karo paradigma prosedural yaiku sing ndadékaké manawa ana hubungan potensial sing luwih akeh.
Kaya akeh senyawa sing nyebabake saperangan kesulitan. Kaping pisanan, iki mbebayani pemahaman struktur program kasebut. Kapindho, iku angel kanggo nggawe owahan. Owah-owahan ing item data global mbutuhake kabeh fungsi sing nduweni akses disetel.
Contone, ing program akuntansi, wong nemtokake manawa kode item sing dianggep kudu kalebu ora luwih saka 5 digit, lan metu saka 12. Iki bakal mbutuhake ngowahi jinis data saka sasi suwene. Saiki fungsi sing ana gandhèngané kode kudu diowahi digarap nganggo format anyar.
Nalika unsur owah-owahan ing aplikasi gedhe, angel ngomong prosedur apa wae sing nduweni akses. Nanging sanajan dijelasake, owah-owahan kasebut bisa nyebabake karya sing ora bener karo data global liyane. Kabeh ana hubungane karo kabeh liyane, supaya owahan ing sak panggonan bakal ana liyane.
Modeling nyata
Masalah kapindho lan luwih penting saka paradigma prosedural yaiku lokasi lokasi lan fungsi individu sing ora model ing donya nyata. Ing kene kita bakal nemokake obyek kaya wong lan mobil. Padha ora katon kaya data utawa fungsi. Objek nyata komplek duwe atribut lan prilaku.
Atribut
Conto atribut (kadhangkala disebut ciri) kanggo wong sing werna mripat lan judhul proyek, kanggo mobil - daya lan jumlah lawang. Minangka ternyata, atribut ing donya nyata setara karo data ing program kasebut. Padha duwe makna tartamtu, kayata biru (werna mripat) utawa papat (nomer lawang).
Prilaku
Behavior minangka obyek-obyek nyata ing donya kanggo nanggepi sawetara jinis impact. Yen sampeyan njaluk panguwasa ngunggahake gaji, jawabane ya "ya" utawa "ora." Yen sampeyan ngetik rem, mobil mandheg. Pengucapan dan penghentian yaiku conto prilaku. Atine kaya tatacara: diarani nindakake apa wae, lan ora. Mangkono, data lan fungsi mung ora nggambar obyek-obyek sing nyata ing donya kanthi efisien.
Ngatasi masalah
Objek ing OOP diwakili minangka kumpulan data lan fungsi. Mung prosedur sing disebut fungsi anggota ing C ++ ngijini sampeyan kanggo entuk sawijining angka. Data diselehake lan dilindhungi saka owah-owahan. Nilai lan fungsi sing kasedhiya ing sawijining unit. Enkapsulation lan ndhelikake minangka istilah utama ing gambaran OO-languages.
Yen sampeyan pengin ngganti data, sampeyan ngerti persis fungsi sing bisa diinteraksi karo wong liya. Ora ana tata cara liyane sing bisa ngakses. Iki nyediakake tulisan, debugging lan njaga program kasebut.
Aplikasi, minangka aturan, kasusun saka sawetara obyèk sing bisa saling interaksi, migunakaké fungsi anggota.
Dina iki, basa sing paling akeh digunakake ing OOP (program orientasi obyek) yaiku C ++ (plus-plus). Jawa ora duwe fungsi, kayata pointers, templates, lan macem-macem warisan, sing nggawe kurang kuat lan versatile saka C ++. C # durung tekan popularitas C + +.
Perlu dicathet yen fungsi anggota sing disebut ing C + + diarani metode ing sawetara basa OO liyane, kayata Smalltalk. Unsur data disebut atribut. Nelpon cara obyek kasebut ngirim pesen kasebut.
Analogi
Sampeyan bisa ngirim obyek menyang departemen perusahaan. Ing sapérangan organisasi, karyawan ora bisa kerja dina-dina karo kader, ing wektu sabanjure padha nglengkapi upah, banjur nglampahi minggu kanthi bisnis ritel. Saben departemen duweni tanggung jawab dhewe. Ana uga data dhewe: gaji, angka sales, cathetan karyawan, lan liya-liyané. Wong-wong ing departemen bisa nganggo informasi kasebut. Pamisahan perusahaan, saéngga, ndadekake kendharaan ngontrol aktivitas lan njaga integritas data kasebut. Akuntansi tanggung jawab kanggo upah. Yen sampeyan kudu ngerti jumlah total upah sing dibayar ing cabang kidul ing Juli, sampeyan ora perlu ngumukake ing arsip. Sampeyan cukup kanggo ngirim cathetan marang wong sing tanggung jawab, ngenteni wong kasebut kanggo entuk akses menyang data lan ngirim respon karo informasi sing dibutuhake. Iki bakal netepi aturan lan ora ana gangguan. Kanthi cara ingkang sami, obyek ing OOP nyedhiyakake organisasi aplikasi kasebut.
Sampeyan kudu eling yen orientasi menyang obyek ora njalari rincian program. Paling statements C ++ cocog karo operator basa prosedural kayata C. Pancen, fungsi anggota ing C ++ meh padha karo fungsi ing C. Mung konteks sing luwih jembar bakal ngidini kanggo netepake apa instruction kasebut prosedural utawa orientasi obyek.
Obyek ing OOP: definisi
Nalika nimbang masalah pemrograman ing basa OO, tinimbang pitakonan babagan pamisahan kasebut dadi fungsi sing misah, masalah pemisahan kasebut dadi obyek. Pemikiran OOP ndadekake luwih gampang ngembangake aplikasi. Iki amarga kamiripan lunak lan obyek sing nyata.
Apa dadi obyek ing OOP? Ing ngisor iki ana kategori khas.
Objek fisik ing OOP yaiku:
- Transportasi ing pola aliran;
- Unsur listrik ing program rancangan sirkuit;
- Negara ing model ekonomi;
- Pesawat ing sistem kontrol lalu lintas udhara.
Unsur lingkungan komputer panganggo:
- Menu;
- Windows;
- Graphics (garis, persegi panjang, lingkaran);
- Keyboard, mouse, printer, disk drive.
Wong:
- Karyawan;
- Siswa;
- Pelanggan;
- Penjual.
Data:
- Buku akuntansi;
- Prastawa pribadi;
- Kamus;
- Tabel garis lintang lan batesan pemukiman.
Hubungan antara obyek-obyek nyata lan OOP yaiku asil saka kombinasi fungsi lan data: padha ngarevolusi program. Ora ana korespondensi cedhak ing basa prosedural.
Kelas
Obyek ing OOP minangka anggota kelas. Apa tegese iki? Basa pamrograman duwe tipe data sing dibangun . Tipe int, yaiku integer, wis ditemtokake ing C ++. Sampeyan bisa ngumumake sembarang nomer int variabel.
Kajaba iku, pesawat saka obyek saka kelas sing padha ditetepake. Fungsi kasebut nemtokake fungsi lan data sing ana ing obyek kasebut tanpa nggawe, kaya int ora nggawe variabel.
Kelas ing OOP yaiku katrangan saka sawetara objek sing padha. Pangeran, Sting lan Madonna dadi penyanyi. Ora ana siji-sijine wong sing jenenge, nanging wong bisa diarani yen duwe karakteristik sing cocok. Objek OOP minangka conto saka kelas.
Pusaka
Ing urip, kelas dibagi dadi subclass. Contone, kewan dibagi dadi amfibi, mamalia, manuk, serangga, lan liya-liyane.
Prinsip saka divisi iki yaiku saben subclass nduweni karakteristik umum karo kelas saka sing ana. Kabeh mobil duwe roda lan mesin. Iki minangka ciri khas kendaraan. Saliyane karakteristik umum, saben subclass nduweni karakteristik dhewe. Bus duwe akeh kursi, lan truk nduweni spasi kanggo ngeterake barang abot.
Kajaba iku, kelas dasar bisa dadi induk sawetara subkelas turunan sing bisa ditetepake supaya padha nuduhake ciri-ciri karo tambahan dhewe. Warisan mirip karo fungsi sing nyederhanakan program prosedural. Yen sawetara bagéan saka kode meh meh padha, sampeyan bisa nemtokake unsur-unsur sing umum lan dilebokake ing sawijining prosedur. Telung bagean aplikasi bisa nelpon fungsi kanggo nindakake tindakan umum, nanging uga bisa nindakake operasi dhewe. Kajaba iku, kelas dasar ngemot data umum ing grup asal. Kaya fungsi, pusaka nyuda program OO lan njlentrehake interkoneksi unsur-unsur kasebut.
Nganggo maneh
Sawise kelas digawe lan di-debug, bisa diterusake menyang programer liyane kanggo nggunakake maneh ing aplikasi dhewe. Iki padha karo perpustakaan fungsi sing bisa kalebu ing macem-macem aplikasi.
Ing OOP, warisan minangka extension saka gagasan nggunakake akeh. Saka kelas sing ana, tanpa ngganti, sampeyan bisa nggawe sing anyar kanthi nambah fungsi liyane. Gampang nggunaake piranti lunak sing ana saiki minangka kaunggulan penting OOP. Dipercaya yèn iki menehi pangasil ing investasi wiwitan.
Nggawe jinis data anyar
Obyek sing trep kanggo nggawe tipe data anyar. Upaminipun program kasebut migunakake nilai-nilai rong dimensi (contone, koordinat utawa garis lintang lan garis bujur), lan ana kepinginan kanggo nduduhake tumindak karo aritmetika operasi:
Posisi1 = posisi + asal,
Panggonan posisi, posisi lan asal minangka pasangan angka numerik independen. Nggawe kelas sing nyakup loro nilai kasebut lan ngumumke variabel kanthi objek nggawe tipe data anyar.
Polymorphism, overload
Operator = (witjaksono) lan + (plus) digunakake ing aritmetika posisi ing ndhuwur ora tumindak kanthi cara sing padha karo jinis sing dibangun, kayata int. Posisi obyek lan liya ora ditemtokake, nanging diprogram. Carane operator iki ngerti carane nangani wong-wong mau? Jawaban kasebut dumunung ing kasunyatan sing bisa nyetel pola prilaku anyar kanggo wong-wong mau. Operasi iki minangka fungsi anggota kelas Posisi.
Panggunaan operator utawa tata cara, gumantung marang apa sing dikerjakake, diarani polimorfisme. Nalika operator sing ana, kayata + utawa =, bisa nggarap jinis data anyar, dikategorikake sing ditrapake. Overloading ing OOP iku jenis polimorfisme. Iku fitur penting.
Buku babagan OOP "Programming Oriented Object for Dummies" bakal ngidini everyone bisa kenal karo topik iki kanthi luwih rinci.
Similar articles
Trending Now