OOPS Questions and Answers:
Part I
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.
2)
Write basic concepts of OOPS?
Following
are the concepts of OOPS and are as follows:.
- Abstraction.
- Encapsulation.
- Inheritance.
- Polymorphism.
3)
What is a class?
Class is a collection of the object,
and it has common structure and behavior.
4)
What is an object?
Object is termed as an instance of a
class, and 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.
Levels
are Public, Protected, Private, Internal and Protected Internal.
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 on one class is called Single Inheritance, and if it
depends on multiple classes, then it is called multiple Inheritances.
8)
What are manipulators?
Manipulators are the functions which
can be used in conjunction with the insertion (<<) and extraction
(>>) operators on an object.
9)
Define a constructor?
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:
- Constructor Name should be same as class name.
- Constructor must have no return type.
10)
Define Destructor?
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.
11)
What is Inline function?
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.
12)
What is a virtual function?
Virtual function is a member function
of 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.
Virtual function can be achieved in
C++, and it can be achieved in C Language by using function pointers or
pointers to function.
13.
What is friend function?
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.
14)
What is function overloading?
Function overloading is defined as a
normal function, but it has the ability to perform different tasks. It allows
creation of several methods with the same name which differ from each other by
type of input and output of the function.
Example
void add(int&
a, int& b);
void add(double&
a, double& b);
void add(struct
bob& a, struct bob& b);
15)
What is operator overloading?
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.
Example:
class
complex {
double real, imag;
double real, imag;
public:
complex(double r, double i) :
real(r), imag(i) {}
complex(double r, double i) :
real(r), imag(i) {}
complex
operator+(complex a, complex b);
complex operator*(complex a, complex b);
complex& operator=(complex a, complex b);
}
complex operator*(complex a, complex b);
complex& operator=(complex a, complex b);
}
a=1.2,
b=6
16)
What is an abstract class?
An abstract class is a class which
cannot be instantiated. Creation of an object is not possible with abstract class,
but it can be inherited. An abstract class can contain only Abstract method.
17)
What is a ternary operator?
Ternary operator is set to be an
operator which takes three arguments. Arguments and results are of different
data types, and it is depends on the function. Ternary operator is also called
as conditional operator.
18)
What is the use of finalize method?
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.
19)
What are different types of arguments?
A parameter is a variable used during
the declaration of the function or subroutine and arguments are passed to the
function , 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.
20)
What is method overriding?
Method overriding is a feature that
allows sub class to provide implementation of a method that is already defined
in the main class. This will overrides the implementation in the super class by
providing the same method name, same parameter and same return type.
21)
What is an interface?
An interface is a collection of
abstract method. If the class implements an inheritance, and then thereby
inherits all the abstract methods of an interface.
22)
What is exception handling?
Exception is an event that occurs
during the execution of a program. Exceptions can be of any type – Run time
exception, Error exceptions. Those exceptions are handled properly through
exception handling mechanism like try, catch and throw keywords.
23)
Difference between overloading and
overriding?
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 associates with
the class and its child class.
24)
Difference between class and an object?
An object is an instance of a class.
Objects hold any information , but classes don’t have any information.
Definition of properties and functions can be done at class and can be used by
the object .Class can have sub-classes, and an object doesn’t have sub-objects.
25)
What is an abstraction?
Abstraction is a good feature of OOPS ,
and it shows only the necessary details to the client of an object. Means, it
shows only necessary details for an object, not the inner details of an object.
Example – When you want to switch On television, it not necessary to show all
the functions of TV. Whatever is required to switch on TV will be showed by
using abstract class.
26)
What are access modifiers?
Access modifiers determine the scope of
the method or variables that can be accessed from other various objects or
classes. There are 5 types of access modifiers, and they are as follows:.
- Private.
- Protected.
- Public.
- Friend.
- Protected Friend.
27)
What is sealed modifiers?
Sealed modifiers are the access
modifiers where it cannot be inherited by the methods. Sealed modifiers can
also be applied to properties, events and methods. This modifier cannot be
applied to static members.
28)
What is the difference between new and override?
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.
29)
What are the various types of constructors?
There are three various types of constructors,
and they are as follows:.
·
Default Constructor – With no
parameters.
·
Parametric Constructor – With
Parameters. Create a new instance of a class and also passing arguments
simultaneously.
·
Copy Constructor – This creates a new
object as a copy of an existing object.
30)
What is early and late binding?
Early binding refers to assignment of values
to variables during design time whereas late binding refers to assignment of
values to variables during run time.
31)
What is the difference between structure
and a class?
Structure default access type is
public, but class access type is private. A structure is used for grouping data
whereas 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 encapsulates and inherit data which requires strict validation.
32)
What is dynamic or run time polymorphism?
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.
33)
Whether static method can use non static members?
False.
34)
What are base class, sub class and super class?
Base
class
is the most generalized class, and it is set to be a root class.
Sub
class
is a class that inherits from one or more base classes.
Super
class
is another type of class from which another class inherits.
35)
What is static and dynamic binding?
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.
Thanks to Google