Upload
ryan-arinzol-olaybal
View
231
Download
0
Embed Size (px)
Citation preview
7/25/2019 OOP Finals
1/22
1
Review:
Two Programming ParadigmsStructural (Procedural) Object-Oriented
PROGRAM PROGRAM
FUNCTION
FUNCTION
FUNCTION
OBJECT
Operations
Data
OBJECT
Operations
Data
OBJECT
Operations
Data
Function calls Messages passing
7/25/2019 OOP Finals
2/22
2
Review: Object-Oriented
Programming Language Features
1. Data abstraction
2. Ineritance o! properties
". D#na$ic bindin% o! operations to objects
7/25/2019 OOP Finals
3/22
3
Review: C++ ata T!"esReview: C++ ata T!"es
structured
arra# struct union class
address
pointer re!erence
si$ple
inte%ral enu$
car sort int lon% bool
!loatin%
!loat double lon% double
7/25/2019 OOP Finals
4/22
#
Object-Oriented Programming--
$ntroduction to C%asses
& C%ass e'inition
& C%ass ()am"%es
& Objects
7/25/2019 OOP Finals
5/22
*
C%asses Objects
& T,e c%ass is t,e cornerstoneo' C++ $t gives t,e C++ its identit! 'rom C
$t ma.es "ossib%e enca"su%ation/ data ,iding and
in,eritance
& C%ass:
Consists o' bot, data and met,ods
e'ines "ro"erties and be,avior o' a set o' entities
& Object:0n instance o' a c%ass
0 variab%e identi'ied b! a uniue name
7/25/2019 OOP Finals
6/22
c%ass Rectang%e
"rivate:
int widt,4
int %engt,4
"ub%ic:
void set5int w/ int %64 int area564
74
C%asses Objects
Rectang%e r14
Rectang%e r24
Rectang%e r34&&
int a4
7/25/2019 OOP Finals
7/22
8
e'ine a C%ass T!"e
class class_name
'
permission_label:member
permission_label:
member
...
c%ass Rectang%e
"rivate:
int widt,4
int %engt,4
"ub%ic:
void set5int w/ int %64
int area564
74
Body
Header
7/25/2019 OOP Finals
8/22
9
C%ass e'inition-ata embers
& 0bstract t,e common attributes o' a grou" o'entities/ t,eir va%ues determine t,e state o' anobject
& Can be o' an! t!"e/ bui%t-in or user-de'ined
& non-staticdata member (ac, c%ass object ,as its own co"! Cannot be initia%i;ed e)"%icit%! in t,e c%ass bod! Can be initia%i;ed wit, member 'unction/ or c%ass
constructor
& staticdata member 0cts as a g%oba% object/ "art o' a c%ass/ not "art o' an
object o' t,at c%ass One co"! "er c%ass t!"e/ not one co"! "er object
Can be initia%i;ed e)"%icit%! in t,e c%ass bod!
7/25/2019 OOP Finals
9/22