Tabl Cynnwys[Cuddio][Dangos]
Ymhlith datblygwyr, mae rhaglenni sy'n canolbwyntio ar wrthrychau wedi denu dilyniant sylweddol. Iaith gyfrifiadurol boblogaidd Mae Python yn yr un modd yn cadw at y patrwm gwrthrych-ganolog.
Mae'n ymdrin â diffinio gwrthrychau a dosbarthiadau yn Python, sy'n sail i egwyddorion OOPs. Yn y tiwtorial hwn ar “raglennu gwrthrych-ganolog yn Python,” byddwch yn dysgu sut i ddatgan dosbarthiadau Python, creu gwrthrychau ohonynt, a defnyddio'r pedair techneg OOPs.
Felly, y peth cyntaf yn gyntaf.
Beth Yw Rhaglennu sy'n Canolbwyntio ar Wrthrychau?
Prif ffocws rhaglennu gwrthrych-ganolog (OOP) yw creu “gwrthrychau”. Mae casgliad o newidynnau a swyddogaethau rhyng-gysylltiedig yn creu gwrthrych.
Cyfeirir yn aml at y newidynnau hyn fel priodoleddau'r gwrthrych, a chyfeirir yn aml at ei ymddygiadau fel ei swyddogaethau. Mae'r eitemau hyn yn rhoi strwythur mwy effeithiol a dealladwy i'r cais. Mae automobile yn enghraifft o eitem.
Pe bai'r Automobile yn eitem, byddai ei nodweddion yn cynnwys pethau fel ei liw, model, pris, brand, ac ati. Yn ogystal, byddai'n cyflymu, yn arafu ac yn newid gerau.
Darlun arall: Os ydym yn meddwl am gi fel eitem, yna gallai rhai o'i nodweddion fod yn lliw, brid, enw, pwysau, ac ati. A byddai'n symud o gwmpas, yn cyfarth, yn chwarae, ac ati.
Oherwydd ei fod yn ymgorffori cysyniadau byd go iawn fel gwrthrychau, cuddio, etifeddiaeth, ac ati mewn rhaglennu, mae rhaglennu sy'n canolbwyntio ar wrthrychau yn adnabyddus. Oherwydd ei fod mor debyg i amgylchiadau'r byd go iawn, mae delweddu yn symlach.
Cysyniadau Rhaglennu sy'n Canolbwyntio ar Wrthrychau
Dosbarthiadau a Gwrthrychau yn Python
Fel pob iaith arall sy'n canolbwyntio ar wrthrychau, mae Python yn eich galluogi i ddylunio dosbarthiadau i gynhyrchu gwrthrychau. Mae'r mathau o ddata mwyaf poblogaidd yn Python, gan gynnwys llinynnau, rhestrau, geiriaduron a gwrthrychau eraill, yn ddosbarthiadau adeiledig.
Mae dosbarth yn grŵp o ddulliau cysylltiedig a newidynnau enghraifft sy'n diffinio math arbennig o wrthrych. Gellir gweld dosbarth fel model neu dempled ar gyfer gwrthrych. Mae'r newidynnau sy'n ffurfio dosbarth yn cael eu hadnabod fel priodoleddau.
Mae gwrthrych yn aelod o ddosbarth sydd â set ddiffiniedig o briodoleddau. Oherwydd hyn, gellir creu unrhyw nifer o wrthrychau gan ddefnyddio'r un dosbarth.
Diffinnir dosbarthiadau Python gan ddefnyddio'r gair dosbarth, a ddilynir wedyn gan enw'r dosbarth a cholon. Gallai enghraifft o ddosbarth parot fod yn:
Yma, rydym yn datgan y Parrot dosbarth gwag gan ddefnyddio allweddair y dosbarth. Rydym yn creu enghreifftiau o ddosbarthiadau. Enghraifft yw gwrthrych penodol a wnaed o ddosbarth arbennig. mae 'pasio' yn cael ei ddefnyddio'n aml fel cod wrth gefn y gallwn ni ei roi ar waith am y tro. Gallwn weithredu'r cod Python heb godi gwall trwy ddefnyddio'r allweddair “pasio”.
Mae amrantiad o ddosbarth yn arwain at wrthrych (enghraifft). Dim ond disgrifiad y gwrthrych sy'n cael ei ddiffinio pan fydd dosbarth yn cael ei greu. O ganlyniad, ni ddyrennir storfa na RAM.
Enghraifft o wrthrych dosbarth parot yw:
Mae Obj yn wrthrych dosbarth Parot yn yr achos hwn.
Gadewch i ni ddweud ein bod ni'n gwybod manylion penodol am barotiaid. Nawr byddwn yn dangos sut i greu dosbarth y parot a'i wrthrychau.
Dull Arbennig ( __init__ )
Mae dull a elwir init yn diffinio'r priodoleddau y mae'n rhaid i bob gwrthrych Parrot feddu arnynt (). Pan fydd gwrthrych Parrot newydd yn cael ei ffurfio, mae'r ffwythiant __init__ yn creu cyflwr cychwynnol y gwrthrych trwy aseinio'r gwerthoedd rydyn ni'n eu cyflenwi o fewn priodweddau'r gwrthrych.
Felly, mae pob enghraifft newydd o'r dosbarth yn cael ei gychwyn trwy ddefnyddio __init__(). Er y gall __init__() dderbyn unrhyw nifer o baramedrau, hunan yw'r paramedr cyntaf bob amser.
Mae cyfeiriad at enghraifft weithredol y dosbarth wedi'i gynnwys yn yr hunan-ddadl. Mae'r hunan baramedr, sy'n cysylltu â chyfeiriad gwrthrych cyfredol dosbarth ac yn rhoi mynediad i ni at ei ddata newidynnau (y gwrthrych), yn dynodi hynny.
1 Enghraifft
Rydym yn sefydlu dosbarth o'r enw Parrot yn y cod uchod. Nesaf, diffinnir eiddo. Nodweddion peth yw ei briodweddau. Swyddogaeth __init__ y dosbarth yw lle mae'r nodweddion hyn wedi'u pennu.
Pan ffurfir gwrthrych, y dull cychwynnwr yw'r un a elwir i ddechrau. Yna, mae enghreifftiau o'r dosbarth Parrot yn cael eu creu. Mae Blaze a Wonda yn yr achos hwn yn gyfeiriadau (gwerthoedd) at ein gwrthrychau newydd. Mae __class .species yn ein galluogi i gael mynediad at briodoledd y dosbarth.
Mae gan bob enghraifft o ddosbarth yr un nodweddion. Gellir cyrchu nodweddion yr enghraifft hefyd gan ddefnyddio blaze.name a blaze.age. Fodd bynnag, mae gan bob achos o ddosbarth rinweddau enghraifft unigryw.
2 Enghraifft
Dulliau
Gelwir swyddogaethau a ddiffinnir y tu mewn i gorff dosbarth yn ddulliau. Fe'u cyflogir i nodi sut y bydd eitem yn ymddwyn.
Diffinnir dau ddull, canu () a dawns, yn y cymhwysiad uchod (). Oherwydd eu bod yn cael eu defnyddio ar wrthrych enghraifft, fel fflam, cyfeirir at y rhain fel dulliau enghraifft.
Hanfodion cysyniad OOPS
Y pedwar syniad craidd ar gyfer rhaglennu gwrthrych-ganolog yw:
- Etifeddiaeth
- Cynhwysiad
- Amryffurfiaeth
- Tynnu
Etifeddiaeth
Mae pobl yn aml yn dweud wrth fabanod newydd-anedig bod ganddyn nhw nodweddion wyneb sy'n debyg i rai eu rhieni neu eu bod wedi etifeddu nodweddion penodol gan eu rhieni.
Mae'n bosibl eich bod chi hefyd wedi sylwi eich bod chi'n rhannu ychydig o nodweddion gyda'ch rhieni. Mae sefyllfa'r byd go iawn yn weddol debyg i etifeddiaeth hefyd.
Fodd bynnag, yn yr achos hwn, mae nodweddion y “dosbarthiadau rhieni” yn cael eu trosglwyddo i'r “dosbarthiadau plant.” Cyfeirir at yr agweddau hyn fel “eiddo” a “dulliau” yn y cyd-destun hwn.
Gall dosbarth ddeillio ei ddulliau a'i briodoleddau o ddosbarth arall trwy ddefnyddio'r dechneg a elwir yn etifeddiaeth. Etifeddiaeth yw'r broses o ddosbarth plentyn yn derbyn priodweddau dosbarth rhiant.
enghraifft:
Mae'r dosbarth rhiant Dynol yn cael ei etifeddu gan y dosbarth plentyn Bachgen yn yr enghraifft uchod. Gan fod Boy yn etifeddu oddi wrth Human, gallwn gyrchu ei holl ddulliau a nodweddion pan fyddwn yn creu enghraifft o'r dosbarth Boy.
Yn y dosbarth Bachgen, mae dull o'r enw ysgolName hefyd wedi'i ddiffinio. Nid yw gwrthrych y dosbarth rhiant yn gallu cyrchu'r dull schoolName . Fodd bynnag, gellir galw'r dull ysgolName trwy greu gwrthrych dosbarth plentyn (Bachgen).
Cynhwysiad
Nid yw rhoi mynediad byd-eang i bob newidyn yn y rhaglen yn gam doeth wrth weithio gyda dosbarthiadau a thrin data sensitif.
Heb roi mynediad cyflawn i'r rhaglen i unrhyw un o'r newidynnau hynny, mae amgáu yn darparu mecanwaith i ni gael y newidynnau angenrheidiol.
Gellir defnyddio dulliau a ddiffinnir yn benodol at y diben i ddiweddaru, golygu, neu ddileu data o newidynnau. Mae gan y dull hwn o raglennu fanteision gwell diogelwch a rheolaeth dros y mewnbwn data.
Gweler pa mor gyflym y gall newidynnau fod yn hygyrch yn yr arddangosiad isod:
Amryffurfiaeth
Gadewch i ni ddweud eich bod yn defnyddio eich ffôn i bori drwy'r Mae Instagram yn bwydo. Pan gawsoch yr ysfa i wrando ar gerddoriaeth, fe wnaethoch chi gyrchu Spotify a dechrau chwarae'ch hoff gân.
Ar ôl amser, fe gawsoch chi alwad, felly fe wnaethoch chi oedi beth bynnag roeddech chi'n ei wneud yn y cefndir i'w ateb. Galwodd eich ffrind a gofyn i chi anfon neges destun at rif ffôn rhywun penodol.
Felly fe wnaethoch chi anfon y rhif ffôn ato trwy SMS a pharhau â'ch tasgau. Ydych chi wedi sylwi ar unrhyw beth? Gydag un ddyfais yn unig - eich ffôn symudol - fe allech chi syrffio trwy ffrydiau, gwrando ar gerddoriaeth, cymryd a gwneud galwadau ffôn, a neges.
Felly, mae polymorphism yn debyg i hynny. Mae poly yn golygu niferus, ac mae morph yn dynodi gwahanol ffurfiau. Felly, mae polymorphism yn ei gyfanrwydd yn cyfeirio at rywbeth â ffurfiau amrywiol.
Neu “rywbeth” a all, yn dibynnu ar yr amgylchiadau, arddangos amrywiaeth o ymddygiadau. Yn OOPS, mae amryffurfiaeth yn disgrifio swyddogaethau gyda'r un enwau ond ymddygiadau gwahanol. Fel arall, llofnod ffwythiant gwahanol gyda'r un enw ffwythiant (paramedrau a drosglwyddir i'r ffwythiant).
enghraifft:
Yma, gallwn ddefnyddio'r anifail newidiol i ailadrodd ar draws gwrthrychau'r Sebra a'r Gwningen, gan ddefnyddio eu dulliau enghraifft priodol. O ganlyniad, mae ymddygiad (lliw() a bwyta()) y Sebra a'r Gwningen yn cael eu cynrychioli yma gan un newidyn o'r enw anifail. Felly mae'n cadw at y rheolau amryffurfiaeth.
Tynnu
Mae'n debyg eich bod chi'n defnyddio gliniadur, ffôn, neu lechen i ddarllen y cynnwys hwn. Wrth ei ddarllen, mae'n debyg eich bod hefyd yn cymryd nodiadau, yn tanlinellu darnau allweddol, ac efallai'n storio rhywfaint o wybodaeth yn eich ffeiliau personol.
Y cyfan y gallwch chi ei weld pan fyddwch chi'n darllen hwn yw “sgrin” gyda'r data sy'n cael ei arddangos i chi. Rydych chi'n gweld allweddi'r bysellfwrdd wrth i chi deipio, felly does dim rhaid i chi boeni am gynildeb mewnol fel sut y gall gwthio allwedd achosi i'r gair hwnnw ymddangos ar y sgrin.
Fel arall, sut y gall pwyso botwm ar eich sgrin lansio tab newydd.
Felly, mae beth bynnag y gallwn ei arsylwi yn y sefyllfa hon yn haniaethol. Dim ond y canlyniad y mae'n ei greu y gallwn ei weld ac nid y cymhlethdodau mewnol (sy'n bwysig i ni mewn gwirionedd).
Yn debyg i hyn, nid yw tynnu ond yn datgelu'r swyddogaethau sydd gan bopeth wrth guddio unrhyw weithrediadau neu fanylion mewnol.
Prif amcan Abstraction yw celu gwybodaeth gefndir ac unrhyw weithrediad data allanol fel mai dim ond yr hyn sydd angen iddynt ei weld y mae pobl yn ei weld. Mae'n helpu i reoli cymhlethdod y cod.
enghraifft:
Mae dosbarth haniaethol cysylltiedig â cherbydau yn bresennol yma. Oherwydd ei fod yn etifeddu o'r dosbarth haniaethol ABC, mae'n haniaethol. Oherwydd nad yw dulliau haniaethol wedi'u diffinio nac yn aros yn wag, mae gan y Dosbarth Cerbyd ddull haniaethol o'r enw dim olwynion sydd heb ddiffiniad.
Rhagwelant y dosbarthiadau a etifeddant y dosbarthiadau haniaethol i roddi gweithrediad y dull.
Manteision cysyniadau OOPS
- Trwy grynhoi, sicrheir diogelwch uchel a phreifatrwydd data.
- Hyblygrwydd o ran cael llawer o fersiynau polymorffig o'r un dosbarth.
- Lleihawyd lefel uchel cymhlethdod y cod yn sgil tynnu.
- Yn hytrach na sifftio trwy gannoedd o linellau o god i ddod o hyd i un broblem, mae modiwlaredd rhaglennu yn gwneud dadfygio yn syml.
- Mae ailddefnyddio cod yn cael ei achosi gan ddosbarth plentyn yn etifeddu eiddo dosbarth rhiant.
- Mae datrys problemau yn effeithiol yn bosibl oherwydd ein bod yn creu dosbarthiadau sy'n gwneud y camau angenrheidiol ar gyfer pob problem fach. Gellir datrys y broblem ganlynol hyd yn oed yn gyflymach oherwydd gallwn ailddefnyddio'r dosbarthiadau hynny.
Casgliad
I gloi, fe wnaethon ni ddysgu am syniadau OOPS yn Python, y patrwm rhaglennu poethaf ar hyn o bryd.
Ar ôl darllen hwn, mae'n rhaid eich bod wedi sylweddoli bod y patrwm OOPS yn delio'n llwyr â'r syniad o ddosbarthiadau a gwrthrychau. a chysyniadau OOPS megis amgáu, amryffurfedd, etifeddiaeth, a thynnu.
Gadael ymateb