Download as pdf or txt
Download as pdf or txt
You are on page 1of 24

Universiteti i Prishtins

Fakulteti i Inxhinieris Elektrike dhe Kompjuterike

Algoritmet dhe struktura e t dhnave


Vehbi Neziri

FIEK, Prishtin 2013

Java e 8-t

Klasat

Hyrje

Definimi i klasave t zakonshme

Deklarimi i objekteve

Qasja t komponentt e klass

Forma e prgjithshme e klasave

Definimi i funksioneve jasht klass

Forma tjera t inicimit t variablave

vehbineziri.com

FIEK, Prishtin 2013

Klasat - hyrje
Klasa sht nj menyr pr t lidhur t dhnat dhe funksionet s bashku.

Klasa sht koleksion i nj numri t caktuar t komponentve.

Komponentt e klass quhen antar t klass.

Me fjal tjera, klasat jan strukturat + funksionet

Derisa qasja e nnkuptuar (ang. default access) t strukturat sht publike


(ang. public), t klasat, qasje e nnkuptuar sht private (ang. private).
vehbineziri.com

FIEK, Prishtin 2013

Definimi i klasave t zakonshme


Definimi i klass fillon me fjaln els class.

class e
{
public:
t1 v1;
t2 v2;
......
tn vn;
};

#include <iostream>
using namespace std;
class personi
{
public:
char emri[8];
char qyteti[10];
int vitilindjes;
};

e - emri i klass.
t1, t2, , tn - tipat e t dhnave n komponentt e klass.
x1, x2, , xn - variablat n komponentt e klass.

vehbineziri.com

FIEK, Prishtin 2013

Shembull 8.1
o

T definohet klasa me emrin


personi e cila prmban emrin,
mbiemrin, qytetin dhe vitin e
lindjes.

vehbineziri.com

FIEK, Prishtin 2013

Deklarimi i objekteve
Objekti sht nj instanc e klass
Deklarimi bhet sikurse edhe deklarimi i variablave tjera
Sintaksa e deklarimit t objektit sht:

e o;

e emri i klass.
o objekti ose instanca e klass e.

Gjat definimit t nj klase nuk rezervohet memorie,


memoria rezervohet pr variabln e klass.

vehbineziri.com

FIEK, Prishtin 2013

Shembull 8.2
o

Pr klasn e definuar n
shembullin 8.1 t deklarohet
objekti me emrin studenti1.

class personi
{
public:
char emri[15];
char mbiemri[20];
char qyteti[20];
int vitilindjes;
};

vehbineziri.com

FIEK, Prishtin 2013

Qasja n komponentt e klass


Qasja n komponentt e klass bhet duke prdorur operatorin . (pik)

o.k;

o objekti ose instanca e klass.


k komponenti i klass.
. operatori pr qasje n komponentin e klass

class studenti
{
public:
char emri[15];
char qyteti[20];
};
int main()
{
studenti studenti1;
}

vehbineziri.com

Klasa studenti

Shembull, pr klasn studenti, sht deklaruar objekti studenti1 dhe


sht br qasja n komponentin emri.

FIEK, Prishtin 2013

Qasja n komponentin emri

studenti1.emri;

Shembull 8.3
o

T
iniciohen
me
vlera
komponentt e klass s dhn
n shembullin 8.2. M pas t
shtypen vlerat e komponentve.

class personi
{
public:
char emri[15];
char mbiemri[20];
char qyteti[20];
int vitilindjes;
};

vehbineziri.com

FIEK, Prishtin 2013

Forma e prgjithshme e klasave 1/3


Antart e klasave jan t klasifikuar n tri kategori: public,
private dhe protected. N kt pjes diskutohet pr dy llojet
e para.
class e
{
private:
t1 v1;
t2 v2;
......
tn vn;
public:
tp zp;
tq zq;
......
ts zs;
};

vehbineziri.com

e - emri i klass.
t1, t2, , tn - tipat e variablave ose t funksioneve n
komponentt e klass.
v1, v2, , vn - variablat ose funksionet n komponentt e
klass, t deklaruara si publike.
zp, zq, , zs - variablat ose funksionet n komponentt e
klass, t deklaruara si private

FIEK, Prishtin 2013

Forma e prgjithshme e klasave 2/3


Zona private
Nuk lejohet hyrja
t zona private

T dhnat

Funksionet

Zona publike
Lejohet hyrja
t zona publike

vehbineziri.com

T dhnat
Funksionet

FIEK, Prishtin 2013

Forma e prgjithshme e klasave 3/3


N C++ private, protected, dhe public jan fjal t rezervuara
dhe quhen specifikuesit e qasjes.
Nse antari i klass sht variabl, deklarimi bhet njjt
sikurse variablat tjera. Gjat definimit t klass, variabla nuk
mund t iniciohet.
Nse antari i klass sht funksion, prdoret prototipi i
funksionit pr t deklaruar at antar.
Zakonisht, komponentt me t dhna deklarohen si private,
kurse komponentt e funksioneve si publike.
vehbineziri.com

FIEK, Prishtin 2013

Shembull 8.4
o

T shkruhet programi, prmes t


cilit definohet klasa katrori n
komponentt e s cils paraqitet
variabla private, krahu dhe
variabla publike, varpub, si dhe
funksionet publike vendos_vleren
dhe lexo_vleren. N funksionin
main t implementohet vendosja
dhe leximi i vlerave prmes
variabls private dhe publike.

vehbineziri.com

FIEK, Prishtin 2013

Definimi i funksioneve jasht klass


Edhe tek klasat (sikurse edhe tek strukturat), funksionet
mund t definohen jasht trupit t klasave, por, brenda
klasave duhet t shnohen prototipat e funksioneve.
class drejkendeshi
{
int x, y;
public:
void vendos_vlerat (int,int) //prototipi
};
void drejkendeshi::vendos_vlerat (int a, int b)
{
x = a;
y = b;
}

vehbineziri.com

FIEK, Prishtin 2013

Shembull 8.5
o

T shkruhet programi, prmes s


cilit definohet klasa rrethi. Brenda
klass t definohet rrezja si
private
dhe
prototipat
e
funksioneve si publike. Funksionet
vendos_rrezen dhe siperfaqja t
implementohen jasht klass.

vehbineziri.com

FIEK, Prishtin 2013

Forma t tjera t inicimit t variablave


Inicimi prmes leximit
class klasa
{
private:
int a;
public:
void leximi();
};

void klasa::leximi()
{
cout << "Leximi i a: ";
cin >> a;
}

Inicimi gjat deklarimit t objekteve


class klasa
{
public:
int m;
double a;
};

vehbineziri.com

int main()
{
klasa kl={2013,16.04};
return 0;
}

FIEK, Prishtin 2013

Shembull 8.6
o

T definohet klasa me emrin


inicimi e cila prmban variabln
private me emrin variabla dhe dy
funksione publike, leximi pr
inicimin e variabls dhe funksioni
shtypja pr shtypjen e vlers s
variabls.

vehbineziri.com

FIEK, Prishtin 2013

Shembull 8.7
o

T definohet klasa me emrin


inicimi_direkt e cila prmban tri
variabla publike t cilat do t
inicohen gjat deklarimit t
objektit t klass. M pas prmes
funksionit shtypja t shtypen
vlerat e variablave.

vehbineziri.com

FIEK, Prishtin 2013

Detyra: 8.1
o

T shkruhet programi, prmes s


cilit definohet klasa artikulli n
komponentt e s cils paraqiten
ID, Emrtimi, Sasia dhe mimi.
Vlerat e komponentve t
inicohen duke i lexuar prmes
tastiers dhe m pas t shtypen
kto vlera.

vehbineziri.com254

FIEK, Prishtin 2013

Detyra: 8.2
o

T shkruhet programi, prmes s


cilit definohet klasa HyrjeDalje n
komponentt e s cils paraqiten
nj variabl private dhe dy
funksione publike pr hyrje dalje
(void). N funksionin pr hyrje t
iniciohet vlera e variabls private,
kurse n funksionin pr dalje t
shtypet vlera e ksaj variable.

vehbineziri.com

FIEK, Prishtin 2013

Detyra: 8.3
o

T shkruhet programi, prmes t


cilit
definohet
klasa
katerkendeshi n komponentt e
s cils paraqitet variablat
private, gjatesia dhe lartesia si
dhe
funksionet
publike,
vendos_gjatesine,
vendos_lartesine, siperfaqja dhe
perimetri. N funksione t
llogaritet siprfaqja, respektivisht
perimetri
i
katrkndshit
knddrejt.

vehbineziri.com

FIEK, Prishtin 2013

Detyra: 8.4
o

T modifikohet detyra 8.3 dhe


funksionet e vendos_gjatesine,
vendos_lartesine, siperfaqja dhe
perimetri t
implementohen
jasht klass katerkendeshi.

vehbineziri.com

FIEK, Prishtin 2013

Detyra: 8.5
o

T shkruhet programi, prmes t


cilit definohet klasa data n
komponentt e s cils paraqitet
variablat private, p_dita, p_muaji
dhe p_viti si dhe prototipat e
funksioneve pr vendosje dhe
lexim t dits, muajit dhe vitit.
Funksionet pr vendosje dhe
lexim t dats t implementohen
jasht klass data. N funksionin
main t deklarohet nj objekt i
klass dhe t shtypet nj dat e
caktuar.

vehbineziri.com

FIEK, Prishtin 2013

Pyetje ?

vehbineziri.com

FIEK, Prishtin 2013

You might also like