Również w niektórych językach, w których istnieje możliwość programowania obiektowego, nagłówek (prototyp) metody, stosuje się do definicji określonej klasy, podczas gdy sama definicja danej metody znajduje się zupełnie w innym miejscu kodu źródłowego (poza definicją klasy rozumianą jako określony fragment – wyodrębniony za pomocą zdefiniowanych ograniczników bloku – tekstu kodu źródłowego). W tych językach nagłówek metody w jej definicji umieszczonej poza definicją klasy, jest zmodyfikowany zgodnie z konwencją stosowaną w danym języku programowania, o stosowny zapis selekcji klasy, tak aby definicja metody została przypisana do właściwej klasy (różne metody w różnych klasach mogą posiadać ten sam identyfikator).

Borland/Turbo Pascal: type TOb=object procedure m1(a : integer); function f1(a:integer): integer; end; procedure TOb.m1; begin { treść metody m1 klasy TOb } end; function TOb.f1; begin { treść metody f1 klasy TOb } end;

W innych językach cała definicja metody, obejmująca nagłówek i blok kodu, zawarta jest w definicji klasy.

Python: class TOb: u"defincja klasy zawiera także definicję metod" def m1(a): u"treść metody m1 klasy TOb" def f1(a): u"treść metody f1 klasy TOb"