Di antara pamekar, program berorientasi obyék parantos narik seueur pengikut. Basa komputer populér Python ogé taat kana paradigma berorientasi objék.
Éta ngurus nangtukeun objék sareng kelas dina Python, anu janten dasar pikeun prinsip OOPs. Dina tutorial ieu ngeunaan "program berorientasi objék dina Python," anjeun bakal diajar kumaha carana ngadéklarasikeun kelas Python, nyieun objék ti aranjeunna, sarta ngagunakeun opat téhnik OOPs.
Ku kituna, hal kahiji kahiji.
Naon Dupi Pemrograman Berorientasi Objék?
Fokus utama program berorientasi objek (OOP) nyaéta nyiptakeun "objék". Kumpulan variabel sareng fungsi anu saling nyambungkeun ngawangun hiji obyék.
Variabel ieu sering disebut atribut obyék, sareng paripolahna sering disebut fungsina. Barang-barang ieu nyayogikeun aplikasi sareng struktur anu langkung efektif sareng kaharti. Mobil mangrupikeun conto barang.
Lamun mobil éta hiji item, atribut na bakal kaasup hal kawas warna na, modél, harga, merek, jsb Sajaba, éta bakal ngagancangkeun, ngalambatkeun turun, sarta ngarobah gears.
ilustrasi sejen: Lamun urang nganggap anjing salaku hiji item, sababaraha ciri na bisa jadi warna, breed, ngaran, beurat, jsb. Sarta anjeunna bakal gerak, barking, maén, jsb
Kusabab eta incorporates konsép real-dunya kawas objék, nyumputkeun, warisan, jsb kana programming, programming obyék-berorientasi ogé dipikawanoh. Kusabab éta sami sareng kaayaan dunya nyata, visualisasi janten langkung saderhana.
Konsép Programming Berorientasi Obyék
Kelas & Objék dina Python
Sapertos sadaya basa berorientasi obyék anu sanés, Python ngamungkinkeun anjeun mendesain kelas pikeun ngahasilkeun objék. Jenis data nu pang populerna di Python, kaasup string, daptar, kamus, jeung objék séjén, diwangun-di kelas.
Kelas mangrupa grup métode numbu jeung variabel conto nu nangtukeun jenis nu tangtu objék. Hiji kelas bisa ditempo salaku modél atawa template pikeun hiji obyék. Variabel anu ngawangun kelas katelah atribut.
Obyék nyaéta anggota kelas anu ngagaduhan set atribut anu ditetepkeun. Kusabab ieu, sajumlah objék tiasa didamel nganggo kelas anu sami.
Kelas Python dihartikeun ngagunakeun kelas kecap, nu lajeng dituturkeun ku ngaran kelas jeung titik dua. Hiji ilustrasi kelas manuk beo bisa jadi:
Di dieu, urang nyatakeun Parrot kelas kosong nganggo kecap konci kelas. Urang nyieun instansi ti kelas. Instance mangrupikeun obyék khusus anu didamel tina kelas anu tangtu. 'pass' mindeng dipaké salaku stand-in pikeun kode anu palaksanaan urang bisa forego pikeun momen. Urang tiasa ngaéksekusi kode Python tanpa raising kasalahan ku ngagunakeun "pass" keyword.
Instansiasi hasil kelas dina hiji obyék (instance). Ngan déskripsi obyék diartikeun nalika kelas dijieun. Hasilna, teu aya panyimpenan atanapi RAM anu dialokasikeun.
Conto objék kelas manuk beo nyaéta:
Obj mangrupikeun obyék kelas Parrot dina conto ieu.
Sebutkeun urang terang spésifik ngeunaan beo. Urang ayeuna bakal demonstrate cara nyieun kelas beo jeung objék na.
Métode Husus ( __init__ )
Métode anu disebut init ngahartikeun atribut anu kedah aya dina unggal obyek Parrot (). Nalika objék Parrot anyar kabentuk, fungsi __init__ nyiptakeun kaayaan awal obyék ku assigning nilai kami nyadiakeun dina sipat objék.
Ku kituna, unggal conto anyar kelas ieu initialized ku ngagunakeun __init__(). Sanajan __init __ () bisa nampa sagala Jumlah parameter, diri salawasna parameter munggaran.
Rujukan kana conto kelas aktip kalebet kana argumen diri. Parameter diri, nu numbu ka alamat obyék ayeuna kelas sarta méré urang aksés ka na (objék) data variabel ', nandakeun éta.
Conto 1
Urang ngadegkeun hiji kelas disebut Parrot dina kode luhur. Salajengna, sipat diartikeun. Ciri-ciri hiji barang nyaéta sipat-sipatna. Fungsi __init__ kelas nyaeta dimana ciri ieu dieusian.
Nalika hiji obyék kabentuk, metoda initializer nyaeta salah sahiji nu disebut mimitina. Lajeng, instansi tina kelas Parrot dijieun. Blaze sareng Wonda dina conto ieu mangrupikeun rujukan (nilai) kana objék énggal urang. __class .species ngamungkinkeun urang pikeun ngakses atribut kelas.
Unggal instance kelas boga ciri anu sarua. Karakteristik instance ogé tiasa diaksés nganggo blaze.name sareng blaze.age. Sadaya instansi kelas gaduh atribut conto anu unik, sanaos.
Conto 2
métode
Fungsi anu didefinisikeun di jero awak kelas disebut metode. Aranjeunna padamelan pikeun nangtukeun kumaha hiji barang bakal kalakuanana.
Dua métode, nyanyi () jeung tari, dihartikeun dina aplikasi disebut tadi (). Kusabab aranjeunna invoked on hiji objek conto, kayaning seuneu, ieu disebut salaku métode conto.
Dasar konsép OOPS
Opat gagasan inti pemrograman berorientasi obyék nyaéta:
- Warisan
- Encapsulation
- Polimorfisme
- Abstraksi
Warisan
Jalma-jalma sering nyarioskeun ka orok yén aranjeunna gaduh ciri-ciri wajah anu sami sareng kolotna atanapi aranjeunna ngagaduhan sipat khusus ti kolotna.
Ieu mungkin nu ogé geus katalungtik yén anjeun babagi sababaraha ciri jeung kolot anjeun. Kaayaan dunya nyata sami sareng warisan ogé.
Nanging, dina hal ieu, karakteristik "kelas indungna" diturunkeun ka "kelas anak". Aspék ieu disebut "sipat" sareng "métode" dina kontéks ieu.
Hiji kelas tiasa nurunkeun metode sareng atributna tina kelas anu sanés ku ngagunakeun téknik anu katelah warisan. Warisan nyaéta prosés kelas anak narima sipat kelas indungna.
conto:
Kelas indungna Manusa diwariskeun ku budak kelas Budak dina conto di luhur. Kusabab Boy mangrupikeun warisan ti Manusa, urang tiasa ngaksés sadaya metode sareng atributna nalika urang nyiptakeun conto kelas Boy.
Dina kelas Boy, métode disebut schoolName ogé geus ditetepkeun. Objek kelas indungna henteu tiasa ngaksés metodeu schoolName. Metoda schoolName bisa kitu, disebut ku nyieun objék kelas anak (Boy).
Encapsulation
Méré unggal variabel dina program aksés global sanes langkah anu bijaksana nalika damel sareng kelas sareng nanganan data sénsitip.
Tanpa masihan program aksés lengkep ka salah sahiji variabel eta, encapsulation nyadiakeun mékanisme pikeun urang pikeun ménta variabel perlu.
Métode anu ditetepkeun sacara eksplisit pikeun tujuan éta tiasa dianggo pikeun ngapdet, ngédit, atanapi ngahapus data tina variabel. Metoda pemrograman ieu gaduh kaunggulan tina kaamanan anu ditingkatkeun sareng kontrol kana input data.
Tingali kumaha gancangna variabel tiasa diaksés dina démo di handap:
Polimorfisme
Anggap anjeun nganggo telepon anjeun pikeun ngotéktak Instagram eupan. Nalika anjeun hoyong ngadangukeun sababaraha musik, anjeun ngaksés Spotify sareng mimiti maénkeun lagu karesep anjeun.
Saatos sababaraha waktos, anjeun nampi télépon, janten anjeun ngareureuhkeun naon waé anu anjeun lakukeun di latar tukang pikeun ngawalon éta. Babaturan anjeun nelepon sareng naroskeun anjeun ngirim sms ka nomer telepon jalma anu tangtu.
Janten anjeun ngirimkeun nomer telepon ka anjeunna ngalangkungan SMS sareng ngalaksanakeun tugas anjeun. Dupi anjeun ngajemput nanaon? Kalayan ngan hiji alat—telepon sélulér anjeun—anjeun tiasa ngotéktak eupan, ngadangukeun musik, nyandak sareng nelepon telepon, sareng pesen.
Ku alatan éta, polymorphism nyaeta comparable kana éta. Poli hartina loba, sarta morf ngalambangkeun wangun béda. Ku alatan éta, polymorphism sakabéhna nujul kana hiji hal kalayan sagala rupa wangun.
Atawa "hal" anu, gumantung kana kaayaan, bisa némbongkeun rupa-rupa paripolah. Dina OOPS, polymorphism ngajelaskeun fungsi nu ngaranna sarua tapi kabiasaan béda. Alternatipna, tanda tangan fungsi anu béda sareng nami fungsi anu sami (parameter disalurkeun kana fungsi).
conto:
Di dieu, urang bisa make sato variabel pikeun iterate sakuliah objék tina Zebra jeung Rabbit, ngagunakeun métode conto masing-masing. Hasilna, kabiasaan (warna () & eats ()) duanana Zebra jeung Rabbit digambarkeun di dieu ku variabel tunggal disebut sato. Ku kituna éta adhering kana aturan polymorphism.
Abstraksi
Anjeun paling dipikaresep ngagunakeun laptop, telepon, atawa tablet pikeun maca eusi ieu. Nalika maca éta, anjeun ogé panginten nyandak catetan, ngagariskeun petikan konci, sareng panginten nyimpen sababaraha inpormasi dina file pribadi anjeun.
Sadaya anu anjeun tiasa tingali nalika anjeun maca ieu mangrupikeun "layar" kalayan data anu ditampilkeun ka anjeun. Anjeun ngan ukur ningali kenop keyboard nalika anjeun ngetik, janten anjeun henteu kedah hariwang ngeunaan subtleties internal sapertos kumaha ngadorong konci tiasa nyababkeun kecap éta muncul dina layar.
Alternatipna, kumaha mencét tombol dina layar anjeun tiasa ngaluncurkeun tab énggal.
Ku alatan éta, naon waé anu urang tingali dina kaayaan ieu abstrak. Urang ngan ukur tiasa ningali hasil anu diciptakeun sareng sanés intricacies jero (anu leres-leres penting pikeun urang).
Sarupa jeung ieu, abstraksi ngan nembongkeun fungsi nu sagalana dipibanda bari concealing sagala palaksanaan atanapi rinci internal.
Tujuan utama abstraksi nyaéta pikeun nyumputkeun inpormasi latar tukang sareng palaksanaan data anu sanés supados jalma ngan ukur ningali naon anu kedah ditingali. Éta ngabantosan dina ngatur pajeulitna kodeu.
conto:
Kelas abstrak anu aya hubunganana sareng kendaraan aya di dieu. Kusabab eta inherits ti kelas abstrak ABC, éta abstrak. Kusabab métode abstrak teu diartikeun atawa tetep kosong, boga kelas Kandaraan hiji métode abstrak disebut euweuh roda nu lacks harti.
Aranjeunna ngantisipasi kelas anu ngawariskeun kelas abstrak pikeun masihan palaksanaan metodeu.
Kauntungannana konsep OOPS
- Ku encapsulating, kaamanan luhur jeung privasi data kahontal.
- Kalenturan dina ngabogaan loba versi polymorphic kelas sarua.
- Tingkat pajeulitna kode anu luhur dikirangan ku abstraksi.
- Gantina ngayak ngaliwatan ratusan garis kode pikeun maluruh hiji masalah tunggal, modularitas programming ngajadikeun debugging basajan.
- Kodeu dipake deui disababkeun ku warisan kelas anak urang sipat kelas indungna.
- Ngarengsekeun masalah anu épéktip mungkin sabab kami nyiptakeun kelas anu ngalakukeun tindakan anu dipikabutuh pikeun unggal masalah mini. Masalah di handap ieu tiasa direngsekeun langkung gancang sabab urang tiasa nganggo deui kelas-kelas éta.
kacindekan
Dina kacindekan, urang diajar ngeunaan gagasan OOPS di Python, paradigma programming hottest ayeuna.
Saatos maca ieu, anjeun kedah sadar yén paradigma OOPS sapinuhna ngurus ide kelas sareng objék. sareng konsép OOPS sapertos enkapsulasi, polimorfisme, warisan, sareng abstraksi.
Leave a Reply