Oops Viva - Object Oriented Programming Techniques Viva and Assignment Questions and Answers
Oops Viva - Object Oriented Programming Techniques Viva and Assignment Questions and Answers
Oops Viva - Object Oriented Programming Techniques Viva and Assignment Questions and Answers
1. What is OOPS?
OOPS is abbreviated as Object Oriented Programming system in which programs are considered
as a collection of objects. Each object is nothing but an instance of a class.
1. Abstraction.
2. Encapsulation.
3. Inheritance.
4. Polymorphism.
3. What is a class?
A class is simply a representation of a type of object. It is the blueprint/ plan/ template that
describes the details of an object.
4. What is an object?
An object is an instance of a class. It has its own state, behavior, and identity.
5. What is Encapsulation?
Encapsulation is an attribute of an object, and it contains all data which is hidden. That hidden
data can be restricted to the members of that class.
6. What is Polymorphism?
Polymorphism is nothing but assigning behavior or value in a subclass to something that was
already declared in the main class. Simply, polymorphism takes more than one form.
Inheritance is a concept where one class shares the structure and behavior defined in another
class. If inheritance applied on one class is called Single Inheritance, and if it depends on
multiple classes, then it is called multiple Inheritance.
Manipulators are the functions which can be used in conjunction with the insertion (<<) and
extraction (>>) operators on an object. Examples are endl and setw.
9. Define a constructor?
A constructor is a method used to initialize the state of an object, and it gets invoked at the time
of object creation. Rules forconstructor are:
A destructor is a method which is automatically called when the object is made of scope or
destroyed. Destructor name is also same as class name but with the tilde symbol before the name.
An inline function is a technique used by the compilers and instructs to insert complete body of
the function wherever that function is used in the program source code.
A virtual function is a member function of a class, and its functionality can be overridden in its
derived class. This function can be implemented by using a keyword called virtual, and it can be
given during function declaration.
A virtual function can A token in C++, and it can be achieved in C Language by using function
pointers or pointers to function.
A friend function is a friend of a class that is allowed to access to Public, private or protected
data in that same class. If the function is defined outside the class cannot access such
information.
Friend can be declared anywhere in the class declaration, and it cannot be affected by access
control keywords like private, public or protected.
Function overloading an as a normal function, but it can perform different tasks. It allows the
creation of several methods with the same name which differ from each other by the type of
input and output of the function.
Example
Operator overloading is a function where different operators are applied and depends on the
arguments. Operator,-,* can be used to pass through the function, and it has their own precedence
to execute
An abstract class is a class which cannot be instantiated. Creation of an object is not possible
with an abstract class, but it can be inherited. An abstract class can contain only Abstract
method. Java allows only abstract method in abstract class while for other languages allow non-
abstract method as well.
The ternary operator is said to be an operator which takes three arguments. Arguments and
results are of different data types, and it depends on the function. The ternary operator is also
called a conditional operator.
Finalize method helps to perform cleanup operations on the resources which are not
currently used. Finalize method is protected, and it is accessible only through this class or by
a derived class.
A parameter is a variable used during the declaration of the function or subroutine and arguments
are passed to the an, and it should match with the parameter defined. There are two types of
Arguments.
• Call by Value – Value passed will get modified only inside the function, and it returns the
same value whatever it is passed it into the function.
• Call by Reference – Value passed will get modified in both inside and outside the functions and
it returns the same or different value.
Super keyword is used to invoke the overridden method which overrides one of its superclass
methods. This keyword allows to access overridden methods and also to access hidden members
of the superclass.
Method overriding is a feature that allows a subclass to provide the implementation of a method
that overrides in the main class. This will overrides the implementation in the superclass by
providing the same method name, same parameter and same return type.
The token is recognized by a compiler, and it cannot be broken down into component elements.
Keywords, identifiers, constants, string literals and operators are examples of tokens.
Even punctuation characters are also considered as tokens – Brackets, Commas, Braces and
Parentheses.
Overloading is static binding whereas Overriding is dynamic binding. Overloading is nothing but
the same method with different arguments, and it may or may not return the same value in the
same class itself.
Overriding is the same method names with same arguments and return types associated with the
class and its child class.