- Procedural Programming
- Focus on processes or actions that a program takes
- Programs are typically a collection of functions
- Data is declared separately
- Data is passed as arguments into functions
As Programs get larger they become more:
Difficult to understand
Difficult to maintain
Difficult to extend
Difficult to debug
Difficult to code
Object Oriented
Programming
Object-oriented programming (OOP) is a programming paradigm based on
the concept of "objects", which can contain data and code: data in the form of
fields (often known as attributes or properties), and code, in the form of
procedures (often known as methods).
- Encapsulation
- Objects contain data and operations that work on that data
- Abstract Data Type ( ADT)
Object Oriented
Programming
- Information - Hiding
- Encapsulation
- Implementation - specific logic be hidden
- User of class code to be interface since they don’t need to know the
implementation
- More abstraction
- Easier to test, debug, maintain and extend
09:Object Oriented Programming provide
code reuse
Code reuse is the practice of using existing code for a new function or
software.
This saves time, improves the features in your program, and generally makes
for more cost-effective programming. Reusability is an important issue in
software engineering.
09:Object Oriented Programming
A class is an extensible program-code-template for creating objects,
although a very tiny application might need just a single class. The
class must go within a pair of curly braces.
09:Object Oriented Programming provide
code reuse
Code reuse is the practice of using existing code for a new function or
software.
This saves time, improves the features in your program, and generally makes
for more cost-effective programming. Reusability is an important issue in
software engineering.
Accessing Class
We can access
- Class attributes
- Class methods
Some class members will not be accessible (more on that later)
We need an object to access instance variables
Class Access Modifier
- public , private and protected
- public
- Accessible everywhere
- private
- Accessible only by members or friends of the class
- protected
- Used with inheritance - we’ll talk about it in the next section
Class Access Modifier
- public , private and protected
- public
- Accessible everywhere
- private
- Accessible only by members or friends of the class
- protected
- Used with inheritance - we’ll talk about it in the next section
Class Access Modifier
- public , private and protected
- public
- Accessible everywhere
- private
- Accessible only by members or friends of the class
- protected
- Used with inheritance - we’ll talk about it in the next section
Class Access Modifier
- public , private and protected
- public
- Accessible everywhere
- private
- Accessible only by members or friends of the class
- protected
- Used with inheritance - we’ll talk about it in the next section
Class Access Modifier
- public , private and protected
- public
- Accessible everywhere
- private
- Accessible only by members or friends of the class
- protected
- Used with inheritance - we’ll talk about it in the next section
What are setters and getters?
Getters and setters are used to protect your data, particularly when creating
classes. For each instance variable, a getter method returns its value while a setter
method sets or updates its value. Given this, getters and setters are also known as
accessors and mutators, respectively.
What is a abstract?
By definition, an abstract class in C++ is a class that has at
least one pure virtual function (i.e., a function that has no
definition).
What is a C++ abstract class?
By definition, an abstract class in C++ is a class that has at
least one pure virtual function (i.e., a function that has no
definition).
What is a C++ abstract class?
Abstract classes are essential to providing an abstraction to
the code to make it reusable and extendable.
For example, a Vehicle parent class
with Truck and Motorbike inheriting from it is an
abstraction that easily allows more vehicles to be added.
However, even though all vehicles have wheels, not all
vehicles have the same number of wheels – this is where
a pure virtual function is needed.