Klasat vs Strukturat
Disa nga konceptet kryesore të gjuhëve programuese të orientuara nga objekti (OO) janë kapsulimi, trashëgimia dhe polimorfizmi. Klasa dhe Struktura janë dy nga konstruktet/mjetet OO, të cilat i ndihmojnë programuesit të arrijnë këto koncepte brenda shumicës së gjuhëve programuese OO dalëse (Java nuk ofron struktura). Klasat janë një paraqitje abstrakte e objekteve të botës reale. Strukturat janë shumë të ngjashme me klasat me përdorim të ngjashëm, por kanë pak kufizime në krahasim me klasat. Të dyja klasat dhe struktura përdoren për të grupuar llojin e ngjashëm të të dhënave, së bashku.
Çfarë janë klasat?
Klasat përshkruajnë paraqitjen abstrakte të objekteve të botës reale, ndërsa marrëdhëniet përshkruajnë se si çdo klasë është e lidhur me të tjerët. Të dy klasat dhe marrëdhëniet kanë veti të quajtura atribute. 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 të përdorur për klasat. Diagrami i klasës tregon klasat e sistemeve, marrëdhëniet ndërmjet klasave dhe atributet e tyre.
Çfarë janë strukturat?
Siç u përmend më lart, strukturat janë shumë të ngjashme me klasat me përdorim të ngjashëm, por kanë aftësi paksa të kufizuara sesa klasat. Në fakt, klasat mund të konsiderohen si një zgjerim i strukturave. Për shembull, strukturat janë të njëjta me klasat në C++, por ato kanë anëtarë publik si parazgjedhje. Një strukturë mund të përcaktohet nga përdoruesi për të përfaqësuar një lloj që është i përbërë. Ngjashëm me klasat, strukturat përmbajnë anëtarë që mund t'u përkasin shumë llojeve. Fjala kyçe struct përdoret për të përcaktuar një strukturë në C dhe C++, ndërsa fjala kyçe Strukturë përdoret për të njëjtën gjë në gjuhët e programimit. NET.
Cili është ndryshimi midis klasave dhe strukturave?
Edhe pse, të dyja klasat dhe strukturat janë konstruksione të ngjashme që gjenden në gjuhët e programimit, ato kanë dallime delikate. Në mënyrë tipike, klasa është një zgjatim i strukturës, dhe për këtë arsye strukturat kanë disa kufizime relative. Për shembull, strukturat mund të konsiderohen të njëjta me klasat në C++, por anëtarët nuk janë publikë si parazgjedhje në klasa (ndryshe nga strukturat). Kjo në fakt do të thotë që ju mund të përcaktoni një klasë dhe një strukturë me saktësisht të njëjtat karakteristika duke përdorur modifikuesit e duhur të aksesit në C++. Megjithatë në C, strukturat nuk mund të përmbajnë ndonjë funksion ose operacione të mbingarkuar. Fjalët kyçe class dhe struct përdoren për të përcaktuar një klasë dhe një strukturë në C++, përkatësisht. Kur bëhet fjalë për gjuhët. NET (C, VB. NET, etj.), klasa është një lloj referimi, ndërsa struktura është një lloj vlere. Dhe zakonisht, strukturat përdoren për objekte më të vogla, por klasat përdoren për objekte më të mëdha që mbahen në memorie për periudha më të gjata.