Download - Lecture02
Lecture 02
Fundamentals
of Object-Oriented
Programming
What Are Objects?
Software objects model real-world objects or abstract concepts. dog, bicycle, queue
Real-world objects have states and behaviors. Dogs' states: name, color, breed, hungry Dogs' behaviors: barking, fetching
How do software objects implement real-world objects? Use variables/data to implement states. Use methods/functions to implement behaviors.
An object is a software bundle of variables and related methods.
Software ObjectVisual Representation
Instance Variables Vs Instance Methods
Software BicycleVisual Representation
What Are Classes?
• A class is a blueprint or prototype defining the variables and methods common to all objects of a certain kind.
• An object is an instance of a certain class.
• After you have created a class, you must create an instance of it before you can use.
• Class variables and class methods.
What Are Messages?
Software objects interact and communicate with each other by sending messages to each other.
Components Of A Message
The object to whom the message is addressed (YourBicycle)
The name of the method to perform (changeGears) Any parameters needed by the method (lowerGear)
O-O Principles
• Abstraction - take only important information
• Encapsulation - hiding or combine data and operations on data in a single unit.
• Inheritance - create new objects from existing objects.
• Polymorphism-the ability to use the same expression to denote different operations.
Encapsulation
• The objects' variables make up the center of the object.
• Methods surround and hide the object's center from other objects.
• Benefit of encapsulation: Modularity & Information Hiding.
• For implementation or efficiency reasons, an object may wish to expose some of its variables or hide some of its methods.
Inheritance
• Inheritance allows classes to be defined in terms of other classes.
• Each subclass inherits variables and methods from its superclass.
• Subclasses can add variables and methods to the ones they inherit from the superclass.
• Subclasses can also override inherited methods and provide specialized implementations for those methods.
Class Hierarchy(Inheritance Hierarchy)
Superclass vs Subclass. Base Class vs Derived Class.
Polymorphism and Overloading
• Polymorphism allows the use of operators or functions in different ways, depending on the data they are operating on.
• When an existing operator (eg. + or =) is given the capability to operate on a new data type, it is said to be overloaded.
• Overloading is a kind of polymorphism; it is also an important feature of OOP.
Example of operator overloading and polymorphism)• the + operator know how to treat an integer and a float
differently.
Benefits of OOPReusability
• Once written, created, and debugged, a class can be distributed to other programmers for use in their own programs.
• Reusability facilitates component-based software design and implementation.
• A programmer can also take an existing class and, without modifying it, add additional features and capabilities to it.
Benefits of OOPCreating New Data Types
• Objects and classes give the programmer a convenient way to construct new data types.
• Many features of C++ are intended to facilitate the creation of new data types.
• The ability to create new data types leads to extensible languages and programs.
• In C++, new data types can be built on top of existing (system or user-defined) data types.
C++ Program Structure
Header files
preprocessor statements
class
{ …..
}
main( )
{ ……
}
#include <iostream.h>
int main( ) // VOID
{
cout << “Welcome to C++”;
return 0;
}
Variable declarations & valid C++ statements
Data Members and Member Functions
Example 2
#include <iostream.h>
int main ( )
{ int a , b, c, sum =0;
cout << “ enter a value “<<endl;
cin >> a;
cout << “ enter b value “<<endl;
cin >> b;
cout << “ enter c value “<<endl;
cin >> c;
Sum = a + b + c;
cout << “ the sum is “<< sum;
OTHER DATA TYPESChar
int long int
floatdouble
Input / Output
Cout - used for printing out the output
Syntax :
Cout << “Message if needed”<< variablename;
<< is called the insertion operator.
Cin - used for getting a input from the keyboard
Syntax:
Cin >> variable name;
>> is called the extraction operator
Other Points
Remark statement - it is a non executable statement
used for documentation
// or /* statements */
escape sequences:
\n - new line
\t - horizontal tab
\r - carriage return
\a - bell
\\ - back slash \” - double quotations