What defines the design of all classes?

There are three ways to design classes: by composition, via inheritance, and via interface . Composition (or aggregation) is achieved by using existing class as a part of a new class. For example, the ArrayStack class includes an array of objects. Inheritance allows you to define a new class in terms of an old class.

Read more

How do we define an object?

An object is an abstract data type with the addition of polymorphism and inheritance . Rather than structure programs as code and data, an object-oriented system integrates the two using the concept of an “object”. An object has state (data) and behavior (code). Objects can correspond to things found in the real world.

Read more