Download - Introduction to Object Orientation
Introduction to Object Orientation
Dr. Ahmed Youssef
Object-Orientation It is a kind of thinking methodologyEverything in the world is an object;
Any system is composed of objects;
The evolution and development of a system is caused by the interactions among the objects inside or outside the system
2SWE 316- Ahmed Youssef
Decomposition of the large problem into small parts that can be solved separately.
Why Object Oriented?
Large Application
3SWE 316- Ahmed Youssef
Object-Oriented Concept
Object & Class InheritancePolymorphismEncapsulation
4SWE 316- Ahmed Youssef
Everything in the world is an object
A flower, a tree, an animal A student, a professor A desk, a chair, a classroom,
a building A university, a city, a country The world, the universe A subject such as CS, SWE,
Math, History, …5SWE 316- Ahmed Youssef
Object
6SWE 316- Ahmed Youssef
Any system is composed of objectsA cultural systemAn educational systemAn economic systemAn Information systemA computer system
7SWE 316- Ahmed Youssef
Procedure Program view
Main Program
Data
Procedure1
Procedure2
Procedure3
8SWE 316- Ahmed Youssef
Main Program(Also a module)
Data
Data Data1
Module2
+
Data Data2
Module1
+
Data Data1
Procedure1Procedure2
The main program coordinates calls to procedures in separate modules and hands over appropriate data as parameters.
Procedure3
9SWE 316- Ahmed Youssef
Object1
Data1+Procedures1
Data Data1Object3
Data3 + Procedures3
Object2
Data2 + Procedures2
Object4
Data4 + Procedures4
10SWE 316- Ahmed Youssef
11
Classesobjects sharing common characteristics
containstate: attributes, fields, variables, data member
behavior: functions, methods
SWE 316- Ahmed Youssef
Class
Person
Ahmed
Majed
Salem
Saad
12SWE 316- Ahmed Youssef
Class
Student
Ahmed
Majed
Salem
Saad
13SWE 316- Ahmed Youssef
Class
Tennis Player
Bandar
Mosaed
Nayef
Khaled
14SWE 316- Ahmed Youssef
Class
Institute
Social Technology
Engineering
Science
Agricultural Technology
15SWE 316- Ahmed Youssef
Class
NameAttributesOperations
…
16SWE 316- Ahmed Youssef
ClassStudent
StudentIDFirstNameLastNameAddressetc…
RegisterForCourseDropCourseetc...
17SWE 316- Ahmed Youssef
ClassTennis Player
FirstNameLastNameNationalityRankingetc…RegisterForTournamentetc...
18SWE 316- Ahmed Youssef
Class Car
Car Reg. NumberMakerModelColoretc…AccelerateStopetc...
19SWE 316- Ahmed Youssef
ClassAirplane
Plane NumberManufacturerModeletc…TakeOffLandingetc...
20SWE 316- Ahmed Youssef
21
Object & Class
SWE 316- Ahmed Youssef
Object & ClassStudent
StudentIDFirstNameLastNameAddressetc…
RegisterForCourseDropCourseetc...
Student
Ahmed
Majed
Salem
Saad
22SWE 316- Ahmed Youssef
Object & ClassStudent1
B4555555AhmedAlfgdfg7146 sdasds7etc…
RegisterForCourseDropCourseetc...
Student
Ahmed
Majed
Salem
Saad
23SWE 316- Ahmed Youssef
Student1
B4555555AhmedAlfgdfg7146 sdasds7etc…
RegisterForCourseDropCourseetc...
Student
StudentIDFirstNameLastNameAddressetc…
RegisterForCourseDropCourseetc...
24SWE 316- Ahmed Youssef
Building Class
SWE 316- Ahmed Youssef 25
Any Thing
Attributes
Behavior
Student- Class
Lname string Student_ID
string
Levelint
Telstring
Gender string
Programstring
Print_infoInput: -return: voidUpdate_i
nfoInput: name or IDReturn : void
Fname string
26
MainClass
StudentClass
3.
Man
age
obje
ct
1. Create objects from
class
Obj1
Obj2
Obj3
Obj4
2. objects
27
Student Class
Instance variable
Constructor
Constructor
28
Method
OverloadedMethod
Student Class
29