Cuprins
Unul dintre cele mai importante lucruri care ne ajută să ne definim aplicația este utilizarea claselor, deoarece cu ele putem defini obiecte modelate din viața reală și trecerea lor în lumea digitală devine mult mai ușoară.În CoffeeScript construirea unei clase și instanțierea acesteia este foarte simplă, de fapt sintaxa sa este atât de minimalistă încât ne este foarte ușor să o amintim, făcând în schimb o definiție a claselor direct în JavaScript Este ceva puțin mai greoi și ne poate dura mai mult decât ne așteptam.
CerințePentru a finaliza acest tutorial trebuie să avem o instalare funcțională de CoffeeScript, avem nevoie și de permisiuni pentru a scrie fișiere și a le executa CoffeeScript pe computerul pe care facem tutorialul. Avem nevoie de un editor de text pentru a putea scrie codul pe care urmează să îl realizăm, astfel încât să avem ceva persistent și nu totul în consolă.
O clasă nu este altceva decât un nume și unele proprietăți care definesc comportamentul acesteia, pe baza conceptului în care putem defini o clasă CoffeeScript după cum urmează:
clasa StudentAsta este tot ce trebuie să facem, într-un mod simplu, am construit deja prima noastră clasă CoffeeScriptCe se întâmplă acum dacă vrem să includem o proprietate pentru a o putea folosi, pentru că facem o instanță și adăugăm acea proprietate, să vedem:
student = student nou () student.name = "Carolina"Acum să vedem cum în imaginea următoare ca CoffeeScript transformă tot codul nostru în JavaScript pur atunci când compilați, să ne amintim de comanda pentru aceasta care ar fi cafea -c fișier.cafe:
Unul dintre lucrurile care sunt cele mai utilizate în Programare orientată pe obiecte este de a adăuga metode la clase, deoarece acestea, pe lângă proprietăți, ne vor oferi o idee despre ceea ce poate sau nu poate face obiectul nostru, de exemplu dacă continuăm cu Clasa elevilor Putem crea o metodă în care obiectul său exprimă un mesaj, să vedem cum să-l realizăm:
clasa Student vorbește: -> console.log "Hello World!"Dacă creăm un obiect din aceeași clasă, am putea folosi deja aceeași metodă. De exemplu:
student = new Studentstudent.talk ()Cu aceasta ne asigurăm că metoda noastră poate fi utilizată de mai multe ori, atâta timp cât facem mai multe instanțe, ceea ce conferă codului nostru una dintre caracteristicile orientării obiectului, care este reutilizare. Acum vom redefini codul nostru, astfel încât acesta să accepte argumente, cu aceasta putem face mult mai mult decât o simplă imprimare prin consolă, să vedem:
clasă Discuție cu elevii: (nume) -> console.log „Bună ziua # {nume}!” student = new Studentstudent.talk („Carolina”)Să vedem cum toate acestea se traduc în cod JavaScript când compilăm:
Pentru a manipula o proprietate din interior CoffeeScript trebuie doar să folosim @ operator urmat de numele proprietății de utilizat, care poate fi codată după cum urmează:
clasa Student speak: () -> console.log „Hello # {@ name}!” student = new Student () student.name = student „Carolina”. speak ()Să vedem cum arată acest lucru când rulăm direct în consolă:
Există ocazii în care definiția clasei noastre ne conduce la crearea de metode care trebuie apelate în cadrul altora, asta pentru a realiza o programare mai puțin repetitivă și mai funcțională, să vedem cum o putem face folosind următorul cod scris în CoffeeScript.
clasa Student vorbește: () -> console.log "Bună ziua, numele meu este: # {@ name}!" @knowAge () knowAge: () -> console.log "Vârsta mea este: # {@ age}" student = new Student () student.name = "Vanessa" student.age = „23” student.talk ()Să vedem cum în consolă putem vedea rezultatul executării codului anterior:
Cel mai bun lucru în cazurile în care trebuie să lucrăm cu multe obiecte și multe proprietăți este să putem folosi puterea constructoriCu ele putem da viață obiectului nostru direct fără a fi nevoie să definim diferitele proprietăți într-un mod „manual”. Pentru a defini un constructor, utilizați o structură similară cu următoarea:
clasă Constructor elev: (nume, vârstă) -> @nume = nume @ vârstă = vârstă vorbește: () -> console.log "Bună ziua, numele meu este: # {@ nume}!" @saberEdad () saberEdad: () -> console.log "Vârsta mea este: # {@ age}"Dacă ne uităm la definiția clasei, constructorul nu este altceva decât o metodă, interesant este că atunci când este numită constructor deja CoffeeScript știe că este o metodă specială pentru clasa noastră și o va trata ca atare, de aceea, atunci când vom crea instanțele clasei noastre, nu trebuie să o numim în mod explicit. Să vedem un exemplu despre cum ne putem defini acum obiectele:
student = student nou („Carolina”, „26”) student.speaking ()Vedem că nu a trebuit să definim proprietatea Nume nici proprietatea vârstă, pur și simplu transmitem valorile către constructor în ordinea în care le definim în clasa noastră și face restul lucrului pentru noi. Desigur, acest exemplu este foarte simplist, dar să ne imaginăm că trebuie să instanțiem sute de obiecte cu valori care provin dintr-o sursă de persistență, cum ar fi o bază de date.
Să vedem în imaginea următoare cum arată noul nostru cod odată ce a fost compilat și tradus JavaScript pur:
Unul dintre avantajele lucrului cu programarea orientată pe obiecte este că putem face moştenire de clase, aceasta înseamnă a putea crea clase noi și a lua funcționalitatea claselor părinţi, cu aceasta reducem numărul de elemente pe care trebuie să le creăm de la zero, deoarece atunci când moștenim luăm toate metodele și proprietățile clasei părinte, în clasa copil sau noua clasă trebuie doar să definim metodele și proprietățile care sunt exclusive pentru acesta.
Poate că pentru cei care încep să programeze acest concept este un pic confuz sau complex, totuși, uitându-ne la următorul exemplu, cu siguranță vom fi puțin mai clari cu privire la ceea ce putem realiza.
clasă Persoană de știut Vârstă: () -> console.log „Vârsta mea este: # {@ age}” clasă Studentul extinde persoana să vorbească: () -> console.log „Bună ziua # {@ nume}!” student = new Student () student.age = "30" student.name = "Jon" student.knowAge ()Analizând vedem cum avem o clasă Persoană iar aceasta are o metodă knowAge () cu care imprimăm prin consolă vârsta instanței, la crearea clasei Student îi spunem că moștenește din Persoană deci implicit noua noastră clasă are deja metoda knowAge () chiar dacă nu este definit în clasă.
Să vedem în imaginea următoare cum arată noul nostru cod odată ce a fost compilat și tradus JavaScript pur:
Cu aceasta am terminat acest tutorial, pe măsură ce vedem lumea claselor în CoffeeScript Nu este atât de complex pe cât părea la prima vedere, totul constă în cunoașterea fundamentelor și filozofiei programării orientate pe obiecte. Ce putem asigura este că utilizarea CoffeeScript ca limbă, face complexitatea utilizării orelor în JavaScript scade considerabil, deoarece sintaxa sa este mult mai apropiată de limbi precum Piton sau Rubin îl fac mult mai elegant și mai puțin confuz atunci când citiți codul dezvoltat.V-a plăcut și ați ajutat acest tutorial?Puteți recompensa autorul apăsând acest buton pentru a-i oferi un punct pozitiv