Az Alphard NEM objektum-orientált nyelv. Rendelkezik azonban objektum elvû tulajdonságokkal:
Hiányzik azonban az öröklõdés, a dinamikus kötés, nincs osztályhierarchia.
Az objektum egy generált tárolási hely vagy változó, amit absztrakt adattípusok adatainak tárolására használunk.
Minden új típus definiálása a form konstrukció segítségével történik. Egy típushoz adattagokat és mûveleteket definiálhatunk. Egy forma magában foglalja a típusunk specifikációját és implementációját. Készítésekor támaszkodhatunk a már megkonstruált formákra, és egyéb létezõ típusokra. A forma paraméterezhetõ, akár típussal is, ezáltal sablonokat (generic) hozhatunk létre.
Az Alphard típus fogalma az absztrakt adattípusbók indul ki, azaz egy típusnak nem csak az adattagjait, hanem a hozzá tartozó mûveleteket is a típus egy tulajdonságának tartja. A forma specifikációs részében az adattagok mellett ezeket a mûveleteket is definiálhatjuk, és ezeket az adott típusú objektum részeként hívhatjuk. Mivel a specifikációs és implementációs részt különválasztották, ezért az adatelrejtés elve is megvalósul, az implementációs rész kívulrõl nem elérhetõ, de érdekes módon az implementáció elõl is el vannak rejtve a specifikáció változói: ha használni akarjuk õket, akkor újra definiálni kell azokat.