Fizahan-takelaka[Afeno][Aseho]
Amin'ity lahateny ity dia hianatra momba ny kilasy, mpanamboatra ary lova amin'ny python isika.
Ireo foto-kevitra ireo dia tena manan-danja tokoa amin'ny programa lehibe iray izay ilaina hamaritana ireo karazana samihafa.
Classes
Tena ilaina amin'ny fandaharana ny kilasy ary tsy manokana amin'ny python izy ireo. Maro hafa fiteny fandaharana manohana ny hevitry ny kilasy. Mampiasa kilasy izahay hamaritana karazana data vaovao.
Hatreto dia nianatra momba ny karazana data fototra amin'ny Python toy ny isa, tady ary booleans izahay. Ireo no karazana data fototra na tsotra amin'ny Python. Nahita karazana angona sarotra roa toy ny lisitra sy diksionera ihany koa izahay.
Na dia tena ilaina aza ireo karazana ireo, dia tsy azo ampiasaina foana izy ireo mba hamolavola hevitra sarotra. Ohatra, eritrereto ny hevitra momba ny teboka iray, na sarety fiantsenana. Ny sarety fiantsenana dia tsy boolean na lisitra. Karazana angon-drakitra hafa izany. Noho izany dia afaka mampiasa kilasy isika mba hamaritana karazana vaovao hamolavolana hevitra tena izy.
Ankehitriny, andeha hamaritra karazana data vaovao antsoina hoe teboka. Ity karazana vaovao ity dia hanana fomba araka ny nodinihinay teo aloha.
Toy izao no hataonao:
Manomboka amin'ny famaritana kilasy isika amin'ny fampiasana ny teny fanalahidy "kilasy" ary avy eo dia manome anarana ny kilasintsika.
class Point
Ankehitriny, jereo ny fivoriamben'ny anarana nampiasaiko teto. Nataoko renibeny ny litera voalohany teto, io no atao hoe convention de name pascal. Ity fivoriambe ity dia tsy mitovy amin'ilay ampiasaintsika amin'ny fanononana ny fari-pitsipika sy ny asa ataontsika izay ampiasantsika litera kely foana ary manasaraka teny maromaro amin'ny alalan'ny tsipika. Fa rehefa manonona kilasy, dia tsy mampiasa tsipika hanasaraka ny teny maro isika fa ny litera voalohany amin'ny teny tsirairay no ataontsika renibeny.
Rehefa avy namaritra ny kilasy misy antsika, dia ampiasaina ny colon izay midika fa ankehitriny ny sakana iray dia voafaritra.
class Point:
def move (self):
Amin'ity sakana ity, azontsika atao ny mamaritra ny fiasa na fomba rehetra izay an'ny teboka. Ohatra, azontsika atao ny mamaritra ny fiasa antsoina hoe "move" ho an'ny famindrana teboka iray. Mariho fa raha vantany vao manoratra fononteny misokatra isika, dia manampy "tena" ho azy eto ny PyCharm. Teny fanalahidy manokana ity ary avelao aho hiverina amin'ity fotoana fohy ity. Andao hanonta "move" eo amin'ny terminal.
print("move")
Andeha isika hamaritra fomba iray hafa toy ny "sary" ary manonta izany eo amin'ny terminal.
def draw(self):
print("draw")
Tapitra ny famaritana ny kilasy "point" anay. Amin'ity karazana vaovao ity dia afaka mamorona zavatra vaovao isika. Ny kilasy iray dia mamaritra tsotra izao ny drafitra na ny môdely amin'ny famoronana zavatra izay tena ohatra mifototra amin'io drafitra io. Mba hamoronana zavatra iray dia soraty ny anaran'ny kilasintsika ary avy eo miantso azy ho toy ny asa. Mamorona zavatra vaovao izany ary mamerina azy avy eo. Avy eo dia afaka mitahiry an'io zavatra io ao anaty faribolana isika. Ao fa asehoko anao:
Eto isika dia namaritra "point1" izay teboka telo dimanjato. Hitanao izany, afaka manonta koordinate tsirairay amin'ny terminal izahay.
Azontsika atao ny mampiasa ny fomba roa "misintona" sy "mihetsiketsika" amin'ity teboka ity.
Ka raha hamerenana dia mampiasa kilasy izahay hamaritana karazana vaovao ary ireo karazana ireo dia mety manana fomba izay faritanay ao amin'ny vatan'ny kilasy. Ny kilasy dia mety manana toetra izay azontsika apetraka na aiza na aiza ao amin'ny programantsika.
Mpanamboatra
Hatreto dia nianatra namorona karazana vaovao amin'ny fampiasana kilasy izahay. Ankehitriny dia misy olana kely amin'ity fampiharana ity. Afaka mamorona zavatra teboka tsy misy x na y mampiasa kilasy isika ary tsy mety izany. Ao fa asehoko anao.
Andao hamorona teboka ary manonta azy alohan'ny hametrahana ny x coordinate. Ny fampandehanana ny programantsika dia miteraka hadisoana toetra toy izao:
Midika izany fa tsy manana toetra antsoina hoe x ny teboka teboka. Ankehitriny ny olana dia azo atao ny manana teboka teboka tsy misy koordinate x na y. Tsy mitombina izany satria isaky ny miresaka teboka iray isika dia mila mahafantatra hoe aiza no misy io teboka io. Mba hamahana ity olana ity dia mampiasa constructor izahay. Ny constructor dia fiasa izay antsoina amin'ny fotoana hamoronana zavatra iray.
Toy izao ny fomba ampiasantsika constructor. Voalohany, andeha hojerentsika ny soatoavina x sy y ao amin'ny programa etsy ambony.
point = Point(10, 20)
print(point.x)
Ankehitriny, mila manampy fomba manokana amin'ity kilasy antsoina hoe constructor ity isika. Ny syntax dia toy izao:
def __init__(self, x, y):
init
dia fohy ho an'ny fanombohana, ary ity no fiasa na fomba antsoina rehefa misy teboka vaovao noforonina. Ny x sy y dia ampiana avy hatrany self
hanampy masontsivana roa fanampiny.
Aorian'izay dia tokony ho sarintany ny x sy y amin'ny sanda efa lasa ie 10 sy 20
self.x = x
self.y = y
Mampiasa an'io izahay self
mba hanondroana ny zavatra ankehitriny ary avy eo dia mametraka ny toetra x amin'ny tohan-kevitra x izay nandalo tamin'ny fiasa "x". Amin'izany fomba izany, mampiasa init
fomba, dia afaka manomboka ny zavatra. Ity fomba ity dia antsoina hoe constructor. Andao hanatanteraka ny fandaharantsika.
Ankehitriny, afaka manova ny koordinate x sy y isika any aoriana. Andao hanavao ny x coordinate:
point = Point(10, 20)
point.x = 11
print(point.x)
Ankehitriny, ny fandrindrana x dia nohavaozina ho sanda 11.
fanatanjahan-tena
Ity misy fanazaran-tena mahaliana ho anao.
Tiako ianao hamaritra karazana vaovao antsoina hoe olona. Ireo zavatra "Olona" ireo dia tokony hanana "name
"attribute ary koa"talk()
”Fomba.
Asa tsotra izany ary tsy tokony hihoatra ny roa minitra.
vahaolana
Atombohy amin'ny famaritana ny kilasy "Olona" toy izao:
class Person:
self.name = name
Hofaritantsika ny constructor any aoriana. Ankehitriny, afaka mamorona ny zavatra "Olona" isika. Aleo atao hoe Jaona
john = Person("John Smith")
print(john.name)
john.talk()
Ankehitriny, mandehana any amin'ny ampahany voalohany amin'ny kaody ary mamorona constructor.
def __init__(self, name):
Ny code farany dia ho toy izao:
Azonao atao koa ny mampiasa tady voalamina sy hevitra hafa miaraka amin'ny kilasy sy mpanamboatra.
lova
Ny lova dia hevitra iray hafa mifandray amin'ny kilasy mamela anao hampiasa indray ny kaody.
Diniho ity sombin-kaody ity.
class Dog:
def walk(self):
print("walk")
Namorona kilasy "Alika" misy fomba "mandeha". Amin'ity fomba ity dia manonta fotsiny ny hafatra mandeha amin'ny terminal izahay. Andeha atao hoe, amin'ny programa tena izy, misy andalana 10 kaody fa tsy andalana iray fotsiny eto. Amin'ny ho avy, raha mila kilasy hafa ny fomba "mandeha", dia tsy maintsy mamerina izany fehezan-dalàna rehetra izany isika. Tsy idealy izany.
Ao amin'ny fandaharana dia manana fitsipika antsoina hoe DRY izay fanafohezana ny hoe aza mamerina ny tenanao. Andao atao hoe any aoriana any, mahita olana amin'ny fomba "mandeha" ataontsika isika ary raha naverintsika na naverintsika io fomba io tany amin'ny toerana maro hafa, dia tsy maintsy miverina indray isika ary handamina izany olana izany any amin'ny toerana rehetra nanamboaranay an'ity. code. Ka izay no antony tsy tokony hamaritana zavatra indroa amin'ny fandaharana.
Samihafa ny fomba famahana io olana io fa eto isika dia hianatra ilay mora kokoa ho an'ny vao manomboka dia ny hoe lova. Amin'ity tranga ity, hamorona kilasy iray hafa "mammaly" isika ary hamaritra ny toetrantsika "mandeha" ao amin'io kilasy io.
class Mammal:
def walk(self):
print("walk")
Aorian'ny famaritana ny kilasy "Mammal" dia afaka mampiasa lova isika mba handefasana ireo toetra toy izao:
Na ny kilasin'ny alika sy ny saka dia samy mandova ny fomba rehetra voafaritra ao amin'ny kilasin'ny ray aman-dreniny. Ankehitriny, afaka manampy fomba manokana ho an'ny alika toy izao isika:
class Dog:
def bark(self):
print("bark")
Fonosy!
Izany rehetra izany dia momba ny kilasy, ny mpamorona ary ny fampiasana indray ny code amin'ny kilasy misy foto-kevitra lova. Efa manakaiky ny faran'ny andiany isika izao. Amin'izao fotoana izao dia tokony ho afaka mamokatra kaody tsara, mora vakiana ary fohy amin'ny Python ianao.
Ho hitantsika ao amin'ny lahateny manaraka ny foto-kevitry ny modules sy ny fonosana.
Leave a Reply