You are on page 1of 10

TRASHËGIMIA

Trashëgimia e Klasave ne C++


◦ Trashëgimia (Inheritance) – Aftësia për të krijuar klasa që ndajnë
atributet dhe metodat e klasës ekzistuese, por me veçori të tjera
specifike.

◦ Trashëgima ndihmon në kuptimin e objekteve të botës reale. Ju mund të


ndërtoni klasa të bazuara në klasat ekzistuese dhe të përqëndroheni në
veçorite e reja që shtohen në klasën e re.
◦ Atmosfera, drunjtë, dhe njeriu dallojnë shumë
ndërmjet veti për nga vetitë, pamja dhe roli i
tyre në natyrë, por edhe se dallojnë, këta
trashëgojnë veti të ndryshmë ndermjët veti.
◦ Në një familje gjithashtu fëmija trashëgon disa
veti të së emës dhe babait. Trashëgon ngjyrën e
syve, mënyrën e lëvizjes, apo gjatësine e trupit.
◦ Në qoftë se kuptojmë konceptin e trashëgimit të
vetive ndërmjet objekteve te ndryshme ne jetën
reale, të njëjtën gjë mund ta implementojmë
edhe në programet tona.
Shembull Shpjegimi:

//klasa baze (‘Base’) Ky kod tregon strukturën bazë të një klase bazë
dhe një klase të trashëguar në c++. Klasa bazë
class Person{
quhet ‘Person’ dhe përmban dy variabla publike,
public: moshën dhe emrin. Klasa e trashëguar quhet
int mosha; ‘Nxenes’ dhe bazohet në klasën Person. Meqenëse
string emri; Person është klasa bazë, klasa Nxenes nuk ka
} nevojë të rideklarojë variablat e moshës ose të
emrit. Klasa Nxenes i trashëgon këto variabla nga
// klasa e trasheguar (‘Derived’)
klasa Person, dhe kështu ka akses në to pa pasur
class Nxenes : public Njeri{ nevojë t'i shkruajë përsëri. Kjo është ideja e
// nuk ka nevojë që të deklarojmë moshën trashëgimisë në c++ - klasa e trashëguar trashëgon
// ose emrin prapë. variablat publike të klasës bazë dhe mund t'i
}
përdorë ato pa pasur nevojë t'i shkruajë përsëri.
Fjala ‘protected’ ◦class Person{
◦protected:
◦    int mosha;
◦ Fjala kyçe ‘protected ’në C++ është një ◦};
modifikues që mund të aplikohet në një ◦class Student : public Person{
variabël klase ose anëtari dhe siguron që ◦public:
ndryshorja e klasës ose anëtarit të jetë e ◦    Student(){
aksesueshme vetëm brenda klasës dhe nga ◦        mosha = 5;
çdo klasë që rrjedh prej saj. Për shembull, ◦    }
nëse një klasë ka një variabël anëtar 'të ◦    // ka qasje!
mbrojtur', ajo mund të aksesohet vetëm nga ◦};
vetë klasa dhe çdo klasë që rrjedh prej saj. ◦int main(){
Kjo siguron një mënyrë për të ndarë ◦    Person p;
variablat dhe metodat midis klasave të ◦    p.mosha = 5;
lidhura, pa ekspozuar variablat ose metodat ◦    //nuk ka qasje, nuk do te ekzekutohet!
në pjesën tjetër të programit. ◦}
Dallimet sipas qasjes
* Dallimi ndërmjet private, protected, dhe public:
1. Anëtarët dhe metodat private nuk mund të aksesohen nga jashtë por vetëm nga
funksionet brenda në klasë. Këto anëtarë nuk mund të aksesohen as nga klasat që
trashëgojnë.
2. Anëtarët dhe metodat protected nuk mund te aksesohen nga jashtë por vetëm
nga funksionet brenda në klasë dhe poashtu nga funksionet e klasave që
trashëgojnë.
3. Anëtarët dhe metodat public mund të trashëgohen nga jashtë, qoftë ajo
funksioni main ose ndonje klase tjeter.
Benefitet e trashëgimisë
◦ Trashëgimia në C++ ofron disa avantazhe në krahasim me teknikat e tjera të
programimit të orientuara nga objekti. Trashëgimia ndihmon në uljen e sasisë
së dyfishimit të kodit, rrit lexueshmërinë e kodit dhe e bën kodin më të
mirëmbajtur. Për më tepër, gjithashtu lejon që klasat të organizohen në një
strukturë hierarkike, duke u mundësuar zhvilluesve të krijojnë programe
komplekse dhe të fuqishme.
Disavantazhet e trashëgimisë
◦ Ndërsa trashëgimia ofron një sërë avantazhesh, ka edhe disa të meta.
Disavantazhi kryesor i përdorimit të trashëgimisë është se mund të rezultojë në
kod të lidhur ngushtë, gjë që e bën të vështirë kryerjen e ndryshimeve pa thyer
potencialisht kodin. Për më tepër, trashëgimia mund të rezultojë në fryrje të
kodit dhe mund të çojë në kod që është i vështirë për tu korrigjuar.
Përfundim
◦ Nga ky mësim duhen kuptuar disa gjëra të rëndësishme. Kodi dhe sintaksa nuk
duhet t'ju shqetësojnë shumë sepse kjo është e lehtë për t'u mësuar, por qëllimi
se pse përdoren këto metoda dhe kuptimi i plotë është qëllimi përfundimtar.

◦ Gjëja që duhet mësuar nga ky mësim është përdorimi i trashëgimisë, kur ta


përdorim atë dhe çfarë përfitojmë prej saj?
Ju faleminderit

You might also like