Коришћење часова у ЦоффееСцрипт -у

Преглед садржаја
Једна од најважнијих ствари које нам помажу у дефинирању наше апликације је кориштење класа, јер помоћу њих можемо дефинирати објекте обликоване из стварног живота и њихов прелазак у дигитални свијет постаје много лакши.
Ин ЦоффееСцрипт изградња класе и њено стварање је врло једноставно, заправо је њена синтакса толико минималистичка да нам је врло лако да је запамтимо, уместо да дефинишемо класе директно у ЈаваСцрипт То је нешто мало незгодније и можда ће нам потрајати дуже него што смо очекивали.
ЗахтевиДа бисмо довршили овај водич, морамо имати функционалну инсталацију ЦоффееСцрипт, такође нам требају дозволе за писање датотека и извршавање ЦоффееСцрипт на рачунару на коме радимо водич. Потребан нам је уређивач текста да бисмо могли да напишемо код који ћемо извести тако да имамо нешто постојано, а не све у конзоли.
Класа није ништа друго до назив и нека својства која дефинишу њено понашање, на основу тог концепта у коме можемо дефинисати класу ЦоффееСцрипт као што следи:
 разред Ученик
То је све што треба да урадимо, на једноставан начин већ смо изградили нашу прву класу ЦоффееСцриптШта се дешава ако желимо да укључимо својство да бисмо га могли користити, јер једноставно направимо инстанцу и додамо то својство, да видимо:
 студент = нев Студент () студент.наме = "Царолина"
Сада да видимо како је на следећој слици ЦоффееСцрипт трансформишемо сав наш код у ЈаваСцрипт чисто при компајлирању, сетимо се команде за ово која би била кафа -ц име датотеке.кафа:

Тада примећујемо како синтакса од ЈаваСцрипт пуре је много опсежнији и сложенији од три линије кода у којима смо радили ЦоффееСцрипт, ово је моћ овог језика која нам омогућава да се заиста посветимо нашој апликацији.
Једна од ствари која се највише користи у Објектно оријентисано програмирање је додавање метода у класе, јер ће нам, осим својстава, дати идеју о томе шта наш објекат може или не може учинити, на пример ако наставимо са Студент цласс За њега можемо створити методу у којој његов објекат изражава поруку, да видимо како то постићи:
 разред Ученици говоре: -> цонсоле.лог "Хелло Ворлд!"
Ако тада створимо објекат исте класе, већ бисмо могли користити овај исти метод. На пример:
 студент = нови Студентстудент.талк ()
Тиме осигуравамо да се наша метода може користити више пута, све док направимо неколико инстанци, што нашем коду даје једну од карактеристика оријентације објекта, а то је поновна употреба. Сада ћемо поново дефинисати наш код тако да прихвата аргументе, са овим можемо учинити много више од једноставног штампања по конзоли, да видимо:
 час Разговор ученика: (име) -> цонсоле.лог "Здраво # {име}!" студент = нови Студентстудент.талк ("Каролина")
Хајде да видимо како се све ово преводи у код ЈаваСцрипт када састављамо:

Нешто важно што можемо учинити при конструирању објеката изведених из класа је одржавање њихове вриједности током њиховог живота у нашој апликацији, с тим можемо направити компоненте које могу приступити њиховим својствима путем метода и на тај начин их користити у различитим дијеловима наше апликације.
Да бисте манипулисали имовином у себи ЦоффееСцрипт само морамо да користимо @ оператор иза којег следи име својства за употребу, које се може кодирати на следећи начин:
 разред Студент говори: () -> цонсоле.лог „Здраво # {@ наме}!“ студент = нови Студент () студент.наме = „Каролина“ студент. говори ()
Хајде да видимо како ово изгледа када се покрене директно у конзоли:

Када ово учинимо, да видимо како изгледа наш компајлирани код ЈаваСцрипт чисто:

Разлика у количини кода је изузетна и само ако се уради нешто тако једноставно као што је дефинисање класе методом, а затим се направи инстанца и позове креирана метода.
Постоје ситуације у којима нас дефиниција наше класе доводи до стварања метода које се морају позивати унутар других, а ово како бисмо постигли мање понављајуће и функционалније програмирање, да видимо како то можемо учинити помоћу следећег кода написаног у ЦоффееСцрипт.
 разред Ученици говоре: () -> цонсоле.лог "Здраво, моје име је: # {@ наме}!" @кновАге () кновАге: () -> цонсоле.лог "Моје године су: # {@ аге}" студент = нев Студент () студент.наме = "Ванесса" студент.аге = “23” студент.талк ()
