Showing posts with label funkcije. Show all posts
Showing posts with label funkcije. Show all posts

Tuesday, April 07, 2020

Funkcije u C# programskom jeziku


Prošli put smo učili Nizove u C# programskom jeziku, dok ćemo danas učiti još jednu interesantnu i korisnu stvar; funkcije. Bez obzira da li ste početnik u programiranju i bez obzira da li ste do sada učili funkcije u C# programskom jeziku, definitivno ste ih koristili čak i u vašem prvom C# programu. Funkcije predstavljaju jednu izdvojenu celinu naredbi koji izvršavaju neki zadatak. Funkcije pravite kada imate potrebu da deo koda izdvojite i stavite u jednu celinu ili kad imate potrebu da jedan deo koda više puta koristite u programu. Jednostavnije je da pišete samo jednom kod i da ga pozovete kad god vam treba nego da pišete isti kod. Na primer imate funkciju koja latinična slova konvertuje na ćirilična slova. Kad god hoćete da nešto napišete na ćirilici samo pozovete funkciju koja to radi. Isto tako na primer; kad imate neku grešku, ispravljate je samo na jednom mestu u funkciji a ne sto puta u celom kodu. Funkcije često nazivaju metodama, što one i jesu. Ali mnogo programera danas meša pojam metode sa funkcijama jer postoji razlika. Metode nisu samo funkcije, već predstavljaju i druge članove klase i strukture koji ne predstavljaju podatke. Znači metode su i indekseri, operatori, konstruktori i destruktori. Čak i svojstva se ponekad smatraju metodama, ali treba znati da svojstva imaju samo karakteristike metoda i atributa, ali svojstva nisu ni metode ni atributi. Ovo je bitno da znate najviše radi testova koji se polažu za Microsoft sertifikate. I pored toga što su funkcije u C# programskom jeziku slične funkcijama u C i C++ programskom jeziku, funkcije u C++ programskom jeziku možete pogledati ovde; one se takođe razlikuju. C# programski jezik ne podržava globalne metode. Svaku funkciju morate pisati unutar klase. U C# programskom jeziku nije moguće koristiti blokove za grupisanje modifikatora poput public ili private već se u C# programskom jeziku funkcije ali i ostale metode moraju deklarisati sa modifikatorima. Modifiers - modifikatori vam određuju rang delovanja promenjive, funkcije, strukture, metode i klase na nivou celog Solution – rešenja. Osnovni modifikatori pristupa su:
  •          Public – javan, bez restrikcija.
  •      Protected Internal – limitiran na program, klasu i izvedene klase
  •          Internal – limitiran na program i klasu
  •          Protected – limitiran na klasu i izvedene klase.
  •          Private – limitiran samo na klasu

Pored navedeni modifikatora obavezno trebate obratiti pažnju i na ključnu reč: 
  • static – omogućava da nam nije potrebno da instaciramo klasu kako bi smo pristupili članu klase

Postoje i drugi modifikatori kojima pravimo anonimne ili asinhronizovane funkcije ali o njima će biti posebno pisano u narednim postovima. 
  

( Funkcije mogu da vraćaju i ne vraćaju vrednost )

C# programskom jeziku imate jednu specijalnu funkciju, funkcije koje ne vraćaju vrednost i funkcije koje vraćaju vrednost. Svaka od njih može uzimati argumente. Specijalna funkcija ili funkcija koju poznajete kao Main() funkcija se koristi kao startna pozicija svakog programa. Može postojati samo jedna funkcija Main() u jednoj klasi ali u drugačijem imenskom prostoru.

static void Main(string[] args) {}

Ako bi ste napravili neku klasu u istom inenskom prozoru i u njoj navedenu funkciju dobili bi ste grešku:
  • Program has more than one entry point defined. Compile with /main to specify the type that contains the entry point.

Zato možete imati na primer više formi u projektu gde svaka forma ima svoju Main() funkciju, ali to je zato što svaka forma ima drugačiji imenski prostor. Takođe vidimo da Main() funkcija prihvata argumente u args niz tipa string. I takođe vidimo ključnu reč void koja nam potvrđuje da navedena funkcija ne vraća nikakvu vrednost, već se program završava kad se funkcija izvrši do kraja. Ovu funkciju nikad ne trebate menjati i posebno ne trebate da pravite neku svoju.

Funkcije koje ne vraćaju vrednost

Thursday, December 03, 2015

Funkcije u C# programskom jeziku


