Noen objekter er dataorienterte og har hovedsaklig getter- og setter-metoder. De tjenesteorienterte objektene er fokusert på beregninger og operasjoner på data, som gjerne ligger utenfor objektet.
Et eksempel på et tjenesteorientert objekt er en logger, som er et objekt med metode(r) for å registrere og formidle feil, advarsler eller annen informasjon om situasjoner som oppstår under kjøring av programmer. Informasjonen som registreres brukes gjerne av de som utvikler og overvåker et system, for å hjelpe en å diagnostisere feil og problemer. En slik logger tilbyr hovedsaklig en log-metode, f.eks. void log(String message, int severity, Exception ex), for å registrere en melding (message) av en bestemt alvorlighetsgrad (severity) evt. knyttet til et (utløst) unntak (ex). Ved å velge en spesifikk "leverandør" eller implementasjon av tjenesten, så kan en styre om informasjonen om situasjonen skal lagres til fil, skrives ut på et konsoll eller kanskje sendes i en alarmerende SMS. Det kan tenkes at loggeren har litt interne data, men dette er ikke applikasjonsdata og metodene har ikke som formål å kapsle inn tilstanden.
Et annet eksempel på et tjenesteorientert objekt er en "sammenligner", dvs. et objekt som kan sammenligne to (andre) objekter og bestemme hvilken som skal komme først i henhold til en ønsket sortering. Et slikt objekt kan gis til en sorteringsalgoritme og styre den totale ordningen, f.eks. at personer sorteres først på fødselsdato og så evt. på etternavn og fornavn. Et slikt objekt gjør egentlig fint lite, men er likevel nyttig fordi det lar en velge sorteringsordning uavhengig av algoritme. Sammenligningen er skilt ut som en egen tjeneste nettopp for at vi skal kunne velge en "leverandør" tilpasset vårt spesifikke behov.
I praksis vil mange objekter være en mellomting mellom data- og tjenesteorientert. Dataorienterte objekter kan ofte tilby tjenesteaktige metoder som opererer på interne data, f.eks. implementerer en standard sammenligning til bruk av ved sortering. Tjenesteorienterte objekter kan også ha metoder for å håndtere intern tilstand. F.eks. kan loggeren kapsle inn interne data som styrer hvordan den oppfører seg, f.eks. at alvorlige meldinger lagres på fil, mens advarsler skrives til konsollet og alt annet ignoreres.