Klase (engl. class) u Delphi-ju predstavljaju strukturirane tipove podataka, koji se sastoje od više elemenata. Svaki element klase je tzv. "član klase" (class member). Klase u stvari, kao tip podatka opisuju putem zajedničkih osobina, grupe sličnih objekata. Svaki pojedinačni skup podataka jedne klase predstavlja jednu instancu (instance) određene klase. Prema načelima objektno-orijentisanog programiranja, sve instance klase imaju osobine objekta, pa se zato i instance neke klase zovu objektima.
Članovi neke klase mogu da budu podaci (koji su samo trenutni) i određene procedure i funkcije (koji menjaju stanja trenutnih podataka, člana klase). Evo i primera definisanja određene klase (radnik):
TYPE
TRadnik = class
PRIVATE
MBR, specijalnost : integer;
PUBLIC
procedure proiz_radnik (MBR, specijalnost : integer);
procedure unos_radnika (var MBR, specijalnost : integer);
END;
TRadnik predstavlja naziv klase kao korisnički definisanog tipa podatka. Za klase se mogu postaviti i određena ograničenja, i to što se tiče iz kog dela ukupnog programskog koda mogu biti pozivani. To se odnosi kako na metode, tako i na same primerke klasa. Mi smo u primeru naveli dva ograničenja:
- PRIVATE - metodi i instance definisane u ovom odeljku mogu samo da se koriste u okviru programskog modula gde su i definisani.
- PUBLIC - metodi i instance definisane u ovom odeljku mogu da se pozivaju iz svih programskih modula.
Kao što vidimo, članove smo deklarisali kao privatne, a dve procedure su deklarisane kao javne (možemo ih pozivati i iz drugih modula).