We study \emph{observational equivalences} of programs of the object oriented language \emph{Fickle}. Fickle is a class-based imperative language, which extends Java with \emph{re-classification}. We introduce a \emph{coalgebraic semantics} of Fickle programs, which is \emph{adequate} w.r.t. a \emph{contextual} equivalence of programs, and \emph{compositional} w.r.t. the operators of the language. Moreover, we discuss equivalences between programs implementing the same specification, expressed in terms of \emph{abstract classes}. We introduce a coalgebraic description of classes, inspired by work of H.Reichel and B.Jacobs, which gives a coinductive equivalence on programs implementing the same specification. To this end, we extend the original coalgebraic approach to \emph{binary methods}, i.e. methods which take more than one instance of the hosting class as argument. This coalgebraic description induces in particular a coinductive observational equivalence on \emph{objects} of a program, where objects (states of a class) are taken to be equal when the action of methods on them yields the same observations and equivalent next states.