oop-q-a
oop-q-a
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.
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
Inheritance.
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
void add(int& a, int& b); void add(double&
a, double& b); void add(struct bob& a,
struct bob& b);
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
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.
An interface is a collection of an abstract method. If the class implements an inheritance, and then thereby
inherits all the abstract methods of an interface.
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.
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.
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 good feature of OOPS, and it shows only the necessary details to the client of an object. Means, it
shows only required details for an object, not the inner constructors, 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.
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.
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.
30. How can we call the base method without creating an instance?
Yes, it is possible to call the base method without creating an instance. And that method should be “Static
method”.
Doing inheritance from that class.-Use Base Keyword from a derived class.
31. 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.
There are three various types of constructors, and they are as follows:
– Parametric Constructor – With Parameters. Create a new instance of a class and also passingarguments
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. Basically, it refers to the current object.
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.
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.
Example -.
[crayon-5b8545082b39c785950919/]
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.
A Sub class is a class that inherits from one or more base classes.
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.
50. Which OOPS concept exposes only necessary information to the calling functions?
Encapsulation