Which one of the following are essential features of an object-oriented programming language?
Abstraction and encapsulation
Type-safe property coupled with sub-type rule
Polymorphism in the presence of inheritance
There have been several attempts at formalizing the concepts used in object-oriented programming. The following concepts and constructs have been used as interpretations of OOP concepts:
Type safety is the extent to which a programming language discourages or prevents type errors. A type error is erroneous or undesirable program behaviour caused by a discrepancy between differing data types for the program's constants, variables, and methods (functions), e.g., treating an integer (int) as a floating-point number (float).
Hence, II and III are clearly not essentials.
I & IV on the other hand form an OOPs language.
Answer : (B)
Ans: B it completes the three pillars of oops