Programimi i orientuar në objekte: Dallime mes rishikimesh

[Redaktim i kontrolluar][Redaktim i kontrolluar]
Content deleted Content added
Lidhje të jashtme të shpëtuara: 2 Lidhje të jashtme të etiketuara si të vdekura: 0) #IABot (v2.0.8
Rreshti 26:
; Trashëgimi :Nënklasat paraqesin versione të veçanta të klasave, ku këto i ''trashëgojnë'' tiparet dhe sjelljet nga klasat e tyre prindërore. Nënklasat mund të përmbajnë tipare dhe sjellje shtesë, përsipër atyre që i kanë trashëguar nga klasat prindërore. Për shembull, klasa <code>Qeni</code> mundet ti ketë nënklasat <code>PitBull</code>, <code>Doberman</code>, etj. ku objekti <code>Peofi</code> do t'ishte instancë e nënklasës <code>PitBull</code>. Nëse në klasën <code>Qeni</code> e kemi të definuar metodën <code>leh()</code> atëherë të dy nënklasat <code>PitBull</code> dhe <code>Doberman</code> do ta trashëgojnë këtë metodë, ku kjo e bën të mundshme që programuesi ta shkruaj vetëm një herë këtë metodë.<br />Çdo nënklasë mund t'i ndryshoj tiparet dhe sjelljet e trashëguara. Për shembull, nënklasa <code>Doberman</code> mund ta ndryshon tiparin <code>ngjyraQimes</code> që ta ketë vlerën <code>zi-dhe-kafe</code>; ose nënklasa <code>PitBull</code> mund ta ndryshon metodën <code>leh()</code> që lehja të jetë më e fuqishme tek instancat e kësaj nënklase.<br />'''Trashëgimia e shumëfishtë''' paraqet rastin kur trashëgimia bëhet nga më shumë se një klasë, përderisa asnjëra nga klasat prindërore nuk është e trashëguar nga njëra tjetra.
; Abstraksioni : Është procesi i thjeshtëzimit dhe faktorizimit të detajeve me qëllim të përqendrimit në disa koncepte në krahasim prej përqendrimit në të gjitha konceptet përnjëheri. Pra, abstraksioni paraqet procesin në të cilin bëhet modelimi i klasave të përshtatshme për problemin, si dhe punimi me nivelin e përshtatshmën të trashëgimisë prej një aspekti specifik të problemit.
; Kapsulimi : Është njëri nga tre konceptet themelore të programimit të orientuar në objekte (dy të tjerët janë '''Trashëgimi''' dhe '''Polimorfizmi''')<ref>{{ cite book | title= Pocket PowerBuilder Resource Guide and Reference | chapter= Chapter 1: Implementing Object-Oriented Programming Techniques | chapterurl= http://manuals.sybase.com/onlinebooks/group-ppb/ppbg0100e/pkresref/@Generic__BookTextView/301;pt=50 | publisher= Sybase, Inc. | year= 2003 | accessdate= 2009-01-27 | archive-date= 24 janar 2007 | archive-url= https://web.archive.org/web/20070124175425/http://manuals.sybase.com/onlinebooks/group-ppb/ppbg0100e/pkresref/@Generic__BookTextView/301%3Bpt%3D50 | url-status= dead }} - {{en}}</ref>. Ky koncept paraqet fshehjen e detajeve të implementimit të klasës si dhe ofrimin e qasjes vetëm nëpërmjet interfejsit të dokumentuar ( [[metoda ndryshuese|metodave qasëse]] dhe [[Metoda ndryshuese|metodave ndryshuese]])<ref>{{ cite web | url= http://www.java4all.info/corejava/interview-questions/java-interview-questions-4.html | title= Java Interview Questions: What is Encapsulation? | accessdate= 2009-01-27 | archive-date= 24 janar 2009 | archive-url= https://web.archive.org/web/20090124211934/http://java4all.info/corejava/interview-questions/java-interview-questions-4.html | url-status= dead }} - {{en}}</ref>.
; Polimorfizmi : Polimorfizmi në programimin e orientuar në objekte e bën të mundshëm që objektet që përkasin tipeve të dhënave të ndryshme t'i përgjigjen thirrjeve të metodave me emër të njëjtë në përputhshmëri me specifikat e tipit të tyre. Për shembull, nëse kemi klasën <code>Njeri</code> e cila e ka metodën <code>pershendet()</code>, dhe më pas kemi dy nënklasa <code>Shqiptar</code> dhe <code>Anglez</code> atëherë ato do të trashëgojnë dhe e mbishkruajnë strukturën dhe funksionalitetin e metodës <code>pershendet()</code> sipas specifikave të tipit. Ky mbishkrim do ta bën të mundshme që kur të thirret metoda <code>pershendet()</code> në instancat (objektet) e nënklasave <code>Shqiptar</code> dhe <code>Anglez</code> të dy instancat do të reagojnë sipas specifikave të tipit të tyre, pra: <code>shqiptar.pershendet()</code> do të kthen <code>Përshëndetje!</code> ndërsa <code>anglez.pershendet()</code> do të kthen <code>Hello!</code>.
; Shçiftëzimi :Shçiftëzimi ([[gjuha angleze|ang.]] ''decoupling'') paraqet procesin e minimalizimit të sasisë dhe fuqisë të varesive në mes të pjesëve të ndryshme të programit. Nëpërmjet këtij procesi bëhet lokalizimi i operimeve të ndryshme në entitete të vetme ku këto kanë varesive minimale ndaj entiteteve tjera. Kjo veti e POO-së është shumë e dobishme, sidomos për programe të mëdha, pasi që nëse është bëre shçiftëzimi, atëherë në rast të ndonjë problemi, programuesi mund të përqendrohet në një entitet të vetëm e jo në tërë programin<ref>{{cite journal | last= Jackson | first= Daniel | year= 2008 | title= A Direct Path To Dependable Software | journal= Communications of the [[ACM]] | url= http://sdg.csail.mit.edu/pubs/2008/cacm-08.pdf | accessdate= 2009-01-27 | format= PDF | archive-url= https://web.archive.org/web/20100619222733/http://sdg.csail.mit.edu/pubs/2008/cacm-08.pdf | archive-date= 19 qershor 2010 | url-status= dead }} - {{en}}</ref>.