Object Oriented Programming Viva Questions: 1) What Is OOPS?
Object Oriented Programming Viva Questions: 1) What Is OOPS?
Object Oriented Programming Viva Questions: 1) What Is OOPS?
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?
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.
7) What is Inheritance?
Inheritance is a concept where one class shares the structure and behavior defined in another
class. If Inheritance applied to 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.
A constructor is a method used to initialize the state of an object, and it gets invoked at the time
of object creation. Rules for constructor 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 be declared using a token(virtual) in C++. It can be achieved in C/Python
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.
A 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 is a regular 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.
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 its 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 an Abstract
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 function body, 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 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.
The 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. It will override the implementation in the superclass by
providing the same method name, same parameter, and same return type.
An exception is an event that occurs during the execution of a program. Exceptions can be of any
type – Runtime exception, Error exceptions. Those exceptions are adequately handled through
exception handling mechanism like try, catch, and throw keywords.
A compiler recognizes a token, 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. Example: Brackets, Commas, Braces,
and Parentheses.
Overriding is the same method names with the same arguments and return types associated with
the class and its child class.
An object is an instance of a class. Objects hold multiple information, but classes don’t have any
information. Definition of properties and functions can be done in class and can be used by the
object.
Abstraction is a useful feature of OOPS, and it shows only the necessary details to the client of
an object. Meaning, it shows only required details for an object, not the inner constructors, of an
object. Example – When you want to switch on the television, it is not necessary to know the
inner circuitry/mechanism needed to switch on the TV. Whatever is required to switch on TV
will be shown by using an abstract class.
Access modifiers determine the scope of the method or variables that can be accessed from other
various objects or classes. There are five types of access modifiers, and they are as follows:
Private
Protected
Public
Friend
Protected Friend
Sealed modifiers are the access modifiers where the methods can not inherit it. Sealed modifiers
can also be applied to properties, events, and methods. This modifier cannot be used to static
members.
30) How can we call the base method without creating an instance?
Doing Inheritance from that class.-Use Base Keyword from a derived class.
The new modifier instructs the compiler to use the new implementation instead of the base class
function. Whereas, Override modifier helps to override the base class function.
– Parametric Constructor – With Parameters. Create a new instance of a class and also passing
arguments simultaneously.
Early binding refers to the assignment of values to variables during design time, whereas late
Binding refers to the assignment of values to variables during run time.
THIS pointer refers to the current object of a class. THIS keyword is used as a pointer which
differentiates between the current object with the global object. It refers to the current object.
The default access type of a Structure is public, but class access type is private. A structure is
used for grouping data, whereas a class can be used for grouping data and methods. Structures
are exclusively used for data, and it doesn’t require strict validation, but classes are used to
encapsulate and inherent data, which requires strict validation.
The default access modifier of a class is Internal and the default access modifier of a class
member is Private.
A pure virtual function is a function which can be overridden in the derived class but cannot be
defined. A virtual function can be declared as Pure by using the operator =0.
Dynamic or Run time polymorphism is also known as method overriding in which call to an
overridden function is resolved during run time, not at the compile time. It means having two or
more methods with the same name, same signature but with different implementation.
This is a special constructor for creating a new object as a copy of an existing object. There will
always be only one copy constructor that can be either defined by the user or the system.
42) What does the keyword virtual represented in the method definition?
False.
The base class is the most generalized class, and it is said to be a root class.
The superclass is the parent class from which another class inherits.
Binding is nothing but the association of a name with the class. Static Binding is a binding in
which name can be associated with the class during compilation time, and it is also called as
early Binding.
Dynamic Binding is a binding in which name can be associated with the class during execution
time, and it is also called as Late Binding.
Zero instances will be created for an abstract class. In other words, you cannot create an instance
of an Abstract Class.
50) Which OOPS concept exposes only the necessary information to the calling functions?
Encapsulation