Vlákno názorů k článku Základy programování ve Squeaku - dokončení popisu syntaxe a sémantiky jazyka od Ales Hakl - Tridy samozrejmne nejsou vsechny instanci Metaclass a navic...

  • Článek je starý, nové názory již nelze přidávat.
  • 20. 8. 2010 0:30

    Ales Hakl (neregistrovaný)

    Tridy samozrejmne nejsou vsechny instanci Metaclass a navic rozhodne neni pravda, ze se vsechny chovaji stejne, napriklad se da predpokladat, ze kazda metatrida implementuje metodu #new nejak jinak. Ve skutecnosti je to tak, ze ke kazde tride Foo jeste existuje specialni trida jejiz jedinou instanci je Foo, pristupna obvykle pouze jako „Foo class“, a az tato trida (ktera je potomkem krome jineho Object class a Class) je instanci Metaclass. Uvedenou metodu #new bych hledal spise na instancni strane Metaclass nez tridni (uz jenom kvuli tomu thisClass).

  • 20. 8. 2010 9:59

    Pavel Křivánek (neregistrovaný)

    Shrnu to
    objekt
     – př.: 1
     – instance třídy
    třída
     – př.: 1 class = SmallInteger
     – definuje chování objektů (inst. část v Browseru)
     – instance metatřídy
    metatřída
     – př.: 1 class class = SmallInteger class
     – definuje chování třídy (class část v Browseru)
     – instance Metaclass
    Metaclass
     – př: 1 class class class = Metaclass
     – definuje chování metatřídy (inst. část v Browseru pro třídu Metaclass)
     – třída metatřídy
    metatřída Metaclass
     – př: 1 class class class class = Metaclass class
     – definuje chování třídy Metaclass (class část v Browseru pro třídu Metaclass)
    metatřída metatřídy Metaclass
     – 1 class class class class class = Metaclass
     – zacyklení
    Pavel si neuvědomil, že metatřída není Metaclass, ale instance Metaclass