● Object-Oriented Programming is a methodology or paradigm to design a
program using classes and objects. It simplifies the software development
and maintenance by providing some concepts defined below :
● Class is a user-defined data type which defines its properties and its
functions. Class is the only logical representation of the data. For
example, Human being is a class. The body parts of a human being are its
properties, and the actions performed by the body parts are known as
functions. The class does not occupy any memory space till the time an
object is instantiated.
C++ Syntax (for class) :
class student{
public:
int id; // data member
int mobile;
string name;
int add(int x, int y){ // member functions
return x + y;
}
};
● Object is a run-time entity. It is an instance of the class. An object can
represent a person, place or any other item. An object can operate on
both data members and member functions.
C++ Syntax (for object):
student s = new student();
Note : When an object is created using a new keyword, then space is
allocated for the variable in a heap, and the starting address is stored in
the stack memory. When an object is created without a new keyword,
then space is not allocated in the heap memory, and the object contains
the null value in the stack.
APNI KAKSHA
, ● Inheritance
Inheritance is a process in which one object acquires all the properties and
behaviors of its parent object automatically. In such a way, you can reuse,
extend or modify the attributes and behaviors which are defined in other
classes.
In C++, the class which inherits the members of another class is called
derived class and the class whose members are inherited is called base class.
The derived class is the specialized class for the base class.
C++ Syntax :
class derived_class :: visibility-mode base_class;
visibility-modes = {private, protected, public}
Types of Inheritance :
1. Single inheritance : When one class inherits another class, it is known
as single level inheritance
2. Multiple inheritance : Multiple inheritance is the process of deriving
a new class that inherits the attributes from two or more classes.
3. Hierarchical inheritance : Hierarchical inheritance is defined as the
process of deriving more than one class from a base class.
4. Multilevel inheritance : Multilevel inheritance is a process of deriving a
class from another derived class.
5. Hybrid inheritance : Hybrid inheritance is a combination of
simple, multiple inheritance and hierarchical inheritance.
● Encapsulation
Encapsulation is the process of combining data and functions into a single
unit called class. In Encapsulation, the data is not accessed directly; it is
accessed through the functions present inside the class. In simpler words,
attributes of the class are kept private and public getter and setter methods
are provided to manipulate these attributes. Thus, encapsulation makes the
concept of data hiding possible. (Data hiding: a language feature to restrict
access to members of an object, reducing the negative effect due to
dependencies. e.g. "protected", "private" feature in C++).
APNI KAKSHA
, ● Abstraction
We try to obtain an abstract view, model or structure of a real life problem,
and reduce its unnecessary details. With definition of properties of
problems, including the data which are affected and the operations which
are identified, the model abstracted from problems can be a standard
solution to this type of problems. It is an efficient way since there are
nebulous real-life problems that have similar properties.
Data binding : Data binding is a process of binding the application UI and
business logic. Any change made in the business logic will reflect directly to the
application UI.
● Polymorphism
Polymorphism is the ability to present the same interface for differing
underlying forms (data types). With polymorphism, each of these classes
will have different underlying data. A point shape needs only two
coordinates (assuming it's in a two-dimensional space of course). A circle
needs a center and radius. A square or rectangle needs two coordinates for
the top left and bottom right corners and (possibly) a rotation. An irregular
polygon needs a series of lines. Precisely, Poly means ‘many’ and morphism
means ‘forms’.
Types of Polymorphism IMP
1. Compile Time Polymorphism (Static)
2. Runtime Polymorphism (Dynamic)
Let’s understand them one by one :
● Compile Time Polymorphism : The polymorphism which is implemented at
the compile time is known as compile-time polymorphism. Example -
Method Overloading
APNI KAKSHA