You are on page 1of 14

Metodat

Afrim Kamberi
● Metodat dhe funksionet

Pika kyce ● Parametrat


Metodat dhe funksionet

Metodat dhe funksionet realizojne nje detyre te caktuar dhe kthejne ose jo nje vlere si rezultat. Ne disa
gjuhe programimi funksionet mund te deklarohen ne cdo pjese te kodit dhe mund te njihen si te tille,
kurse ne C# ato do jene gjithmone brenda nje klase, dhe per pasoje do tu referohemi me emrin Metoda.

Metodat jane shume te vlefshme sepse na ndihmojne ne enkapsulimin e nje funksionaliteti dhe
perdorimin me pas ku te kemi nevoje per te pa rishkruar dhe nje here te gjithe funksionalitetin.
Deklarimi

Percaktimi i metodes behet si me poshte: ● public - aksesi qe kemi mbi ate metode
● int - tipi i kthimit te metodes, mund te
<aksesi> <tip kthimi> <emri>(<parametra>) perdorim void ne rast qe nuk presim nje
{
vlere si rezultat
<kod>
} ● GjejShumen - emri i metodes, per
emertimin e metodave, ndjekim te njejtat
public int GjejShumen(int nr1, int nr2) rregulla si per variablat
{ ● (int nr1, int nr2) - parametrat e metodes,
return nr1 + nr2;
jane opsionale
}
● { … } - realizimi i funksionalitetit
Therritja

GjejShumen(5,7); Pasi kemi bere deklarimin, per te mundesuar


ekzekutimin e metodes duhet te bejme therritjen
int shuma = GjejShumen(8,10); e saj, ne te majte kemi disa raste te ndryshme
therritje.
Console.WriteLine(GjejShumen(7,6));
Mjafton te shenojme emrin e metodes dhe ne
kllapa rrethore vendosim vlerat e parametrave
(nese ka)
Parametrat

● Parametrat e metodave i ndajme ne dy tipe


kryesore
○ Me vlere
○ Me reference
● Parametrat mund ti kemi opsionale
Parametrat me vlere

● Kur bejme therritje te metodes duke kaluar public static void Main(string[]
parametra me vlere, atehere ne memorjen args)
qendrore, krijohet nje kopje e variablit qe {
po i kalojme si vlere dhe mbi ate behen te int nr = 5;
gjitha modifikimet, keshtu qe kur mbaron Shto5(nr);
ekzekutimi i metodes asnje ndryshim mbi Console.WriteLine(nr);
ate variabel nuk eshte ruajtur. }

public void Shto5(int nr)


{
nr = nr + 5;
}
Parametrat me reference

● Kur bejme therritje te metodes duke kaluar public static void Main(string[]
parametra me reference, atehere krijohet args)
reference ne variablin qe po i kalojme si {
parameter metodes dhe mbi ate behen te int nr = 5;
gjitha modifikimet, keshtu qe kur mbaron Shto5(ref nr);
ekzekutimi i metodes cdo ndryshim mbi Console.WriteLine(nr);
ate variabel eshte ruajtur. }

public void Shto5(ref int nr)


{
nr = nr + 5;
}
Parametrat me reference - out
● Kur bejme therritje te metodes duke kaluar
public static void Main(string[]
parametra me reference, atehere krijohet
args)
reference ne variablin qe po i kalojme si
{
parameter metodes dhe mbi ate behen te
int nr = 5;
gjitha modifikimet, keshtu qe kur mbaron
Shto5(out nr);
ekzekutimi i metodes cdo ndryshim mbi
Console.WriteLine(nr);
ate variabel eshte ruajtur, por mund te
}
kemi nevoje qe te bejme ndryshim patjeter
mbi nje parameter, per kete arsye perdorim public void Shto5(out int nr)
fjalen kyce “out”. Kesisoj, ne instruksionet {
e metodes duhet te kemi patjeter nje nr = nr + 5;
instruksion vleredhenie ndaj atij parametri }
Parametrat me reference - in
public static void Main(string[]
● Ndonjehere ne mund te na nevojitet qe nje args)
parameter te perdoret vetem per veprime {
te ndryshme te cilat nuk i ndryshojne int nr = 5;
vleren atij, ne keto raste perdorim fjalen Shto5(in nr);
kyce “in”, ky lloj parametri i shihet rendesia Console.WriteLine(nr);
ne rastet qe duam te bejme nje numer }
shume te larte ekzekutimesh, duke bere
dallimin nga kalimi i parametrave me vlere public void Shto5(in int nr)
qe nuk krijohet nje kopje por kalohet direkt {
referenca mbi nje variabel te caktuar. int nr2 = nr + 5;
Console.WriteLine(nr);
}
Parametrat opsionale

● By default, kur therrasim nje metode me public int GjejShumen(int nr1, int nr2,
nje ose disa parametra, duhet te japim int nr3 = 0)
{
vlerat per cdo parameter qe percaktojme
return nr1 + nr2 + nr3;
ne deklarimin e metodes, megjithate, ka }
disa situata qe neve mund te mos kemi
nevoje jetike per nje parameter te caktuar ● Therritje te vlefshme
ne realizimin e detyres se metodes, ne GjejShumen(1,8); //ne kete rast, kur
te ekzekutohet metoda parametri nr3
keto raste perdorim parametrat opsionale.
do te marre vleren defalut 0 (sipas
Ato shenohen gjithmone pas parametrave percaktimit) meqe nuk eshte vendosur
te detyruar dhe nuk mund te alternohen. gjate therritjes
GjejShumen(2,5,7);
params
public void AfishoEmrat(params string[]
● Mund te kemi nevoje, ne raste te ndryshme emrat)
qe te mos kemi limit ne numrin e {
foreach(var emer in emrat)
parametrave te metodes, ne keto raste
Console.WriteLine(emer);
perdorim fjalen kyce params, mund te }
kemi vetem 1 parameter te ketij lloji ne nje
metode dhe duhet te jete i fundit ne ● Therritje te vlefshme
renditje nese ka parametra te tjere. ○ AfishoEmrat()//nuk afishon
asgje, parametri nje vektor
bosh
○ AfishoEmrat(“Afrim”)//afishon
vetem nje emer
○ AfishoEmrat(“Afrim”,”Dritan”,”B
esnik”) //afishon te 3 emrat
Parametrat e emertuar

● Gjate therritjes se metodave, duhet qe te public int GjejShumen(int nr1, int nr2)
japim vlerat perkatese per cdo parameter {
return nr1 + nr2;
te ndryshem, sipas rradhes qe i kemi
}
renditur gjate deklarimit, ne rast qe duam
te bejme ndryshe atehere gjate therritjes ● Therritje te vlefshme
do perdorim parametrat e emertuar GjejShumen(1,8); //ne kete rast, nr1
= 1 dhe nr2 = 8
GjejShumen(nr2: 2,nr1: 5); // ne
kete rast kemi ndryshuar rradhen e
kalimit te parametrave duke ju dhene
vlerat perkatesisht nr2 = 2 dhe nr1
= 5
Pyetje?
Afrim Kamberi

You might also like