Understanding the principles of object orientation