Log In
Quick search syntax
tags tag:apple
author user:martin
title title:apple
content content:apple
exclude -tag:apple
force match +apple
views views:100
score score:10
answers answers:2
is accepted isaccepted:true
is closed isclosed:true
10 votes

Which one of the following are essential features of an object-oriented programming language?

  1. Abstraction and encapsulation

  2. Strictly-typedness

  3. Type-safe property coupled with sub-type rule

  4. Polymorphism in the presence of inheritance

  1. I and II only
  2. I and IV only
  3. I, II and IV only
  4. I, III and IV only
in Object Oriented Programming 2.3k views

5 Answers

5 votes


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:

2 votes
ans b)
2 votes
ans should be B

object-oriented programming language is object based programming language +abstration+inheritance.

for any OOP language ABSTRACTION and INHERITANCE are compulsory.
2 votes

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)

1 vote

Ans: B it completes the three pillars of oops


Related questions

12 votes
3 answers
A common property of logic programming languages and functional languages is: both are procedural languages both are based on $\lambda$-calculus both are declarative both use Horn-clauses
asked Sep 22, 2014 in Programming Kathleen 3.3k views
5 votes
2 answers
Consider the class of object oriented languages. Which of the following is true? Pascal is an object oriented language. Object oriented languages require heap management. Object oriented languages cannot be implemented in language C. Object oriented languages are more powerful than declarative programming languages. Parallelism cannot be realized in object oriented languages.
asked Oct 26, 2015 in Object Oriented Programming makhdoom ghaya 389 views
5 votes
2 answers
Match the following concepts and their best possible descriptions. Concept Description i. overloading a. allows to define a class to have properties of another class ii. friend b. defining a set of similar functions iii. constructor c. used in dereferencing iv. protected d. used to give a non-member function access to the ... i-c, ii-f, iii-h, iv-a, v-g, vi-d i-b, ii-e, iii-c, iv-f, v-g, vi-s
asked Nov 1, 2014 in Object Oriented Programming Ishrat Jahan 924 views
23 votes
4 answers
double foo(int n) { int i; double sum; if(n == 0) { return 1.0; } else { sum = 0.0; for(i = 0; i < n; i++) { sum += foo(i); } return sum; } } Suppose we modify the above function $foo()$ ... modification the time complexity for function $foo()$ is significantly reduced. The space complexity of the modified function would be: $O(1)$ $O(n)$ $O(n^2)$ $n!$
asked Nov 14, 2016 in Programming jothee 3.9k views