Aha v tom prípade rozumiem. Áno, určite to má praktické využitie. Pri takýchto malých príkladoch nie, ale keď raz budeš písať s kolegovcami veľké objekty pochopíš.
Jedna z výhod OOP je enkapsulácia tj. zapuzdrenie. Más public metódy, ktoré jediné môžes používať navonok. Private metódy sú skryté v triede a protected metódy sa dedia a stanú sa ako keby private metódy odvodenej triedy. Možno sa ti to zdá aj zbytočné, ale mysli nato, že pri programovaní nepoužívaš len triedy, ktoré si napísal sám, ale aj triedy od iných autorov. To znamena, že stačí poznať public metódy a ostatné zložité veci vnútri triedy ťa nemusia zaujímať , čo je veľmi pohodlné, lebo programátori sú lenivé stvorenia.
Na záver ešte "akože" praktický príklad:
Zober si taký obyč. budíček. Ten má public metódy: nastav čas, nastav čas budenia, vypni budenie. Toto ti stačí na plnohodnotné využívanie budíka. Skryté metódy sú teda: zvonenie, pohyb ručičiek atď. Z neho si môžeme odvodiť napríklad rádiobudík, ktorý zdedí protected metódy a všetky public metódy. A už iba doprogramujeme metódy na obsluhu rádia.
Dokážeme teda používať objekty oboch tried, môžeme spraviť veľa veľa budíkov tie zvonia a hrajú rádio a pritom nás vôbec nezaujíma ako sa v nich zložito točia ozubené kolieska alebo čo.