OOA is a kind of programming method to develop a software. it is not a regular procedural way of programming. it divides the data structure and functionalities into small parts to get the ultimate output with minimal impact on other functions even if any modifications made in one function. Here the total system is classified into Classes which further divided into Objects and establish different relationships among them according to the requirement and align them in certain way to get desired output.
There are some basic things to understand OOA they are
Object: Object is an instance of Class. Every Object has its own Identity to recognize. An Object also has some attributes and exhibits certain behavior or actions. These attributes and actions together called as Features of an Object.
Class: A Class is defined as a group of similar objects. There are different types of Classes like Super Class, Parent Class, Generalized Class, child class.
Component: Collection of classes is called as Component.
Package: Package is a collection of components not reusable in nature.
Subsystems: Subsystems are collection of components reusable in nature
Application of OOA:
Abstraction: Abstraction is a process of filtering the objects with different features till it left with required features.
Encapsulation: Encapsulation is a hiding technique used make the complex background work or internal structure invisible to the user.
Polymorphism: This defines as a single instruction which can perform various actions at different levels or on different names.
Inheritance: Inheritance is a key tool in OOA which facilitates reusing the codes. An object can inherit the properties of its parent class objects to avoid repetition of declaring the attributes of it every time.
There are different types of relationships among the Objects and among the Classes. They are
- Unary: This is a Unidirectional Relationship
- Binary: Here the relationship is in both ways
- Multiplicity: This explains the number of objects in one class that relate to a single object of the associated class.
- Reflexive: The objects which perform variety of roles in class results in association of class with itself.
Generalization: It is a process of combining the features of two different class and forming a new class. In other words combination of two subclasses to form a superclass is called Generalization.
It describes the parts and its whole relationship. Here the Parts exists in working condition even if the Whole doesn’t.
The composition also describes the same as the Aggregation but in contra. In Aggregation Parts remains even the whole fails but in Composition Parts too fails if the Whole fail.
Every Object in a Class work as a whole with strong message transformation among them. An object sends a message to another object to perform an operation. This transformation happens through certain methods whose names are represented by Camel Casing. It means the first word starts with small alphabet followed by a capital alphabet of the first alphabet of every other word.