01
02
LECTURE 4
04
Today’s Agenda
01 Relation Between OOP & C++
02 Types Of Member Functions
03
04 Terminologies Used In C++ & OOP
05 Classification of Prog. Lang. According
to OOP
06
Relation Between OOP & C++
What is the relation between OOP and C++ ?
OOP C++
1. It is a methodology or approach of 1. It is a language which is based on upon the
writing/developing programs. principles of OOP.
2. It teaches us those principles or concepts 2. In other words C++ provides us syntaxes to
using which we can develop programs which implement the concepts we study in OOP.
are SECURE as well as can MODEL REAL 3. For example, OOP says we should have
WORLD SITUATIONS. secure data i.e. we should protect our data
3. It came in the year 1967 and world’s first from illegal and unauthorized access and to
object oriented language was SIMULA 67. achieve this we use the keyword private
4. Simula language was used in labs to given by C++.
experiment simulation.
Types Of Member Functions
Accessors :
These are those member function which NEVER change the value of
the data members of the calling object. In other words they only ACCESS the
values of data members but they do not change them.
It means that we sjndefi e
Mutators :
These are those member functions which change/manipulate the
values of the data members of the calling object.
Terminologies Use in C++ & OOP
C++ words OOP words
1. Objects 1. Instance, Entity
2. Data members 2. Attributes, Properties, Features,
Fields
3. Member Functions
3. Method, Actions, Behaviour
4. Member Function call
4. Message Passing
It is the communication
Between an INSTANCE and it’s
BEHAVIOUR.
Classification of Prog. Languages
Classification of Programming language According to OOP:
According to OOP, all the programming Language of the world can be categorized
in to 4 categories and this categorization is done on the basis of support a
language provides to, three MOST IMPORTANT principles of OOP called as:
a. Encapsulation
b. Polymorphism
c. Inheritance
Classification of Prog. Languages
Following are the details of this categorization:
1. Non Object Oriented Languages: These are those language which do not at all
support any kind of the three principles mentioned above.
Examples are: C, Cobol, Pascal, Fortran etc.
2. Object Based Languages / Partially Object Oriented Language: These are those
language which do not support all the principles mentioned above but they
support some of them. The most popular examples in this category is the
Language Called JAVA SCRIPT, It supports Encapsulation, Polymorphism, but it
does not support inheritance other examples are: VB Script, ActionScript,
JScript etc.
Classification Of Prog. Languages
3. Object Oriented Languages: These are those language, which are atleast support
all the three principles mentioned above but they never force a programmer
to always use these principles in his program.
Examples are: classic C++, modern C++, Python, PHP etc.
.
4. Pure Object Oriented / Strict Object Oriented / Full Object Oriented Languages:
These are those languages which not only support the above three principles
but they perform all of their activities in an object oriented way.
Classification Of Prog. Languages
Their three important characteristics are:
a. No global declaration.
b. It is compulsory to use “class” in even the simplest program of these
language.
.
c. They don’t support variables as everything in them is object.
Strictly speaking, them in today’s world a language which can be called 100%
pure object oriented (without any controversy) is Smalltalk.
Classification Of Prog. Languages
What about JAVA, C#, Scala etc ?
These language can also be termed as pure object oriented languages but some
people think that they are not pure object oriented as they support concept of
data types and variables. But technically speaking , language like Java allow us
to convert even variables into objects using the concepts of Wrapper Classes.
. then even Java can be called as a
So if this point is taken into consideration
Pure Object Oriented Language.
End of Lecture 4
For any queries mail us @: scalive4u@[Link]
Call us @ : 0755-4271659, 7879165533
Thank you