1. Ngenalke prinsip OOP

Dina iki sampeyan bakal nemokake donya anyar lan menarik. Dunia Pemrograman Berorientasi Objek ( OOP ). Sampeyan sadurunge sinau babagan kelas lan obyek. Dina iki sampeyan bakal sinau luwih akeh babagan dheweke, luwih akeh.

OOP muncul minangka respon kanggo nambah kerumitan program. Nalika variabel lan metode ing program wiwit cacahe puluhan ewu, dadi jelas yen ana sing kudu ditindakake. Salah sawijining solusi yaiku nggabungake data lan metode sing ana gandhengane dadi obyek sing kapisah.

Saiki programer kudu njlèntrèhaké kanthi kapisah carane obyek sesambungan eksternal lan cara tumindak internal. Iki nggawe luwih gampang kanggo mangerteni lan nulis program. Nanging, isih ana pitakonan: cara apa sing kudu dadi internal kanggo obyek lan sing kudu kasedhiya kanggo obyek liyane?

Akeh pendekatan sing dicoba. Lan adhedhasar praktik paling apik sing ditemokake, 4 prinsip OOP muncul. Yaiku abstraksi, enkapsulasi, warisan lan polimorfisme . Sadurunge, mung ana telu, nanging ahli banjur mutusake kanggo nambah abstraksi uga.


2. Abstraksi

Wong ing Internet isih mbantah babagan definisi abstraksi ing OOP . Masalahe ora kabeh wong salah. Iku kabeh wong bener . Sing luwih cilik program, luwih abstraksi disambungake menyang basa Jawa. Program sing luwih gedhe, luwih akeh abstraksi sing ana gandhengane karo modeling / nyederhanakake obyek ing donya nyata.

Nanging pikiran sing paling apik kayane setuju yen:

Abstraksi yaiku nggunakake mung karakteristik obyek sing nggambarake kanthi akurat ing program. Ide utama yaiku kanggo makili obyek kanthi sakumpulan kolom lan metode sing paling cilik sing ngidini tugas sampeyan dirampungake kanthi akurasi sing cukup .

Ing Jawa, abstraksi ditindakake liwat kelas abstrak lan antarmuka.

Abstraksi ing urip nyata

Conto abstraksi sing apik ing urip nyata yaiku deskripsi proyek ing perusahaan utawa organisasi. Judhul posisi iku siji bab, nanging tanggung jawab tartamtu diutus kanggo posisi iku prakara temen beda.

Bayangake yen sampeyan lagi ngrancang struktur organisasi perusahaan ing mangsa ngarep. Sampeyan bisa mbagi tanggung jawab sekretaris, nyebarake ing sawetara posisi sing beda. Sampeyan bisa pamisah posisi CEO dadi sawetara posisi kapisah: CFO, CTO, CMO, Direktur HR. Utawa, contone, sampeyan bisa nggabungake posisi manajer kantor lan perekrut dadi siji.

Sampeyan mikir judhul proyek lan banjur dibagi tanggung jawab kanggo posisi kasebut. Abstraksi yaiku ngilangi obyek kanthi sakabehe lan milih sifat lan komponen penting sing kita butuhake.

Ngenalake prinsip OOP.  abstraksi

Saka sudut pandang pemrograman, abstraksi minangka divisi sing bener saka program dadi obyek . Biasane, ana puluhan cara kanggo makili program gedhe minangka obyek sing sesambungan. Abstraksi ngidini sampeyan milih karakteristik penting lan nglirwakake sing ora penting.


3. Enkapsulasi

Tujuan enkapsulasi yaiku nambah interaksi kanthi nggawe obyek luwih gampang.

Lan cara sing paling apik kanggo nyederhanakake soko yaiku ndhelikake apa wae sing rumit saka prying eyes. Contone, yen sampeyan dilebokake ing kokpit jet jumbo Boeing, sampeyan ora bakal langsung ngerti cara ngoperasikake:

