Clàr-innse[Falaich][Seall]
Anns an òraid seo, ionnsaichidh sinn mu chlasaichean, luchd-togail agus dìleab ann am python.
Tha na bun-bheachdan sin fìor chudromach ann am prògram mòr far a bheil feum air diofar sheòrsachan a mhìneachadh.
clasaichean
Tha clasaichean deatamach ann am prògramadh agus chan eil iad sònraichte do python. Mòran eile cànanan prògramaidh cuir taic ri bun-bheachd nan clasaichean. Bidh sinn a’ cleachdadh chlasaichean gus seòrsaichean dàta ùra a mhìneachadh.
Gu ruige seo, tha sinn air ionnsachadh mu na seòrsaichean dàta bunaiteach ann am Python leithid àireamhan, sreangan, agus booleans. Is iad seo na seòrsaichean dàta bunaiteach no sìmplidh ann am Python. Tha sinn cuideachd air seòrsa no dhà de dhàta iom-fhillte fhaicinn leithid liostaichean agus faclairean.
Ged a tha na seòrsaichean sin air leth feumail, chan urrainn dhaibh an-còmhnaidh a bhith air an cleachdadh airson bun-bheachdan iom-fhillte a mhodail. Mar eisimpleir, smaoinich air a’ bheachd air puing, no cairt bhùthan. Chan e boolean no liosta a th’ ann an cairt bhùthan. Is e seòrsa eadar-dhealaichte de dhàta a th’ ann. Mar sin is urrainn dhuinn clasaichean a chleachdadh gus seòrsaichean ùra a mhìneachadh gus fìor bhun-bheachdan a mhodaladh.
A-nis, mìnichidh sinn seòrsa dàta ùr ris an canar point. Bidh dòighean-obrach aig an t-seòrsa ùr seo mar a rinn sinn sgrùdadh roimhe.
Seo mar a nì thu e:
Bidh sinn a’ tòiseachadh le bhith a’ mìneachadh clas le bhith a’ cleachdadh am prìomh fhacal “clas” agus dìreach às deidh sin bheir sinn ainm don chlas againn.
class Point
A-nis, thoir sùil air a’ cho-chruinneachadh ainmeachaidh a chleachd mi an seo. Tha mi air a’ chiad litir a chalpachadh an seo, is e seo ris an can sinn co-chruinneachadh ainmeachadh pascal. Tha an co-chruinneachadh seo eadar-dhealaichte bhon fhear a bhios sinn a’ cleachdadh airson ar caochladairean agus ar gnìomhan ainmeachadh far am bi sinn an-còmhnaidh a’ cleachdadh litrichean beaga agus a’ sgaradh iomadh facal le bhith a’ cleachdadh fo-sgrìobhadh. Ach nuair a bhios sinn ag ainmeachadh chlasaichean, cha bhith sinn a’ cleachdadh fo-scòr airson iomadh facal a sgaradh an àite sin, bidh sinn a’ gabhail brath air a’ chiad litir de gach facal.
Às deidh dhuinn ar clas a mhìneachadh, thèid coloin a chleachdadh a tha a’ ciallachadh gu bheil bloc a-nis air a mhìneachadh.
class Point:
def move (self):
Anns a 'bhloc seo, is urrainn dhuinn a h-uile gnìomh no modh a bhuineas do phuingean a mhìneachadh. Mar eisimpleir, is urrainn dhuinn gnìomh ris an canar “gluasad” a mhìneachadh airson puing a ghluasad. Thoir an aire, cho luath ‘s a sgrìobhas sinn bragan fosgailte, gun cuir PyCharm “fèin” an seo gu fèin-ghluasadach. Is e prìomh fhacal sònraichte a tha seo agus leig dhomh faighinn air ais gu seo a dh’ aithghearr. Clò-bhuail sinn “gluasad” air an inneal-crìochnachaidh.
print("move")
Mìnichidh sinn dòigh eile mar “draw” agus clò-bhuail e air an inneal-crìochnachaidh.
def draw(self):
print("draw")
Tha sinn deiseil leis a’ mhìneachadh air a’ chlas “puing” againn. Leis an t-seòrsa ùr seo, is urrainn dhuinn stuthan ùra a chruthachadh. Tha clas dìreach a’ mìneachadh a’ phlana no an teamplaid airson nithean a chruthachadh a tha nan suidheachadh fhèin stèidhichte air a’ phlana sin. Gus nì a chruthachadh, bidh sinn a’ sgrìobhadh ainm a’ chlas againn agus an uairsin ga ghairm dìreach mar ghnìomh. Bidh seo a 'cruthachadh rud ùr agus an uairsin ga thilleadh. An uairsin is urrainn dhuinn an rud sin a stòradh ann an caochladair. Leig dhomh sealltainn dhut:
An seo tha sinn air “puing1” a mhìneachadh a tha na phuing trì-thaobhach. Chì thu sin, is urrainn dhuinn co-chomharran fa leth a chlò-bhualadh air an inneal-crìochnachaidh.
Faodaidh sinn an dà dhòigh “tarraing” agus “gluasad” a chleachdadh leis a’ phuing seo.
Mar sin airson ath-chuairteachadh, bidh sinn a’ cleachdadh chlasaichean gus seòrsaichean ùra a mhìneachadh agus faodaidh dòighean a bhith aig na seòrsaichean sin a mhìnicheas sinn ann am bodhaig a’ chlas. Faodaidh buadhan a bhith aig clasaichean as urrainn dhuinn a shuidheachadh an àite sam bith nar prògraman.
Luchd-togail
Gu ruige seo, tha sinn air ionnsachadh mar a chruthaicheas tu seòrsaichean ùra a 'cleachdadh chlasaichean. A-nis tha duilgheadas beag ann leis a’ bhuileachadh seo. Is urrainn dhuinn rud puing a chruthachadh gun cho-chomharran x no y a’ cleachdadh chlasaichean agus chan eil sin air leth freagarrach. Leig dhomh sealltainn dhut.
Cruthaichidh sinn puing agus clò-bhuail sinn e mus suidhich sinn an co-chomharran x. Le bhith a’ ruith ar prògram thig mearachd buadhach mar seo:
Tha e a’ ciallachadh nach eil feart aig an nì puing ris an canar x. A-nis is e an duilgheadas a th’ ann gu bheil e comasach nì puing a bhith agad às aonais co-chomharran x no y. Chan eil seo a’ dèanamh ciall oir nuair a bhios sinn a’ bruidhinn air puing, feumaidh fios a bhith againn càite a bheil a’ phuing sin suidhichte. Gus fuasgladh fhaighinn air an duilgheadas seo, bidh sinn a 'cleachdadh constructor. Is e gnìomh a th’ ann an neach-togail a thèid a ghairm aig àm cruthachadh nì.
Seo mar a chleachdas sinn constructor. An toiseach, leig dhuinn seachad na luachan co-chomharran x agus y sa phrògram gu h-àrd.
point = Point(10, 20)
print(point.x)
A-nis, feumaidh sinn dòigh sònraichte a chur ris a 'chlas seo ris an canar constructor. Tha a cho-chòrdadh mar seo:
def __init__(self, x, y):
init
tha e goirid airson a thòiseachadh, agus is e seo an gnìomh no an dòigh a thèid a ghairm nuair a thèid nì puing ùr a chruthachadh. Tha an x agus y air an cur ris dìreach às deidh sin self
gus dà pharamadair a bharrachd a chur ris.
Às deidh sin, bu chòir dhuinn an x agus y a mhapadh gu na luachan a chaidh seachad ie 10 agus 20
self.x = x
self.y = y
Cleachdaidh sinn an self
airson iomradh a thoirt air an nì làithreach agus an uairsin shuidhich sinn am feart x don argamaid x a chaidh a thoirt don ghnìomh “x”. San dòigh seo, a 'cleachdadh init
modh, is urrainn dhuinn ar nithean a thòiseachadh. Canar constructor ris an dòigh seo. Feuch an ruith sinn ar prògram.
A-nis, is urrainn dhuinn na co-chomharran x agus y atharrachadh nas fhaide air adhart. Nach ùraich sinn x co-òrdanachadh:
point = Point(10, 20)
point.x = 11
print(point.x)
A-nis, tha an co-chomharran x air ùrachadh gu luach 11.
eacarsaich
Seo eacarsaich inntinneach dhut.
Tha mi airson gum bi thu a’ mìneachadh seòrsa ùr ris an canar neach. Bu chòir gum biodh “ “name
"feart a bharrachd air"talk()
”Modh.
Is e obair shìmplidh a th’ ann agus cha bu chòir dha barrachd air mionaid no dhà a thoirt.
Solution
Tòisich le bhith a’ mìneachadh a’ chlas “Duine” mar seo:
class Person:
self.name = name
Mìnichidh sinn an neach-togail nas fhaide air adhart. A-nis, is urrainn dhuinn an rud “Duine” a chruthachadh. Canaidh sinn Iain ris
john = Person("John Smith")
print(john.name)
john.talk()
A-nis, rachaibh air adhart chun chiad phàirt den chòd agus cruthaich neach-togail.
def __init__(self, name):
Bidh an còd deireannach a’ coimhead mar seo:
Faodaidh tu cuideachd teudan cruthte agus bun-bheachdan eile a chleachdadh ann an co-bhonn ri clasaichean agus luchd-togail.
oighreachd
Tha oighreachd na bhun-bheachd eile co-cheangailte ri clasaichean a leigeas leat còd ath-chleachdadh.
Beachdaich air a 'phìos còd seo.
class Dog:
def walk(self):
print("walk")
Tha sinn air clas “Cù” a chruthachadh le dòigh “coiseachd”. San dòigh seo, tha sinn dìreach a’ clò-bhualadh an teachdaireachd coiseachd air a’ cheann-uidhe. Canaidh sinn, ann am prògram fìor, Tha 10 loidhnichean de chòd an àite dìreach aon loidhne an seo. Anns an àm ri teachd, ma tha feum air clas eile airson an dòigh “coiseachd”, feumaidh sinn an còd sin gu lèir ath-aithris. Chan eil seo air leth freagarrach.
Ann am prògramadh, tha prionnsapal againn ris an canar DRY a tha goirid airson na dèan thu fhèin a-rithist. Canaidh sinn uaireigin san àm ri teachd, lorgaidh sinn duilgheadas leis an dòigh “coiseachd” againn agus ma tha sinn air an dòigh seo ath-aithris no dùblachadh ann an iomadh àite eile, feumaidh sinn tilleadh agus an duilgheadas sin a chàradh anns a h-uile àite anns an do dhùblaich sinn seo. còd. Mar sin is ann air sgàth sin ann am prògramadh nach bu chòir dhuinn rudeigin a mhìneachadh dà uair.
Tha diofar dhòighean ann airson an duilgheadas seo a cheartachadh ach an seo tha sinn gu bhith ag ionnsachadh an tè a tha nas fhasa do luchd-tòiseachaidh agus canar dìleab ris. Anns a’ chùis seo, cruthaichidh sinn “mamal” clas eile agus mìnichidh sinn ar feart “coiseachd” sa chlas sin.
class Mammal:
def walk(self):
print("walk")
Às deidh dhuinn ar clas “Mamalach” a mhìneachadh is urrainn dhuinn dìleab a chleachdadh gus na buadhan mar seo a thoirt seachad:
Tha an dà chuid na clasaichean cù agus cat a 'sealbhachadh a h-uile modh clas a tha air a mhìneachadh sa chlas pàrant aca. A-nis, is urrainn dhuinn dòighean sònraichte a chuir ri coin mar seo:
class Dog:
def bark(self):
print("bark")
Còmhdaich!
Bha seo uile mu dheidhinn na clasaichean, luchd-togail agus ath-chleachdadh a 'chòd ann an clasaichean le bun-bheachdan oighreachd. A-nis tha sinn faisg air deireadh an t-sreath againn. Ron ìre seo, bu chòir dhut a bhith comasach air còdan math, leughaidh agus pongail a thoirt gu buil ann am Python.
Chì sinn bun-bheachd mhodalan agus phasganan san ath òraid.
Leave a Reply