Да видимо како у конзоли можемо видети резултат извршења претходног кода:

До сада смо дефинирали својства објекта након што смо га иницијализирали, иако је то одржива пракса, када морамо створити објекте с много својстава, то може бити тешко одржавати.
Најбоља ствар у случајевима када морамо да радимо са многим објектима и многим својствима је да можемо да искористимо моћ градитељиПомоћу њих можемо дати живот нашем објекту директно без потребе да дефинишемо различита својства на "ручни" начин. Да бисте дефинисали конструктор, користите структуру сличну следећој:
 разред Конструктор ученика: (име, старост) -> @име = име @година = старост говоре: () -> цонсоле.лог "Здраво моје име је: # { @наме}!" @саберЕдад () саберЕдад: () -> цонсоле.лог "Моје године су: # {@ аге}"
Ако погледамо дефиницију класе, конструктор није ништа друго до метода, занимљиво је да када се позове градитељ већ ЦоффееСцрипт зна да је то посебан метод за нашу класу и да ће га третирати као таквог, зато га приликом креирања инстанци наше класе не морамо експлицитно звати. Погледајмо пример како сада можемо да дефинишемо наше објекте:
 студент = нови Студент ("Царолина", "26") студент.спеакинг ()
Видимо да нисмо морали да дефинишемо имовину Име ни имовина старост, ми једноставно прослеђујемо вредности конструктору редоследом којим их дефинишемо у нашој класи и он обавља остатак посла уместо нас. Наравно, овај пример је веома поједностављен, али замислимо да морамо да направимо инстанце стотина објеката са вредностима који долазе из постојаног извора попут базе података.
Погледајмо на следећој слици како изгледа наш нови код након што се преведе и преведе ЈаваСцрипт чисто:

У овом случају то видимо ЈаваСцрипт не користи кључну реч градитељ при конструисању методе коју дефинишемо у ЦоффееСцрипт, у овом тренутку почињемо да видимо на директнији начин разлику између језика, поред онога што смо решили у око 12 или 13 редова кода, у ЈаваСцрипт постати више од 20 линија, нешто што треба узети у обзир приликом израде великих апликација.
Једна од предности рада са објектно оријентисаним програмирањем је та што можемо наслеђе класа, то значи да можете креирати нове класе и преузети функционалност класа родитељима, овим смањујемо број елемената које морамо створити од нуле, будући да приликом насљеђивања узимамо све методе и својства надређене класе, у подређеној класи или новој класи морамо само дефинирати методе и својства која су ексклузивни за њега.
Можда је за оне који тек почињу програмирати овај концепт помало збуњујући или сложен, међутим гледајући сљедећи примјер сигурно ћемо бити мало јаснији о томе шта можемо постићи.
 разред Особа коју треба знати Старост: () -> цонсоле.лог "Моје године су: # {@ аге}" класа Ученик продужава Особу за говор: () -> цонсоле.лог "Здраво # {@ наме}!" студент = ново Студент () студент.аге = "30" студент.наме = "Јон" студент.кновАге ()
Анализирајући видимо како имамо класу Особа а овај има метод кновАге () са којим штампамо помоћу конзоле старост инстанце, при креирању класе Ученик кажемо му да наслеђује од Особа па имплицитно наша нова класа већ има метод кновАге () чак и ако није дефинисано у класи.
Погледајмо на следећој слици како изгледа наш нови код након што се преведе и преведе ЈаваСцрипт чисто:

Тада можемо видети да је наш код ЈаваСцрипт је прилично сложен за дефинисање наслеђа, али када се користи ЦоффееСцрипт његова оптимизација је изузетно велика. Ако видимо услужни програм, замислимо врло сложене класе као компоненте апликације које нам могу дати више функција у нашим новим класама, без потребе за писањем више од специфичног кода који нам заиста треба.
Овим смо завршили овај водич, јер видимо свет часова у ЦоффееСцрипт Није тако сложено како се чинило на први поглед, све лежи у познавању основа и филозофије објектно оријентисаног програмирања. Оно што можемо да уверимо је да је употреба ЦоффееСцрипт као језик, чини сложеност коришћења класа у ЈаваСцрипт знатно пасти јер је његова синтакса много ближа језицима попут Питхон или Руби чине га много елегантнијим и мање збуњујућим при читању развијеног кода.Да ли вам се допао и помогао овај водич?Можете наградити аутора притиском на ово дугме да бисте му дали позитиван поен

Ви ће помоћи развој сајта, дељење страницу са пријатељима

wave wave wave wave wave