"Halo, Amigo! Dina iki aku arep mbukak donya anyar lan menarik kanggo tampilan sampeyan. Aku ngomong babagan Object-Oriented Programming (OOP) . Sampeyan wis ngerti kelas lan obyek. Dina iki sampeyan arep kanggo sinau luwih akeh babagan dheweke, luwih akeh."

Kita bakal miwiti karo papat pilar OOP. Yaiku abstraksi, enkapsulasi, warisan, lan polimorfisme. (Biyen ana telu, nanging abstraksi ditambahake mengko)

1) Abstraksi.

Conto abstraksi sing apik ing urip nyata yaiku deskripsi proyek ing perusahaan. Judhul proyek minangka salah sawijining perkara, nanging tugase pancen beda.

Bayangake sampeyan nggawe grafik org kanggo perusahaan sampeyan ing mangsa ngarep. Sampeyan bisa mbagi tugas sekretaris, nyebarake ing sawetara posisi liyane. Sampeyan bisa mbagi tugas CEO dadi sawetara posisi sing kapisah: kepala pejabat keuangan, kepala pejabat teknologi, kepala pejabat pemasaran, kepala pejabat sumber daya manusia. Utawa sampeyan bisa nggabungake posisi manajer kantor lan perekrut dadi siji.

Upamane sampeyan nemokake jeneng kanggo posisi ing perusahaan sampeyan, banjur sampeyan "ngilangake" tanggung jawab kanggo posisi kasebut. Sing abstraksi - pamisah soko gedhe lan monolitik menyang sawetara bagean cilik.

OOP: prinsip dhasar - 1

Saka sudut pandang programmer, abstraksi kanthi bener mbagi program dadi obyek.

Program gedhe biasane bisa diwakili minangka obyek sing sesambungan ing macem-macem cara. Abstraksi ngidini sampeyan milih karakteristik utama obyek lan ngilangi apa wae sing kurang penting.

Abstraksi kaya strategi militer. Yen sampeyan milih strategi sing salah, ora ana taktik cerdik sing bakal nylametake.

2) Enkapsulasi.

Enkapsulasi dimaksudake kanggo nambah interaksi antarane obyek kanthi nyederhanakake.

OOP: prinsip dhasar - 2

Cara paling apik kanggo nyederhanakake soko yaiku ndhelikake apa wae sing rumit saka wong sing ora perlu ngerti. Contone, yen sampeyan lungguh ing mburi kontrol pilot jet Boeing, butuh wektu suwe kanggo ngerti cara kerjane:

OOP: prinsip dhasar - 3

Ing sisih liya, kabeh katon luwih gampang kanggo para penumpang ing pesawat: tuku tiket lan numpak pesawat, sing banjur njupuk lan ndharat. Sampeyan bisa kanthi gampang mabur saka bawana menyang bawana, mung ngerti carane «tuku tiket» lan «munggah pesawat». Kita ora weruh kerumitan sing ana gandhengane karo nyiapake pesawat kanggo mabur, lepas landas, landing, lan macem-macem kahanan darurat sing potensial. Lan kita ora nyebutake babagan navigasi satelit, autopilot, lan pusat kontrol lalu lintas udhara. Iki nyederhanakake urip kita.

Ing babagan pemrograman, enkapsulasi yaiku "ndhelikake implementasine". Aku seneng definisi kasebut. Kelas kita bisa ngemot atusan cara lan ngetrapake prilaku sing kompleks ing macem-macem kahanan. Nanging kita bisa ndhelikake kabeh cara saka prying mata (kanthi menehi tandha " pribadi "), ninggalake mung loro utawa telung cara kanggo interaksi karo kelas liyane (kanthi menehi tandha " umum "). Banjur kabeh kelas liyane ing program kita mung bakal ndeleng-lan nelpon-iki sawetara cara ing kelas iki . Kabeh kerumitan kelas bakal didhelikake ing njero, kaya kokpit sing dijaga saka tampilan penumpang sing seneng.

3) Warisan.

Warisan minangka konsep ing program lan 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 apa sing kita butuhake saka awal, lan nglampahi akeh wektu lan gaweyan kanggo nindakake.

2) nggawe apa sing dibutuhake nggunakake barang sing wis ana.

Strategi sing paling apik yaiku: Kita njupuk solusi apik sing wis ana, ngolah maneh lan ngapiki kanggo nyukupi kabutuhan, banjur gunakake.

Coba, evolusi manungsa. Yen kita nglacak wiwitan bali menyang wiwitan urip ing planet, kita bakal weruh yen milyaran taun wis liwati. Nanging yen kita nganggep manungsa wiwit saka kethek, mula mung sawetara yuta taun kepungkur. Nggawe soko saka ngeruk njupuk maneh. Luwih suwe.

Kajaba iku, ing program kita bisa nggawe siji kelas adhedhasar liyane. Kelas anyar dadi turunan (waris) saka kelas sing wis ana. Iki mbiyantu banget yen sampeyan wis duwe kelas sing ngemot 80-90% data lan metode sing dibutuhake. Kita mung ngumumake kelas sing cocog minangka induk kelas anyar kita. Kabeh data lan cara kelas induk kanthi otomatis dadi bagian saka kelas anyar. Trep, ta?

4) Polimorfisme.

Polimorfisme minangka konsep pemrograman sing nggambarake kahanan sing beda-beda implementasine didhelikake ing antarmuka sing padha. Kanggo nemokake analog ing urip nyata, kita bisa ndeleng proses nyopir mobil.

Yen wong bisa nyopir truk, mula dheweke uga bisa dilebokake ing mburi setir ambulans utawa mobil olahraga. Wong bisa nyopir mobil preduli saka apa jenis mobil, amarga kabeh padha duwe antarmuka kontrol padha: setir, pedal, lan gearshif. Mobil diatur kanthi beda ing njero, nanging kabeh padha duwe antarmuka kontrol sing padha.

Bali menyang pemrograman, polimorfisme ngidini kita sesambungan karo obyek saka kelas sing beda (biasane karo leluhur sing padha) kanthi cara sing padha. Pentinge iki ora bisa ditekanake. Iku dadi luwih penting minangka program mundak akeh.

OOP minangka prinsip. Undang-undang Pemrograman. Saben wong mbatesi kita ing sawetara cara, nanging ing bali menehi kaluwihan ageng minangka program tuwuh gedhe. Papat prinsip OOP kaya papat sikil kursi. Yen sampeyan njupuk salah siji saka wong-wong mau, kabeh sistem dadi ora stabil.