Funkcije predstavljaju izdvojeni celoviti skup naredbi koji izvršavaju određeni zadatak. Kad god imate veliki zadatak i imate potrebu da ga podelite u manje celine, ili jednostavno kad jedan dio koda hoćete više puta da izvršavate u kodu, onda pravite funkciju. Danas da radite na bilo kojem projektu bez funkcija je nezamislivo. Zamislite da u vašem programu hoćete da na više mesta pretvorite milje u kilometre. Da ne bi ste pisali više puta isti kod, vi će te jednostavno napraviti funkciju koja pretvara milje u kilometre i pozivati funkciju kad god vam treba takvo konvertovanje. U programiranju se isti kod skoro nikad ne piše dva puta i ako dođe do neke greške dovoljno je da ispravite vaš kod jednom u funkciji. Inače, bez funkcija bi ste morali prepravljati kod na svim mestima gde ste pretvarali milje u kilometre, dok veličina koda bi bila mnogostruka.



( Statična funkcija koja vraća vrednost u C# programskom jeziku )

Funkcije često nazivaju metodama, što one i jesu. Ali mnogo programera danas meša pojam metode sa funkcijama jer postoji razlika. Metode nisu samo funkcije, već predstavljaju i druge članove klase i strukture koji ne predstavljaju podatke. Znači metode su i indekseri, operatori, konstruktori i destruktori. Čak i svojstva se ponekad smatraju metodama, ali treba znati da svojstva imaju samo karakteristike metoda i atributa, ali svojstva nisu ni metode ni atributi. Ovo je bitno da znate i radi testova koji se polažu za Microsoft sertifikate. I pored toga što su funkcije u C# programskom jeziku slične funkcijama u C i C++ programskom jeziku, funkcije u C++ programskom jeziku možete pogledati ovde; one se takođe razlikuju. C# programski jezik ne podržava globalne metode. Svaku funkciju morate pisati unutar klase. U C# programskom jeziku nije moguće koristiti blokove za grupisanje modifikatora poput public ili private već se u C# programskom jeziku funkcije ali i ostale metode moraju deklarisati sa modifikatorima. Modifiers - modifikatori vam određuju rang delovanja promenjive, funkcije, strukture, metode i klase na nivou celog Solution – rešenja. Osnovni modifikatori pristupa su:
  • Public – javan, bez restrikcija.
  • Protected Internal – limitiran na program, klasu i izvedene klase
  • Internal – limitiran na program i klasu
  • Protected – limitiran na klasu i izvedene klase.
  • Private – limitiran samo na klasu
Pored navedeni modifikatora obavezno trebate obratiti pažnju i na:
  • Static – omogućava da nam nije potrebno da instaciramo klasu kako bi smo pristupili članu klase
Postoje i drugi modifikatori kojima pravimo anonimne ili asinhronizovane funkcije ali o njima će biti posebno pisano u narednim postovima. Inače, najbitnija podela funkcija je podela na funkcije koje ne vraćaju nikakvu vrednost i funkcije koje vraćaju neku vrednost.

Funkcije koje ne vraćaju vrednost

Thursday, September 24, 2015

Funkcije u C++ programskom jeziku


Funkcije ili kako se još zovu, metode, procedure ili podrutine su najosnovniji gradivni elementi tj. grupa povezanih naredbi koji izvršavaju određeni zadatak koliko god puta vam zatreba. Funkcije su suštinski korak u podeli posla i prosto je nemoguće zamisliti ozbiljan programski projekat bez funkcija. Bez obzira što je objektno orjentisano programiranje skrenulo pažnju sa funkcija na objekte, funkcije ostaju centralna komponenta svakog programa. Najbolje je da funkcije shvatite kao deo programa koji obavljaju određeni zadatak kad god se pozovu u programu. Kad god imate neki deo koda koji se često ponavlja, da ga ne biste pisali više puta, najbolje ga stavite u neku funkciju i onda tu funkciju pozivajte u svom programu onoliko puta koliko vam je potrebno. Vi možete praviti vlastite ili koristiti već napravljene funkcije. U C++ programskom jeziku postoje dve vrste funkcija; funkcija koja vraća neku vrednost i funkcija koja ne vraća vrednost.


( C++ Functions )

Za programere Visual Basic-a bi napomenuo da su u C, C++ i C# programskom jeziku i funkcije i sub procedure jedno; samo funkcije. Razlika je samo u tome da u Visual Basic-u funkcija podrazumeva da se vraća neka vrednost, dok se za funkciju koja ne vraćaju vrednost koristi sub procedura. Svaki C++ program ima bar jednu funkciju main() i ona je glavna funkcija iz koje se mogu pozivati druge funkcije, dok druge funkcije mogu pozivati jedna drugu i čak funkcija može pozivati samu sebe. Takođe funkcije možemo podeliti na korisnički definisane i ugrađene. Ugrađene funkcije su deo paketa vašeg kompajlera i njih obezbeđuje proizvođač.

Kako se pravi i poziva funkcija?