Paskaitų konspektai - Matematikos ir Informatikos fakultetas ...
Paskaitų konspektai - Matematikos ir Informatikos fakultetas ...
Paskaitų konspektai - Matematikos ir Informatikos fakultetas ...
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
Švariai v<strong>ir</strong>tualūs metodai <strong>ir</strong> abstrakčios klas÷s<br />
Kartais bazin÷je klas÷je negali būti prasmingos v<strong>ir</strong>tualaus metodo realizacijos. Jeigu<br />
mes sutarsime, kad klas÷ Shape nusako abstrakčią figūrą, neturinčią jokio vaizdo<br />
ekrane, netgi taško, tuomet galime metodą draw() padaryti švariai v<strong>ir</strong>tualų (pure<br />
v<strong>ir</strong>tual), pr<strong>ir</strong>ašydami "= 0" jo antrašt÷je:<br />
class Shape<br />
{<br />
...<br />
v<strong>ir</strong>tual void draw(QPainter* p) = 0;<br />
};<br />
Klas÷, turinti bent vieną švariai v<strong>ir</strong>tualų metodą, vadinama abstrakčia.<br />
Kompiliatorius neleidžia sukurti abstrakčios klas÷s objektų. Švariai v<strong>ir</strong>tualus<br />
metodas neturi jokio kūno, netgi tuščio. Tai daugiau pažadas, kad paveld÷tos klas÷s<br />
pateiks savo realizacijas. Jei paveld÷ta klas÷ nerealizuoja visų bazin÷s klas÷s švariai<br />
v<strong>ir</strong>tualių metodų, tai <strong>ir</strong> ji pati tampa abstrakčia.<br />
97