Generalization, Specialization, and InheritanceTerms such as superclass, subclass, or inheritance come to mind when thinking about the object-oriented approach. These concepts are very important when dealing with object-oriented programming languages such as Java, Smalltalk, or C++. For modelling classes that illustrate technical concepts they are secondary. The reason for this is that modelling relevant objects or ideas from the real world gives little opportunity for using inheritance (compare the class diagram of our case study). Nevertheless, we would like to further introduce these terms at this point in the figure below.
Generalization
Generalization is the process of extracting shared characteristics from two or more classes, and combining them into a generalized superclass. Shared characteristics can be attributes, associations, or methods.
In Figure below, the classes Piece of Luggage (1) and Piece of Cargo (2) partially share the same attributes. From a domain perspective, the two classes are also very similar. During generalization, the shared characteristics (3) are combined and used to create a new superclass Freight (4). Piece of Luggage (5) and Piece of Cargo (6) become subclasses of the class Freight.
A shopping mall is a place where most people from all walks of life will get their daily n...
EasyToll is a Software and Hardware-based project designed to collect a tax on all vehicle...
It is an endless runner game made in C# and unity that aims to induldge the player in its...
This Web Based application has been developed on the idea of getting help online from prof...
this project is designed specially for the hillys and mountains areas where there is alot...