0092 3125718857
WhatsApp for More Details
IMPORTANT QUESTION AND ANSWERS About OOP ( Object Oriented Programming Language) cs619
First generation
Machine language 0/1 binary language
Second generation
Assembly language Add,update,mov,sub
Third generation
OOPS ,C++,Java,VB,C#,
Fourth generation
Sql , MS sql ,My Sql,Oracle,Sql Light
Fifith generation
Pascal / Lisp
Its called third generations languages
C++,Java,Vb.Net,C#.Net
What is Object:/ Entity
An object is a real-world entity that keeps together property states and behaviors.
For example, A “Bike” usually has common elements such as bike color, engine, mileage etc. In OOP terminology these would be called as a Class Properties or Attributes of a Bike object. Here is the example of Object:Its third generation language .
School management system entities,School,Teacher,Students,Class,Books
Attributes
Rool no,name,classid ,book id
Functions
Read,exam write,break,leave
Attributes
School –EMIS Code,Name,Address,Contact
Teacher-Name,Teacher ID,Designation
For example, if you consider “Bike” as a class then its behavior is to get bike color, engine, mileage etc. Here is the example of Method:
What is Method:/actions/functions
Method is an object’s behavior.Methods are mostly develop for reusability,behaviour of bike is that .run,gair add/remove,increase /decrease race,press break
What is Class:
A class is a collection of objects and represents description of objects that share same attributes and actions. It contains characteristics of the objects such as objects attributes, actions or behaviors.
Student |
ID |
Name |
Class |
Functions() |
Save |
Update |
Public class Student
{
//attributes immplementation
int id = 0;
string name = “Ahmad”;
string stclassa=”inter”;
double marks=520;
public int abc { get; set; }
//function implementation
Private void save()
{
//funciont call
update();
id = reset();
//get
id = abc;
}
publicvoid update()
{
//funciont call
id = reset();
}
privateint reset()
{
id = 0;
name = “”;
stclassa = “”;
marks=0;
//set
abc = 2;
return id;
}
}
What is abstraction:
Abstraction is “To represent the essential feature without representing the background details.”
Abstraction lets you focus on what the object does instead of how it does it.
Abstraction provides you a generalized view of your classes or objects by providing relevant information.
Abstraction is the process of hiding the working style of an object, and showing the information of an object in an understandable manner.
Real-world Example of Abstraction
Suppose you have an object Mobile Phone.
Suppose you have 3 mobile phones as in the following:
Nokia 1400 (Features: Calling, SMS)
Nokia 2700 (Features: Calling, SMS, FM Radio, MP3, Camera)
Black Berry (Features:Calling, SMS, FM Radio, MP3, Camera, Video Recording, Reading E-mails)
Abstract information (necessary and common information) for the object “Mobile Phone” is that it makes a call to any number and can send SMS.
— abstract class not multiple inherited;
So that, for a mobile phone object you will have the abstract class as in the following:
abstract class MobilePhone
{
public void Calling();
public void SendSMS();
}
public class Nokia1400 : MobilePhone
{
}
public class Nokia2700 : MobilePhone
{
public void FMRadio();
public void MP3();
public void Camera();
}
public class BlackBerry : MobilePhone
{
public void FMRadio();
public void MP3();
public void Camera();
public void Recording();
public void ReadAndSendEmails();
}
Abstraction means putting all the variables and methods in a class that are necessary.
For example: Abstract class and abstract method.
Abstraction is a common thing.
What is encapsulation:
Encapsulation is the process of keeping or enclosing one or more items within a single physical or logical package. In object oriented programming methodology it prevents access to implementation details.
Encapsulation is implemented by using access specifiers. An access specifier defines the scope and visibility of a class member. Available access specifiers are public, private, protected, internal etc.
How we can achieve Encapsulation?
We can achieve Encapsulation by using private access modifier as shown in below example method.
private string GetEngineMakeFormula()
{
private string formula = “a*b”;
return formula;
}
Example – [Encapsulation]
public class Bike
{
public int mileage = 65;
public string color = “Black”;
private string formula = “a*b”;
//Its public – so accessible outside class
public int GetMileage()
{
return mileage;
}
//Its public – so accessible outside class
public string GetColor()
{
return color;
}
//Its private – so not accessible outside class
private string GetEngineMakeFormula()
{
return formula;
}
}
public class Program
{
public static void Main(string[] args)
{
Bike objBike = new Bike();
Console.WriteLine(“Bike mileage is : ” + objBike.GetMileage()); //accessible outside “Bike”
Console.WriteLine(“Bike color is : ” + objBike.GetColor()); //accessible outside “Bike”
//we can’t call this method as it is inaccessible outside “Bike”
//objBike.GetEngineMakeFormula(); //commented because we can’t access it
Console.Read();
}
}
So as you can see from above code that we hide GetEngineMakeFormula() method by using private access modifier because there is no need to give the make formula to users. So exposed only necessary methods for users to use it using public access modifier.
What are Access Specifiers:
Access Modifiers (Access Specifiers) describes as the scope of accessibility of an Object and its members. All C# types and type members have an accessibility level.
C# provide five access specifiers , they are as follows :
Class/Method/Variable.
public :
public is the most common access specifier in C# . It can be access from anywhere, that means there is no restriction on accessibility. The scope of the accessibility is inside class as well as outside. The type or member can be accessed by any other code in the same assembly or another assembly that references it.
private :
The scope of the accessibility is limited only inside the classes or struct in which they are declared. The private members cannot be accessed outside the class and it is the least permissive access level.
protected :
The scope of accessibility is limited within the class or struct and the class derived (Inherited )from this class.
internal :
The internal access modifiers can access within the program that contain its declarations and also access within the same assembly level but not from another assembly.
protected internal :
Protected internal is the same access levels of both protected and internal. It can access anywhere in the same assembly and in the same class also the
What are Constructors:
Constructors: Constructors are the special method of class which is used when initializes object. It looks like similar to method but it has same name as class. It is created with the same name of class and notable thing is that it never returns value so you can’t use this method for returning some value.
Guidelines while creating Constructors:
Destructors (~): Destructors are used to removing all the instance of classes and releasing resources. It is actually works like a garbage collector. It is useful to use destructor for security reasons as it clears memory by removing all the instance of objects and classes.
Guidelines while creating Destructors:
What are Overloaded Methods:
Overloading occurs when two or more methods in one class have the same method name but different parameters.
What are Override Methods:
Overriding means having two methods with the same method name and parameters (i.e., method signature). One of the methods is in the parent class and the other is in the child class.
What are keywords:
a keyword is a word that is reserved by a program because the word has a special meaning. Keywords can be commands or parameters. Every programming language has a set of keywords that cannot be used as variable names. Keywords are sometimes called reserved names
What are Indexers:
An Index is a numerical representation of an item’s position in a sequence. This sequence can refer to many things: a list, a string of characters, or any arbitrary sequence of values. In some programming languages, an array can be defined by key-value pairs, where a specific key points to a value.
What is Inheritance:
Parent class and some child
Child class access some features of parent class.
Parent table ..Gender
ID,name,address,dob
Child table ..Student
Roll no,Gender id, subjects,marks,
Child Table ..Teacher
ID,GenderID,specialist,designation,salary
What is Multi Level Inheritance:
Parent-Child-Child
What is PolyMorphysim:
One method implemented with many way but same name,method name same but parameter different
Student()
Student(name,address)
Student(id,name)
What is Composition:
What is Object:
Object is entity ,person,place
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:
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.
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 to one class is called Single Inheritance, and if it depends on multiple classes, then it is called multiple Inheritance.
8) What are manipulators?
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) Explain the term 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 for constructor are:
10) Define Destructor?
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.
11) What is an Inline function?
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.
12) What is a virtual function?
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.
13) What is a friend 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.
14) What is function overloading?
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.
Example
1
2 3 4 5 |
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 its own precedence to execute
16) What is an abstract class?
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 method. Java allows only abstract method in abstract class while other languages allow non-abstract method as well.
17) What is a ternary operator?
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.
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 the 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 body, and it should match with the parameter defined. There are two types of Arguments.
20) What is the super keyword?
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.
It also forwards a call from a constructor, to a constructor in the superclass.
21) What is method overriding?
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.
22) What is an interface?
An interface is a collection of an abstract method. If the class implements an interface, it thereby inherits all the abstract methods of an interface.
Java uses Interface to implement multiple inheritances.
23) What is exception handling?
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.
24) What are tokens?
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.
25) What is the main 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 equal value in the same class itself.
Overriding is the same method names with the same arguments and return types associated with the class and its child class.
26) What is the main difference between a class and an object?
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.
A class can have sub-classes, while an object doesn’t have sub-objects.
27) What is an abstraction?
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.
28) What are the access modifiers?
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:
29) What are sealed modifiers?
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?
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.
32) What are the various types of constructors?
There are three types of constructors:
– Default Constructor – With no parameters.
– Parametric Constructor – With Parameters. Create a new instance of a class and also passing arguments simultaneously.
– Copy Constructor – Which creates a new object as a copy of an existing object.
33) What is early and late Binding?
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.
34) What is ‘this’ pointer?
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.
35) What is the difference between structure and a class?
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.
36) What is the default access modifier in a class?
The default access modifier of a class is Private by default.
37) What is a pure virtual function?
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 –
1
2 3 |
Virtual void function1() // Virtual, Not pure
Virtual void function2() = 0 //Pure virtual |
38) What are all the operators that cannot be overloaded?
Following are the operators that cannot be overloaded -.
39) 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.
40) Do we require a parameter for constructors?
No, we do not require a parameter for constructors.
41) What is a copy constructor?
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?
It means we can override the method.
43) Whether static method can use nonstatic members?
False.
44) What are a base class, subclass, and superclass?
The base class is the most generalized class, and it is said to be a root class.
A Subclass is a class that inherits from one or more base classes.
The superclass is the parent class from which another class inherits.
45) 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.
46) How many instances can be created for an abstract class?
Zero instances will be created for an abstract class. In other words, you cannot create an instance of an Abstract Class.
47) Which keyword can be used for overloading?
Operator keyword is used for overloading.
48) What is the default access specifier in a class definition?
Private access specifier is used in a class definition.
49) Which OOPS concept is used as a reuse mechanism?
Inheritance is the OOPS concept that can be used as a reuse mechanism.
50) Which OOPS concept exposes only the necessary information to the calling functions?
Encapsulation