Explain the ISA and HASA class relationships. How would you
implement each in a class design?
Answers were Sorted based on User's Feedback
Answer / nishikant sahu
"ISA" a relationship is aka Inheritance and used to extent
the capability of Base, whereas "HASA" relationship is aka
Containment use to take the all properties of BASE.
| Is This Answer Correct ? | 19 Yes | 3 No |
Answer / neelkamal yadav
A specialized class "is" a specialization of another class and, therefore, has the ISA relationship with the other class. An Employee ISA Person. This relationship is best implemented with inheritance. Employee is derived from Person. A class may have an instance of another class. For example, an employee "has" a salary, therefore the Employee class has the HASA relationship with the Salary class. This relationship is best implemented by embedding an object of the Salary class in the Employee class.
The answer to this question reveals whether the applicant has an understanding of the fundamentals of object- oriented design, which is important to reliable class design.
There are other relationships. The USESA relationship is when one class uses the services of another. The Employee class uses an object (cout) of the ostream class to display the employee's name on the screen, for example. But if the applicant gets ISA and HASA right, you don't need to go any further.
| Is This Answer Correct ? | 0 Yes | 0 No |
Answer / guest
A specialized class "is" a specialization of another class
and, therefore, has the ISA relationship with the other
class.
This relationship is best implemented by embedding an
object of the Salary class in the Employee class.
| Is This Answer Correct ? | 9 Yes | 13 No |
What do you mean by translation unit?
What is a vector c++?
What is a driver program?
write infinite loop in C++ which does not use any variable or constant?
What are multiple inheritances (virtual inheritance)?
How to tokenize a string in c++?
How do you define a class in c++?
What is stack unwinding?
What is the word you will use when defining a function in base class to allow this function to be a polimorphic function?
How can I disable the "echo" feature?
Can a new be used in place of old mallocq? If yes, why?
What is c++ prototype?