Dallimi midis klasës abstrakte dhe klasës konkrete

Dallimi midis klasës abstrakte dhe klasës konkrete
Dallimi midis klasës abstrakte dhe klasës konkrete

Video: Dallimi midis klasës abstrakte dhe klasës konkrete

Video: Dallimi midis klasës abstrakte dhe klasës konkrete
Video: Gjuhë shqipe 3 - Emri në gjininë mashkullore dhe gjininë femërore 2024, Nëntor
Anonim

Klasa abstrakte kundër klasës konkrete

Shumica e gjuhëve moderne të programimit të orientuara nga objekti, si Java dhe C, janë të bazuara në klasë. Ata i arrijnë konceptet e orientuara drejt objektit si kapsulimi, trashëgimia dhe polimorfizmi përmes përdorimit të klasave. Klasat janë një paraqitje abstrakte e objekteve të botës reale. Klasat mund të jenë konkrete ose abstrakte në varësi të nivelit të zbatimit të funksionaliteteve të metodës së tyre. Një klasë konkrete zbaton plotësisht të gjitha metodat e saj. Një klasë abstrakte mund të konsiderohet si një version i kufizuar i një klase të rregullt (konkrete), ku mund të përmbajë metoda të zbatuara pjesërisht. Në mënyrë tipike, klasat konkrete referohen si klasa (të thjeshta).

Çfarë është klasa e betonit?

Klasa e paracaktuar është një klasë konkrete. Fjala kyçe e klasës përdoret për të përcaktuar klasat (p.sh. në Java). Dhe zakonisht ato thjesht quhen klasa (pa mbiemrin konkret). Klasat konkrete përshkruajnë paraqitjen konceptuale të objekteve të botës reale. Klasat kanë veti të quajtura atribute. Atributet zbatohen si variabla globale dhe instancë. Metodat në klasa përfaqësojnë ose përcaktojnë sjelljen e këtyre klasave. Metodat dhe atributet e klasave quhen anëtarë të klasës. Në mënyrë tipike, kapsulimi arrihet duke i bërë atributet private, duke krijuar metoda publike që mund të përdoren për të hyrë në ato atribute. Një objekt është shembulli i një klase. Trashëgimia i lejon përdoruesit të zgjerojë klasat (të quajtura nënklasa) nga klasa të tjera (të quajtura super klasa). Polimorfizmi i lejon programuesit të zëvendësojë një objekt të një klase në vend të një objekti të super klasës së tij. Në mënyrë tipike, emrat që gjenden në përkufizimin e problemit bëhen drejtpërdrejt klasa në program. Dhe në mënyrë të ngjashme, foljet bëhen metoda. Publike, private dhe të mbrojtura janë modifikuesit tipikë të aksesit që përdoren për klasa.

Çfarë është klasa abstrakte?

Klasat abstrakte deklarohen duke përdorur fjalën kyçe Abstract (p.sh. në Java,). Në mënyrë tipike, klasat abstrakte, të njohura gjithashtu si klasat bazë abstrakte (ABC), nuk mund të instantohen (një shembull i asaj klase nuk mund të krijohet). Pra, klasat abstrakte kanë kuptim vetëm nëse gjuha e programimit mbështet trashëgiminë (aftësia për të krijuar nënklasa nga zgjerimi i një klase). Klasat abstrakte zakonisht përfaqësojnë një koncept ose entitet abstrakt me zbatim të pjesshëm ose aspak. Prandaj, klasat abstrakte veprojnë si klasa prind nga të cilat rrjedhin klasat e fëmijëve në mënyrë që klasa e fëmijës të ndajë tiparet jo të plota të klasës prind dhe funksionaliteti mund të shtohet për t'i plotësuar ato.

Klasat abstrakte mund të përmbajnë metoda abstrakte. Nënklasat që zgjerojnë një klasë abstrakte mund të zbatojnë këto metoda abstrakte (të trashëguara). Nëse klasa fëmijë zbaton të gjitha këto metoda Abstrakte, ajo bëhet një klasë konkrete. Por nëse nuk ndodh, klasa e fëmijëve gjithashtu bëhet një klasë Abstrakte. E gjithë kjo do të thotë se, kur programuesi emëron një klasë si Abstrakt, ajo thotë se klasa do të jetë e paplotë dhe do të ketë elementë që duhet të plotësohen nga nënklasat trashëguese. Kjo është një mënyrë e mirë për të krijuar një kontratë midis dy programuesve, e cila thjeshton detyrat në zhvillimin e softuerit. Programuesi, i cili shkruan kodin për të trashëguar, duhet të ndjekë saktësisht përkufizimet e metodës (por sigurisht mund të ketë zbatimin e tij).

Cili është ndryshimi midis klasës abstrakte dhe klasës konkrete?

Klasat abstrakte zakonisht kanë zbatim të pjesshëm ose aspak. Nga ana tjetër, klasat konkrete kanë gjithmonë zbatimin e plotë të sjelljes së saj. Ndryshe nga klasat konkrete, klasat abstrakte nuk mund të instantohen. Prandaj, klasat abstrakte duhet të zgjerohen për t'i bërë ato të dobishme. Klasat abstrakte mund të përmbajnë metoda abstrakte, por klasat konkrete jo. Kur zgjerohet një klasë abstrakte, të gjitha metodat (si abstrakte ashtu edhe konkrete) trashëgohen. Klasa e trashëguar mund të zbatojë një ose të gjitha metodat. Nëse të gjitha metodat abstrakte nuk zbatohen, atëherë ajo klasë bëhet gjithashtu një klasë abstrakte.

Recommended: