While doing a desing/framework it is a usual practice to have a Base Class for Value Objects, Services, DAOs etc. For example if we create a new VO, it extends from that BaseVO. If we create new DAO, it should extend from BaseDAO. What is the reason why we have such a base class?
Inheritance, together with encapsulation and polymorphism, is one of the three primary characteristics of object-oriented programming. Inheritance (inheriting the base class) enables you to create new classes that reuse, extend, and modify the behavior that is defined in other classes.
It is easy to add common methods and properties to the base class. But that's not the correct way for all the cases. Design patterns (like Strategy Pattern) uses above mentioned OOP concepts to do real designing.