8

Studying about Generalization and inheritance making me confuse, both gives the same meaning as if something is being inherited..but cant figure out the actual difference.

Pratik Lalan
  • 93
  • 1
  • 1
  • 6

2 Answers2

14

Generalization is the term that we use to denote abstraction of common properties into a base class in UML.

When we implement Generalization in a programming language, it is called Inheritance.

So, Generalization and Inheritance are same, the terminology just differs depending on the context where it is being used.

RKS
  • 1,370
  • 11
  • 20
3

The generalization/specialization relationship is implemented in object-oriented programming languages with inheritance.

Some Forms of Generalization

  1. Hierarchy: In the case of hierarchy, the commonalities are organized into a tree structured form. At the root of any subtree are found all the attributes and behavior common to all of the descendents of that root.

  2. Genericity: In this case, the commonality is expressed with the aid of a parameter. Various specializations are distinguished by what they provide for the parameter. For example, using genericity it is possible to represent the common properties of a "stack" through the generalization of a "stack of anything", where "anything" represents the parameter.

  3. Polymorphism: Polymorphism captures commonality in algorithms. Polymorphism allows the nested logic (or case statement) to be collapsed to a single case in which the different object types are treated in a uniform manner.

  4. Patterns: A pattern expresses a general solution (the key components and relationships) to a commonly occurring design problem. The attributes and behavior of the individual components are only partially defined to allow the pattern to be interpreted and applied to a wide range of situations.

Sanjit Kumar Mishra
  • 1,153
  • 13
  • 32
  • [Read more on Generalization and inheritance](http://www.universalteacherpublications.com/univ/free-asgn/2008/mcs32/page1.htm) – Sen Jacob Sep 18 '17 at 09:41