Problem solving while programming, using object oriented design always starts with the questions like:

1. What Objects should be created to solve this problem?

For example, if we are making a project for arranging books in a library, then the objects that come to mind will be the books, the shelves we keep them in, inventory book, the catalog etc.

2. What are the properties of the object?

A property is something that defines the characteristics of the object. In our problem, a few properties are, the subject the book is based on, its author, the number of books a shelf can hold in, (more…)