Ano budu. To co popisuješ ty, je jako ukazovat na Máslo a říct: "padej do ledničky". Jako některá inteligentnější Másla to umí. Ale když koukám na našeho Psa, tak si říkám, že je někdy jednodužší ho tam dostat ručně (do boudy, do ledničky mu to de).
Jak jsem říkal, (už) nevěřím tomu, že OOP přímo souvisí s reálným světem a nevěřím argumentaci analogií z reálného světa. Kdybych si z toho chtěl dělat srandu (což vlastně chci!
), tak lednička taky nefunguje tak, že když z ní chceš něco vzít, tak se staneš ledničkou, něco si tam vezmeš, pak se staneš zpátky BoneFlutem a juchů, máš to v ruce! A přitom přesně tohle vlákna v OOP dělají...
Hmm, nezaměňuješ teď tak trochu teorii s realitou?
Neodvažuji se tvrdit, jak moc je OOP inspirovaný reálným světem, ale většina těch nekoncepčností IMHO vychází z toho, že si to ti programátoři (případně i jazyky jako takové) dělají tak trochu po svém.
Lednička funguje tak, jak bych to OOP čekal. Mám ledničku. Má zprávu
put. Má zprávu
takeOut. Přijímá libovolné objekty, které mají zprávy
getSize,
getWeight. Když chci něco dát do ledničky, musím na to použít nějaký manipulátor
Hands.
Pokud nepřijde Kit, který zakazuje gettery, tak mě to celkem sedí.
To s tím
stát se ledničkou je sice pravda, to ti neberu, ale dá se s tím žít. A bavíme se o OOP, ne o konkrétní implementaci nějakého jazyka.
Ne. Pokud formátovací kód neexistuje, tak neexistuje, v tom se ta dvě řešení neliší a lišit nemůžou. Maximálně můžeš mít obecný formatter, ale to já taky (objekt metodu nepodporuje? Ok, tady je workaround...) Jediný skutečný rozdíl je přesně v tom, kde ten kód leží - já bych ho připlácl k datům, ty bys ho dal někam kdovíkam a pak ho při každé operaci horko těžko zase zpátky hledal. To mi prostě přijde zbytečný, nekoncepční a typicky OOP-přeplácaný.
Ale už bych fakt tuhle věc opustil, není to důležitý ani jako offtopic 
No, já bych zase řekl, že právě tento způsob vůbec není klasicky OOP. To jsem si přinesl z Haskellu. Nechci aby ten formater používal kdekdo.