Wewnątrz implementacji metody, identyfikator Self jest odwołaniem do obiektu, w którym dana metoda jest wywoływana. Przykład: oto implementacja metody Add klasy TCollection w module Classes biblioteki VCL.
function TCollection.Add: TCollectionItem; begin Result := FItemClass.Create(Self); end; ... var MyCollection: TCollection; ... MyCollection.Add // obiekt MyCollection jest przekazywany do // metody TCollectionItem.Create jako Self
Metoda Add wywołuje metodę Create w klasie wskazywanej przez pole FItemClass, która jest zawsze potomkiem TCollectionItem. TCollectionItem.Create wymaga jednego parametru typu TCollection, a więc Add przekazuje go w postaci obiektu klasy TCollection, z którego Add jest wywoływane.
Identyfikator Self może być użyteczny w różnych przypadkach. Przykładowo: identyfikator składnika deklarowany w klasie może być redeklarowany w bloku jednej z metod klas. W takim przypadku, można uzyskać dostęp do oryginalnego identyfikatora w postaci kwalifikacji: Self.Identyfikator.