Review lec2
-
Upload
tamer-abu-alzenat -
Category
Art & Photos
-
view
37 -
download
0
Transcript of Review lec2
![Page 1: Review lec2](https://reader036.fdocuments.in/reader036/viewer/2022071723/55c373debb61ebea778b460b/html5/thumbnails/1.jpg)
Nabeel Alassaf: University Of Jordan,Computer Science Department,Data Structure ١
Data StructureInstructor :Nabeel Alassaf
Review Classes and Data AbstractionLecture2
![Page 2: Review lec2](https://reader036.fdocuments.in/reader036/viewer/2022071723/55c373debb61ebea778b460b/html5/thumbnails/2.jpg)
Nabeel Alassaf: University Of Jordan,Computer Science Department,Data Structure ٢
![Page 3: Review lec2](https://reader036.fdocuments.in/reader036/viewer/2022071723/55c373debb61ebea778b460b/html5/thumbnails/3.jpg)
Nabeel Alassaf: University Of Jordan,Computer Science Department,Data Structure ٣
![Page 4: Review lec2](https://reader036.fdocuments.in/reader036/viewer/2022071723/55c373debb61ebea778b460b/html5/thumbnails/4.jpg)
Nabeel Alassaf: University Of Jordan,Computer Science Department,Data Structure ٤
Class Scope
• An object can be automatic or static
• A member of the class is local to the class
• You access a class member outside the class by using the class object name and the member access operator (.)
![Page 5: Review lec2](https://reader036.fdocuments.in/reader036/viewer/2022071723/55c373debb61ebea778b460b/html5/thumbnails/5.jpg)
Nabeel Alassaf: University Of Jordan,Computer Science Department,Data Structure ٥
Functions and Classes
• Objects can be passed as parameters to functions and returned as function values
• As parameters to functions− Objects can be passed by value or by
reference • If an object is passed by value
− Contents of data members of the actual parameter are copied into the corresponding data members of the formal parameter
![Page 6: Review lec2](https://reader036.fdocuments.in/reader036/viewer/2022071723/55c373debb61ebea778b460b/html5/thumbnails/6.jpg)
Nabeel Alassaf: University Of Jordan,Computer Science Department,Data Structure ٦
Reference Parameters & Variables
• Passing by value might require a large amount of storage space and a considerable amount of computer time to copy the value of the actual parameter into the formal parameter
• If a variable is passed by reference− The formal parameter receives only the
address of the actual parameter
![Page 7: Review lec2](https://reader036.fdocuments.in/reader036/viewer/2022071723/55c373debb61ebea778b460b/html5/thumbnails/7.jpg)
Nabeel Alassaf: University Of Jordan,Computer Science Department,Data Structure ٧
Reference Parameters & Variables (continued)• Pass by reference is an efficient way to pass a
variable as a parameter• If a variable is passed by reference
− Then the actual parameter changes when the formal parameter changes
• You can pass a variable by reference and still prevent the function from changing its value− Use the keyword const in the formal parameter
declaration
![Page 8: Review lec2](https://reader036.fdocuments.in/reader036/viewer/2022071723/55c373debb61ebea778b460b/html5/thumbnails/8.jpg)
Nabeel Alassaf: University Of Jordan,Computer Science Department,Data Structure ٨
• The identifiers setTime, printTime, and so forth are local to the class; we cannot reference them (directly) outside the class.
• In order to reference these identifiers, we use the scope resolution operator, :: (double colon).
• In the function definition’s heading, the name of the function is the name of the class, followed by the scope resolution operator, followed by the function name.
![Page 9: Review lec2](https://reader036.fdocuments.in/reader036/viewer/2022071723/55c373debb61ebea778b460b/html5/thumbnails/9.jpg)
Nabeel Alassaf: University Of Jordan,Computer Science Department,Data Structure ٩
![Page 10: Review lec2](https://reader036.fdocuments.in/reader036/viewer/2022071723/55c373debb61ebea778b460b/html5/thumbnails/10.jpg)
Nabeel Alassaf: University Of Jordan,Computer Science Department,Data Structure ١٠
![Page 11: Review lec2](https://reader036.fdocuments.in/reader036/viewer/2022071723/55c373debb61ebea778b460b/html5/thumbnails/11.jpg)
Nabeel Alassaf: University Of Jordan,Computer Science Department,Data Structure ١١
![Page 12: Review lec2](https://reader036.fdocuments.in/reader036/viewer/2022071723/55c373debb61ebea778b460b/html5/thumbnails/12.jpg)
Nabeel Alassaf: University Of Jordan,Computer Science Department,Data Structure ١٢
![Page 13: Review lec2](https://reader036.fdocuments.in/reader036/viewer/2022071723/55c373debb61ebea778b460b/html5/thumbnails/13.jpg)
Nabeel Alassaf: University Of Jordan,Computer Science Department,Data Structure ١٣
![Page 14: Review lec2](https://reader036.fdocuments.in/reader036/viewer/2022071723/55c373debb61ebea778b460b/html5/thumbnails/14.jpg)
Nabeel Alassaf: University Of Jordan,Computer Science Department,Data Structure ١٤
Suppose that myClock and yourClock are objects of type clockType, as declared previously. Further suppose that we have myClock and yourClock as shown in Figure 12-7.
![Page 15: Review lec2](https://reader036.fdocuments.in/reader036/viewer/2022071723/55c373debb61ebea778b460b/html5/thumbnails/15.jpg)
Nabeel Alassaf: University Of Jordan,Computer Science Department,Data Structure ١٥
![Page 16: Review lec2](https://reader036.fdocuments.in/reader036/viewer/2022071723/55c373debb61ebea778b460b/html5/thumbnails/16.jpg)
Nabeel Alassaf: University Of Jordan,Computer Science Department,Data Structure ١٦
• Within the definition of this function, the object otherClock accesses the member variables hr, min, and sec.
• However, these member variables are private. So is there any violation? The answer is no.
• The function equalTime is a member of the classclockType and hr, min, and sec are the member variables.
• otherClock is an object of type clockType.
• Therefore, the object otherClock can access its private member variables within the definition of the function equalTime.
![Page 17: Review lec2](https://reader036.fdocuments.in/reader036/viewer/2022071723/55c373debb61ebea778b460b/html5/thumbnails/17.jpg)
Nabeel Alassaf: University Of Jordan,Computer Science Department,Data Structure ١٧
• Once a class is properly defined and implemented, it can be used in a program.
• A program or software that uses and manipulates the objects of a class is called a client of that class.
• When you declare objects of the class clockType, every object has its own copy of the member variables hr, min, and sec.
• In object-oriented terminology, variables such as hr, min, and sec are called instance variables of the classbecause every object has its own instance of the data.