Nanging kanggo penumpang ing pesawat, kabeh luwih prasaja: sampeyan tuku tiket lan munggah pesawat, kang njupuk lan banjur ndharat. Sampeyan bisa kanthi gampang mabur saka siji bawana menyang bawana liyane kanthi mung bisa "tuku tiket" lan "naik pesawat". Kabeh kerumitan nyiapake pesawat kanggo penerbangan, lepas landas, kebangkrutan lan macem-macem kahanan darurat didhelikake saka sampeyan. Ora kanggo sebutno pandhu arah satelit, autopilot lan pusat kontrol lalu lintas udhara. Lan iki nyederhanakake urip kanggo kita.

Saka sudut pandang pemrograman, enkapsulasi "ndhelikake implementasine". Aku seneng definisi iki. Kelas kita bisa ngemot atusan metode lan ngetrapake prilaku sing rumit ing macem-macem kahanan. Nanging kita bisa ndhelikake kabeh cara saka prying mata (kanthi menehi tandha karo modifier pribadi), lan ninggalake mung loro utawa telung cara kanggo sesambungan karo kelas liyane (kanthi menehi tandha karo modifier umum). Banjur kabeh kelas liyane program kita mung bakal ndeleng telung cara umum lan nelpon nanging ora liyane. Lan kabeh kerumitan bakal didhelikake ing njero kelas, kaya kokpit sing didhelikake saka penumpang sing seneng.


4. Pusaka

Ana rong sisih kanggo warisan . Warisan ing program lan warisan ing urip nyata. Ing pemrograman, warisan minangka hubungan khusus antarane rong kelas . Nanging warisan ing urip nyata luwih menarik.

Yen kita kudu nggawe soko ing urip nyata, kita duwe rong pilihan:

  1. Nggawe barang sing dibutuhake saka awal, mbuwang akeh wektu lan gaweyan.
  2. Nggawe barang sing kita butuhake adhedhasar apa sing wis ana.

Strategi sing paling optimal yaiku: njupuk solusi sing apik sing wis ana, modifikasi sethithik, atur supaya cocog karo kabutuhan, banjur gunakake.

Yen kita nglacak sejarah manungsa bali menyang wiwitane, kita nemokake yen milyaran taun wis liwati wiwit urip ing planet iki. Nanging yen kita nganggep titik wiwitan manungsa minangka leluhur primata kita (yaiku manungsa "adhedhasar" leluhur primata), mula mung sawetara yuta taun kepungkur. Bangunan saka ngeruk njupuk maneh. Luwih suwe.

Ing pemrograman, sampeyan bisa nindakake sing padha kanthi nggawe siji kelas adhedhasar liyane. Kelas anyar mudhun saka (marisi) kelas sing wis ana. Iki migunani banget nalika kelas sing ana duwe 80-90% data lan metode sing dibutuhake. Kita mung ngumumake kelas sing cocog minangka induk kelas anyar, lan kabeh data lan metode kelas induk kanthi otomatis katon ing kelas anyar. Trep, ta?


5. Polimorfisme

Polimorfisme minangka konsep pemrograman. Iki nggambarake kahanan sing beda-beda implementasine didhelikake ing antarmuka siji. Nggolek urip nyata kanggo pasangan, kita nemokake manawa ngoperasikake kendharaan iku pas.

Yen ana wong sing bisa nyopir truk, mula dheweke uga bisa dilebokake ing mburi setir ambulans utawa ing mburi setir mobil olahraga. Wong bisa ngoperasikake mobil, preduli saka jinis mobil, amarga kabeh mobil duwe antarmuka kontrol sing padha: setir, pedal lan shift. Internal mobil beda-beda, nanging kabeh duwe antarmuka kontrol sing padha.

Bali menyang jagad pemrograman, polimorfisme ngidini obyek saka kelas sing beda-beda (biasane duwe leluhur sing padha) bisa diakses kanthi cara sing padha, properti sing nilaine ora bisa dikalahake. Nilai kasebut mundhak nalika program saya tambah gedhe.

OOP tegese prinsip. hukum internal. Saben wong mbatesi kita ing sawetara cara, nanging menehi keuntungan gedhe ing bali nalika program dadi gedhe. Papat prinsip OOP kaya papat sikil meja. Njupuk siji lan kabeh sistem dadi ora stabil.