Wuu Posted April 9, 2014 Report Share Posted April 9, 2014 Kāda jēga no klaassēm ja tās ir vienas un tās pašas funkcijas. Lasiju internetā, ka viegrāk lasāms, saprotmāks un blablab bla... (Buļa kakas un tas ir stipri subjektīvs jēdziens) Priekšrocības kādas? Būt forši ar skaidru piemēru, kad ar funkciju nevar kaut ko izdarīt, ko var ar klasi. Quote Link to comment Share on other sites More sharing options...
waplet Posted April 9, 2014 Report Share Posted April 9, 2014 (edited) Say whaat? No klasēm var inicializēt objektus, kas ietver sevī gan metodes, gan propertijus, turpretī, funkcijas ir tikai metodes, kurām mainīgie ir tikai savā scope'ā ja vien nav kaut kādi globālie Edited April 9, 2014 by waplet Quote Link to comment Share on other sites More sharing options...
Wuu Posted April 9, 2014 Author Report Share Posted April 9, 2014 (edited) Jautājums, priekškam tev to visu klabatu vilkt līdzi? Nepietiek ar return? Edited April 9, 2014 by Wuu Quote Link to comment Share on other sites More sharing options...
briedis Posted April 9, 2014 Report Share Posted April 9, 2014 Tu tjipa troļļo? Ja tev pietiek ar funkcijā, nu tad lieto funkcijas. Ja tev vajag objektorientētas lietas, vai vismaz kaut kā strukturēt tās pašas funkcijas, tad bez klasēm kaut kā sūdīgi. Quote Link to comment Share on other sites More sharing options...
jurchiks Posted April 9, 2014 Report Share Posted April 9, 2014 (edited) Riktīgs trollis... Viselementārākais piemērs - klase User, kurā ir iekšā gan visādi privāti lauki (name, age, gender, address, phone u.c.), gan getteri, gan setteri (ar visām pārbaudēm), kā arī metodes datu saglabāšanai datubāzē. Edited April 9, 2014 by jurchiks Quote Link to comment Share on other sites More sharing options...
codez Posted April 9, 2014 Report Share Posted April 9, 2014 Funkcijas es principā nelietoju tikai tāpēc, ka katru reizi, kad tu lieto funkciju, iet bojā mazs vienradžu bērniņš. Quote Link to comment Share on other sites More sharing options...
Wuu Posted April 9, 2014 Author Report Share Posted April 9, 2014 Dievs pasarg, stundas divas skatos par PHP opjektu orentētu programēšanu. Nu sit nost neredzu plusus vai nepieciešamību. Tāpēc jau jautāju! Riktīgs trollis...Viselementārākais piemērs - klase User, kurā ir iekšā gan visādi privāti lauki (name, age, gender, address, phone u.c.), gan getteri, gan setteri (ar visām pārbaudēm), kā arī metodes datu saglabāšanai datubāzē. Un parasta funkcijā to nevar izdarīt? Parādi piemēru lūdzu. Quote Link to comment Share on other sites More sharing options...
codez Posted April 9, 2014 Report Share Posted April 9, 2014 Īsumā, ko nevar ar funkcijām: protected, private mainīgie - lai visādi funkciju un globālo lietotāji izmantotu citu veidoto kodu tikai tam paredzētajā veidā. autoload - ļauj automātiski ielādēt klases, kuras nav vēl inklūdotas. magic metodes - piemēram ļauj objektiem apstrādāt mainīgos, kuri nav definēti. interfeisu definēšana - definē abstraktas metodes, kuras rakstot interfeisu ir jādefinē - samazina kļūdu skaitu, jo ar funkcijām tu vienkārši vari neuzrakstīt kādu interfeisa funkcionalitāti. Kaudze OOP paternu, piemēram, Strategy, u.c., kurus ar funkcijām nerealizēsi. Es šeit protams nerunāju par elementāru koda modularitāti un organizētību. Quote Link to comment Share on other sites More sharing options...
daGrevis Posted April 10, 2014 Report Share Posted April 10, 2014 > Ja tev vajag objektorientētas lietas, vai vismaz kaut kā strukturēt tās pašas funkcijas, tad bez klasēm kaut kā sūdīgi. Tu apgalvo, ka nevar struktūrēt parastu programmu bez klasēm un OOP? Pirmais, kas nāk prātā, ir... https://github.com/jgm/pandoc https://github.com/xmonad/xmonad Quote Link to comment Share on other sites More sharing options...
codez Posted April 10, 2014 Report Share Posted April 10, 2014 Tā kā lielākā daļa programmēšanas valodu ir Turing complete, tad jebkurā šādā valodā var izdarīt to pašu, ko var parējās - jautājums - par kādu cenu. Quote Link to comment Share on other sites More sharing options...
Kemito Posted April 10, 2014 Report Share Posted April 10, 2014 (edited) magic metodes - piemēram ļauj objektiem apstrādāt mainīgos, kuri nav definēti But magic is bad :/ Nepietiks jau ar to, ka rakstot OOP, tavs kods būs lasāmāks/pārskatāmāks/saprotamāks? Priekš sevis visu darot jau tīri po, var kaut datus glabāt teksta failos un vēl sazinko. Bet apžēlojies par tām nabaga dvēselēm, kam nāksies to kodu supportēt. Vai tomēr tam cilvēkam ir vajadzība tērēt laiku mācoties un studējot Tavu reliģiju un piederību, lai vispār varētu kodā kaut ko izdarīt? Tā vietā piekopt daudz maz "patternu" ( <-- Ja to tā var nosaukt) un izraut daļu lapu no savas burvestību pārpilnās grāmatas? Nevajag sarežģīt lietas. Edited April 10, 2014 by Kemito Quote Link to comment Share on other sites More sharing options...
codez Posted April 10, 2014 Report Share Posted April 10, 2014 Piemērs, kur magic metodes strādā lieliski - dinamisks(ne strikti iepriekš predefinēts) ORM objects. $user=new User(); $user["name"]="john"; //šeit name ar maģisku metodi tiek pievienots izmainītajiem laukiem, lai pēc tam insert metode zinātu kādu kveriju ģenerēt. name - db tabulas lauks. $user->insert(); Bet, ja runājam par to, kas ir slikts, tad PHP pēc definīcijas nav nekas labs, lai rakstītu lielas, viegli uzturamas, ar maz kļūdām un ātri strādājošas aplikācijas. PHP ir laba prototipēšanai un tur maģija netraucē. Priekš lielām, viegli uzturamām, ātri strādājošam, viegli skeilojamām aplikācijām, par PHP daudz labāka ir Scala. Quote Link to comment Share on other sites More sharing options...
PheliX Posted April 10, 2014 Report Share Posted April 10, 2014 https://en.wikipedia.org/wiki/Functional_programming Quote Link to comment Share on other sites More sharing options...
daGrevis Posted April 10, 2014 Report Share Posted April 10, 2014 Tam džekam ir Clojure logo kā avatars, he must be smart! :D Quote Link to comment Share on other sites More sharing options...
jurchiks Posted April 10, 2014 Report Share Posted April 10, 2014 Ha, mans kolēģis arī te ir reģistrēts... Būtu pie reizes arī ko pamācījies. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.