Diferenca kryesore – Trashëgimia e shumëfishtë kundrejt trashëgimisë me shumë nivele
Programimi i orientuar nga objekti (OOP) është një paradigmë për të hartuar një program duke përdorur klasa dhe metoda. Skenarët e botës reale mund të hartohen me objekte. Prandaj, është e lehtë të ndërtosh zgjidhje softuerike. Një klasë është një plan për të ndërtuar një objekt. Ai përmban veti dhe metoda. Për shembull, përpara se të krijoni një objekt studenti, duhet të ketë një student të klasës me vetitë dhe metodat. Një student mund të ketë veçori të tilla si ID-ja e studentit, emri dhe metoda të tilla si leximi, shkrimi, studimi. Metodat përshkruajnë sjelljen ndërsa vetitë janë atributet. Pas krijimit të klasës, është e mundur të krijohen objekte duke përdorur ato. Krijimi i objektit njihet edhe si Instantimi i Objekteve. Objekti nuk ekziston i izoluar. Ata komunikojnë me objekte të tjera dhe të dhënat kalohen brenda objekteve. Një shtyllë e OOP është Trashëgimia. Qëllimi i trashëgimisë është të rrisë ripërdorimin e kodit. Ai krijon një klasë të re të vetive dhe metodave të klasës tashmë ekzistuese. Klasa ekzistuese njihet si klasa bazë dhe klasa e re quhet klasa e derivuar. Trashëgimia e shumëfishtë dhe trashëgimia me shumë nivele janë lloje të trashëgimisë. Ky artikull diskuton ndryshimin midis tyre. Dallimi kryesor midis trashëgimisë së shumëfishtë dhe shumë niveleve është se trashëgimia e shumëfishtë është kur një klasë trashëgon nga shumë klasa bazë ndërsa trashëgimia shumënivelësh është kur një klasë trashëgon nga një klasë e prejardhur duke e bërë atë klasë të prejardhur një klasë bazë për një klasë të re.
Çfarë është trashëgimia e shumëfishtë?
Trashëgimi e shumëfishtë është kur një klasë trashëgon më shumë se një klasë bazë.
Figura 01: Trashëgimi e shumëfishtë
A B dhe C janë klasa. A dhe B janë klasa bazë, dhe C është klasa e prejardhur. Klasa C duhet të menaxhojë varësinë e të dy klasave bazë A dhe B. Trashëgimitë e shumëfishta nuk përdoren gjerësisht në projektet softuerike. Ai e bën sistemin më kompleks sepse një klasë po trashëgon shumë klasa.
Për shembull, supozoni se klasa A dhe B të dyja kanë një metodë me të njëjtin emër që është shuma () dhe klasa C po nxjerr të dyja klasat. Pas krijimit të një objekti të tipit C dhe thirrjes së metodës sum (), mund të shkaktojë një gabim sepse të dyja klasat kanë të njëjtën metodë. Përpiluesi nuk e di se cilin funksion të thërrasë. Prandaj, trashëgimia e shumëfishtë rrit kompleksitetin e një sistemi. Trashëgimia e shumëfishtë mbështetet në gjuhën C++, por gjuhë të tilla si Java, C nuk mbështesin trashëgiminë e shumëfishtë. Në vend të kësaj, këto gjuhë përdorin ndërfaqe që është e ngjashme me një klasë, por që nuk mund të instancializohet.
Çfarë është trashëgimia me shumë nivele?
Trashëgimia me shumë nivele është kur një klasë trashëgon nga një klasë e prejardhur duke e bërë atë klasë të prejardhur një klasë bazë për një klasë të re.
Figura 02: Trashëgimia me shumë nivele
Trashëgimia me shumë nivele ka tre nivele. Klasa e ndërmjetme që B trashëgon nga klasa A dhe klasa C trashëgon nga klasa B. A është klasa bazë për B dhe B është klasa bazë për C.
Një program që zbaton Trashëgiminë me shumë nivele është si më poshtë. Programi është shkruar duke përdorur Java.
Figura 03: Programi që zbaton Trashëgiminë Shumënivelësh
Sipas programit të mësipërm, klasa A është klasa bazë për klasën B. Klasa B është klasa bazë për klasën C. Të gjitha vetitë dhe metodat e klasës A janë të aksesueshme nga klasa B. Të gjitha vetitë dhe metodat e klasës B është i aksesueshëm nga klasa C. Prandaj, klasa C mund të aksesojë vetitë dhe metodat e A dhe B. Kur krijoni një objekt të tipit C, është e mundur të thirrni të tre metodat A (), B () dhe C (). Prodhimi do të japë A, B, C.
Cila është ngjashmëria midis trashëgimisë së shumëfishtë dhe shumëniveleve?
Të dyja janë lloje të trashëgimisë
Cili është ndryshimi midis trashëgimisë së shumëfishtë dhe shumëniveleve?
Trashëgimi e shumëfishtë kundrejt trashëgimisë me shumë nivele |
|
Trashëgimia e shumëfishtë është një lloj trashëgimie ku një klasë trashëgon nga më shumë se një klasë bazë. | Trashëgimia me shumë nivele është një lloj trashëgimie që trashëgon nga një klasë e prejardhur, duke e bërë atë klasë të prejardhur një klasë bazë për një klasë të re. |
Përdorimi | |
Trashëgimia e shumëfishtë nuk përdoret gjerësisht sepse e bën sistemin më kompleks. | Trashëgimia me shumë nivele përdoret gjerësisht. |
Nivelet e klasës | |
Trashëgimia e shumëfishtë ka dy nivele klasash, përkatësisht klasën bazë dhe klasën e prejardhur. | Trashëgimia me shumë nivele ka tre nivele klasash, përkatësisht klasën bazë, klasën e ndërmjetme dhe klasën e prejardhur. |
Përmbledhje – Trashëgimi e shumëfishtë kundrejt trashëgimisë me shumë nivele
Trashëgimia është një shtyllë kryesore e programimit të orientuar drejt objekteve. Ekzistojnë lloje të ndryshme të trashëgimisë; ato janë Trashëgimia me Nivel të vetëm, Trashëgimia me shumë nivele, Trashëgimia e Shumëfishtë, Trashëgimia Hierarkike dhe Trashëgimia Hibride. Trashëgimia e një niveli të vetëm ka një klasë bazë dhe një klasë të prejardhur. Trashëgimia hierarkike ka një klasë bazë dhe shumë klasa të prejardhura. Trashëgimia hibride është një kombinim i trashëgimisë me shumë nivele dhe të shumëfishtë. Ky artikull përshkruan ndryshimin midis trashëgimisë së shumëfishtë dhe trashëgimisë me shumë nivele. Dallimi midis trashëgimive të shumëfishta dhe shumënivelëshe është se trashëgimia e shumëfishtë është kur një klasë trashëgon nga shumë klasa bazë, ndërsa trashëgimia me shumë nivele është kur një klasë trashëgon nga një klasë e prejardhur, duke e bërë atë klasë të prejardhur një klasë bazë për një klasë të re. Trashëgimia me shumë nivele përdoret gjerësisht sesa trashëgimia e shumëfishtë.
Shkarko PDF Multiple vs Multilevel Heritance
Mund të shkarkoni versionin PDF të këtij artikulli dhe ta përdorni për qëllime jashtë linje sipas shënimit të citimit. Ju lutemi shkarkoni versionin PDF këtu Diferenca midis trashëgimisë së shumëfishtë dhe shumënivelit