Nejak nechapu tu neustalou potrebu v OO neco schovavat. Resit co bude schovane a co verejne. Ja radsi resim zadani problemu.
Tridy = moduly. Inda nepustim do svyho kodu tak, ze mu hodim nektery funkce private v modulu kam nema sahat. Nepotrebuju k tomu N konceptu, kazdej pripominajici modul a umoznujici skryvani atributu.
Takže ta potřeba "schovávat" asi není zase tak nepochopitelná.
Jinak asi nikdo nepotřebuje N konceptů. Každému stačí ten jeden, který zrovna on používá.
Jestli skrývat kromě metod i atributy nebo nechávat atributy veřejné, do toho už se pouštět nechci. To strašně záleží na případu použití i na tom, jak to má jaký jazyk zrovna řešeno a návrh to imho nijak zvlášť neovlivňuje. Ale já to mám rád, když můžu některé atributy označit jako private, kvůli lepší čitelnosti kódu. Samozřejmě když má třída/modul desítky privátních atributů, tak v tom návrhu nejspíše něco smrdí.
Ja chapu potrebu schovavat. Akorat debaty o OO navrhu zacinaji tim, co schovat, zapouzdrit a zdedit, nez tim, co je vysledkem vyreseni problemu.
Kdyz jsi sam, kdo pouziva program, tak je fajn, ze si muzes vybrat tridu nebo modul nebo package nebo cokoliv k tomu ucelu. Jenze kdyz pracujes s indem, tak on si vybere jedno a ty druhy. Ja bych na to mel radsi jen jeden koncept.
V Selfu zjistili, ze je lepsi povazovat atribut stejne jako metodu. Jinak jestli se nekdo rozhoduje, jestli schovat nebo ne podle toho, co mu umoznuje jazyk, pak je otazka, jestli nema prilis svazujici jazyk.