Klasa jest szablonem do tworzenia obiektów. Nie wszystkie klasy OO używają klas (patrz Self, Javascript). Zazwyczaj klasy są realizowane jako obiekty.
Obiekt to pakiet danych, który jest spakowany z funkcjami, które działają na tych danych (zwanych metodami). Wywołanie konstruktora klasy przydziela pamięć dla obiektu i inicjuje jego zmienne składowe.
Jednostka jest obiektem reprezentującym coś, co ma tożsamość, którą system jest zainteresowany śledzeniem. Typowymi przykładami są klienci i konta.
Obiekt wartości jest wartością, nie ma tożsamości, a dwie instancje o tej samej wartości są uważane za identyczne. Typowymi przykładami są kwoty pieniężne, lokalizacje, typy płatności.
Obiekt przesyłania danych służy do przepuszczenia wiązki danych. Zazwyczaj są one używane w systemach rozproszonych do wysyłania danych w pakiecie, aby uniknąć powtarzających się połączeń sieciowych. Obiekty przesyłania danych nie mają tożsamości (lub nie ma oczekiwań, że powinny one mieć), są po prostu pojemnikami na dane.
Ogólnie można odróżnić obiekty od obiektów wartości, ponieważ jednostki mają rozpoznawalną tożsamość, a system zajmuje się ich tworzeniem, przechowywaniem i zmienianiem. W przypadkach, gdy obiekty są mapowane do pewnej bazy danych, jednostki mają klucze podstawowe będące albo złożonym naturalnym kluczem albo sztucznym kluczem, a obiekty wartości są porównywane według wartości.
http://pl.wikipedia.org/wiki/Object-oriented_programming – SLaks
To powinno zależeć od używanej platformy/języka. –