ad 2) $kopie = $cosi->__clone();
Da se napsat i vlastni "kopirovaci konstruktor" tim, ze se nadefinuje metoda __clone(), ve ktere promenna $clone znamena objekt, ze ktereho se dela kopie, a datove slozky jsou od nove vznikajiciho objektu. (Pripada mi to trosu nelogicke, ale je to tak.)
Bohuzel neznam Python.
Mam pocit, ze kdyz napisu $kopie = $neco->__clone(), tak se zavola metoda __clone() objektu $neco, ktera udela novy objekt. Proto mi prijde logictejsi, aby se datove slozky $neco v __clone() jevily jako normalni promenne a z nich se kostruovaly slozky noveho objektu, ktery by se uvnitr __clone() jmenoval treba $clone, $copy, ci $new.