OOP Finals

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