Az Aikido egy objektumorientált nyelv, így természetesen támogatja a felhasználó által történő típusdefiniálást, valamint ezek közötti relációk (pl.: öröklődés), valamint az interfészek leírását és megvalósítását.
Az osztályok lényegében, a felhasználó által definiált típusok. Egy osztály definíciója az adattagok, és a metódusok deklarációjából és definíciójából áll.
Osztály definíciója a class kulcsszóval történik.
Az osztályoknak, hasonlóan a függvényekhez lehetnek paramétereik. Ezek egyben az osztály publikus adattagjai. Egy objektumot az adott osztályból a new kulcssszóval hozhatunk létre.
Az Aikido osztályaiban, sőt blokkjaiban a következő láthatósági szabályok lehetnek érvényesek az egyes adattagokra, vagy metódusokra:
Aikidoban az osztályok közötti öröklés leírására az extends kulcsszó használandó. A nyelv a többszörös öröklődést nem támogatja, azaz egy osztálynak legfeljebb csak egy ősosztálya lehet.
Érdekesség, hogy Aikidoban nem csak osztályok közötti öröklődés létezik, hanem függvények, monitorok, sőt tetszőleges blokkok között is leírható e kapcsolat.
Pontosabban szóval azt adhatjuk meg, hogy egy leszármazott osztály függvénye az ősosztálynak melyik függvényét definiálja felül. Ehhez az adott függvénynél is az extends kulcsszót kell használni a megfelelő paraméterekkel.
Az Aikido részben interpretált mivoltának köszönhetően csak dinamikus, futásidejű típuslevezetést végez.
Ennek köszönhetően igen rugalmas a nyelv használata, viszont ez teljesítmény csökkenést okoz a futásidőben történő típusvizsgálat miatt.
A legtöbb programozási nyelvben a dinamikus kötés csak függvények és eljárások esetében működik (pl.: Java).
Az Aikido, az adott blokk (például osztály) adattagjaira is alkalmazni tudja a dinamikus kötést.
Az interfészek használata teljesen hasonló a más programnyelvekben látottakhoz. Az interfész törzsében függvénydefiníciókat adunk meg, amelyeket az implementáló osztályoknak kötelező megvalósítaniuk.
Interfészek között - hasonlóan az osztályokhoz - öröklődési kapcsolatot írhatunk le.