Question


Virtusa UK Ltd
GB
Last activity: 25 Aug 2017 17:43 EDT
CLSA Grunger class structure
Hi
In the GRUNGER sample LSA applicaiton, Is it valid for Replacement class to pattern inherit Product? Since Replacement is not a Product, should it not belong to Classgroup?
Thanks
Ganesh
***Moderator Edit: Vidyaranjan | Moved from PSC to LSA Community***
-
Like (0)
-
Share this page Facebook Twitter LinkedIn Email Copying... Copied!


Randstad Technologies US
US
It should be part of product only. because there is not replacement concept if there is no product sold.Replacement is part and parcel of product and may not exist on its own.May the term is misleading but we can read it as product replacement


Pegasystems Inc.
US
Well said.
Pattern inheritance primarily applies to inheriting Data Model-related rules, including Sections that specifically display Properties defined in the pattern-inherited class.
Nested containment hierarchies are not restricted to is-a relationships, an example being taxonomies that continually narrow the definition of organisms.
Pega's rule resolution capability goes beyond single-inheritance capability found in languages such as Java.
When using pattern inheritance you still have the option of specifying the "is-a" class that is being extended.


Randstad Technologies US
US
Thank you Lee for detailed explanation


Asurion
US
Well not to mention again... without JAVA there is no Pega. And Java does support multiple inheritance in some way. Only to avoid Memory manipulations by developers and ambiguity of multiple inheritance JAVA is built that way.


Pegasystems Inc.
US
Java supports Interfaces but does not support multiple inheritance unlike C++ which does. Yes the decision was purposely made in Java not to support multiple inheritance.
See http://javapapers.com/core-java/why-multiple-inheritance-is-not-supported-in-java/
Also see: https://en.wikipedia.org/wiki/Inheritance_(object-oriented_programming)
Reportedly, Java inventor James Gosling has spoken against implementation inheritance, stating that he would not include it if he were to redesign Java.[16] Language designs that decouple inheritance from subtyping (interface inheritance) appeared as early as 1990;[18] a modern example of this is the Go programming language
Implementation inheritance is what seems to trip everyone up when it comes to pattern inheritance. If the inherited implementation applies use it, if not ignore it.
As stated earlier, data model inheritance is the primary benefit of using pattern inheritance.
Java supports Interfaces but does not support multiple inheritance unlike C++ which does. Yes the decision was purposely made in Java not to support multiple inheritance.
See http://javapapers.com/core-java/why-multiple-inheritance-is-not-supported-in-java/
Also see: https://en.wikipedia.org/wiki/Inheritance_(object-oriented_programming)
Reportedly, Java inventor James Gosling has spoken against implementation inheritance, stating that he would not include it if he were to redesign Java.[16] Language designs that decouple inheritance from subtyping (interface inheritance) appeared as early as 1990;[18] a modern example of this is the Go programming language
Implementation inheritance is what seems to trip everyone up when it comes to pattern inheritance. If the inherited implementation applies use it, if not ignore it.
As stated earlier, data model inheritance is the primary benefit of using pattern inheritance.
With pattern inheritance the object class can change dramatically when traversing the class name right-to-left whereas with an is-a relationship the class in question is always a member of the class being extended.


Virtusa UK Ltd
GB
Thanks very much for the clarifications.