10
/HFWXUH2203$ 3URFHGXUDO/DQJXDJHV 2EMHFW2ULHQWHG/DQJXDJHV 2EMHFW2ULHQWHG/DQJXDJHV

Lecture 3 OOMPA Procedural Languages Object Oriented

  • Upload
    others

  • View
    11

  • Download
    0

Embed Size (px)

Citation preview

6HSWHPEHU ��� ���� �'���� �'���� � 2EMHFW 2ULHQWHG 0RGHOLQJ� 3URJUDPPLQJ $QDO\VLV �

/HFWXUH���2203$

� 2EMHFW RULHQWHG FRQFHSWV

� (QFDSVXODWLRQ

� ,QKHULWDQFH

� 3RO\PRUSKLVP

� $EVWUDFW FODVVHV

� $VVRFLDWLRQV

� 8QLILHG 3URFHVV� ([WUHPH 3URJUDPLQJ�:DWHUIDOO PRGHO

6HSWHPEHU ��� ���� �'���� �'���� � 2EMHFW 2ULHQWHG 0RGHOLQJ� 3URJUDPPLQJ $QDO\VLV �

3URFHGXUDO�/DQJXDJHV

� ([DPSOHV RI SURFHGXUDO ODQJXDJHV� &� 3DVFDO� )RUWUDQ� $ SURJUDP LQ D SURFHGXUDO ODQJXDJH LV EDVLFDOO\D OLVW RI LQVWUXFWLRQV

� $V SURJUDPV EHFRPH ODUJHU WKH\ DUH XVXDOO\ EURNHQ GRZQLQWR VPDOOHU XQLWV� VXFK DV IXQFWLRQV� SURFHGXUHV� VXEURXWLQHV

� )XQFWLRQV FDQ EH JURXSHG WRJHWKHU LQWR PRGXOHV DFFRUGLQJWR WKHLU IXQFWLRQDOLW\� REMHFWLYHV DQG WDVNV�

� 6WUXFWXUHG SURJUDPPLQJ LV D SURJUDPPLQJ SDUDGLJP WKDWWR D ODUJH H[WHQW UHOLHV RQ WKH LGHD RI GLYLGLQJ D SURJUDPLQWR IXQFWLRQV DQG PRGXOHV�

6HSWHPEHU ��� ���� �'���� �'���� � 2EMHFW 2ULHQWHG 0RGHOLQJ� 3URJUDPPLQJ $QDO\VLV �

3UREOHPV ZLWK 6WUXFWXUHG 3URJUDPPLQJ

� )XQFWLRQV KDYH XQUHVWULFWHG DFFHVV WR JOREDO GDWD

JOREDO GDWD <

)XQFWLRQ $�

ORFDO GDWD

)XQFWLRQ %�

ORFDO GDWD

)XQFWLRQ &�

ORFDO GDWD

� /DUJH QXPEHU RI SRWHQWLDO FRQQHFWLRQV EHWZHHQ IXQFWLRQV DQGGDWD �HYHU\WKLQJ LV UHODWHG WR HYHU\WKLQJ� QR FOHDU ERXQGDULHV�� PDNHV LW GLIILFXOW WR FRQFHSWXDOL]H SURJUDP VWUXFWXUH� PDNHV LW GLIILFXOW WR PRGLI\ DQG PDLQWDLQ WKH SURJUDPH�J� � LW LV GLIILFXOW WR WHOO ZKLFK IXQFWLRQV DFFHVV WKH GDWD

JOREDO GDWD ; JOREDO GDWD =

6HSWHPEHU ��� ���� �'���� �'���� � 2EMHFW 2ULHQWHG 0RGHOLQJ� 3URJUDPPLQJ $QDO\VLV �

3UREOHPV ZLWK 6WUXFWXUHG 3URJUDPPLQJ

� GDWD DQG IXQFWLRQ DUH FRQVLGHUHG DV WZR VHSDUDWHHQWLWLHV

� PDNHV LW GLIILFXOW WR PRGHO WKLQJV LQ WKH UHDO ZRUOG� FRPSOH[ UHDO ZRUOG REMHFWV KDYH ERWK DWWULEXWHV DQGEHKDYLRXUV

� DWWULEXWHV� SHRSOH� QDPH� GDWH RI ELUWK� H\H FRORU� MRE WLWOH� FDUV� KRUVH SRZHU� QXPEHU RI GRRUV� FRORU

� EHKDYLRXUV� SHRSOH� DVN D SHUVRQ WR EULQJ \RX D EHHU� FDUV� DSSO\ WKH EUDNHV� WXUQ RQ WKH HQJLQH

� DWWULEXWHV DQG EHKDYLRUV DORQH DUH VXIILFLHQW WR UHDOLVWLFDOO\PRGHO UHDO ZRUOG REMHFWV EXW D XQLILHG YLHZ LV QHHGHG

6HSWHPEHU ��� ���� �'���� �'���� � 2EMHFW 2ULHQWHG 0RGHOLQJ� 3URJUDPPLQJ $QDO\VLV �

2EMHFW�2ULHQWHG�/DQJXDJHV

� 6LPXOD

� )LUVW 22 SURJUDPPLQJ ODQJXDJH ���¶V�

� 6PDOOWDON

� &RQFHSWXDOL]HG LQ WKH ��¶V DQG ��¶V

� 6PDOOWDON��� ZDV D PDMRU PLOHVWRQH

� &��

� %DVHG RQ ODQJXDJH &

� ,QVSLUHG E\ 6LPXOD

6HSWHPEHU ��� ���� �'���� �'���� � 2EMHFW 2ULHQWHG 0RGHOLQJ� 3URJUDPPLQJ $QDO\VLV �

2EMHFW�2ULHQWHG�/DQJXDJHV

� (LIIHO� 2EMHFWLYH &� &/26 �22 /LVS�� 2EMHFW�3DVFDO

� -$9$

� 'HYHORSHG LQ WKH HDUO\ ��¶V

� 3ODWIRUP LQGHSHQGHQW

� :(% RULHQWHG

� &OLHQW�VHUYHU

� 6HFXULW\

� 0DQ\ IUDPHZRUNV IRU *8, �6ZLQJ�� FRQFXUUHQWSURJUDPPLQJ� GLVWULEXWHG FRPSXWLQJ �-'%&�&25%$� -DYD%HDQV��

6HSWHPEHU ��� ���� �'���� �'���� � 2EMHFW 2ULHQWHG 0RGHOLQJ� 3URJUDPPLQJ $QDO\VLV �

2EMHFW�2ULHQWHG�$SSURDFK

2EMHFW

GDWD

IXQFWLRQV

� (QFDSVXODWLRQ� LQWHJUDWH GDWD DQG IXQFWLRQV LQWR RQH REMHFW� 'DWD KLGLQJ � GDWD LV KLGGHQ WR WKH RXWVLGH ZRUOG DQG FDQ

RQO\ EH DFFHVVHG YLD WKH IXQFWLRQV� ,Q 22 ODQJXDJHV IXQFWLRQV DVVRFLDWHG WR DQ REMHFW DUH FDOOHG

PHPEHUVKLS IXQFWLRQV RU PHWKRGV�� 'DWD LWHPV DUH FDOOHG DWWULEXWHV RU LQVWDQFH YDULDEOHV

6HSWHPEHU ��� ���� �'���� �'���� � 2EMHFW 2ULHQWHG 0RGHOLQJ� 3URJUDPPLQJ $QDO\VLV �

2EMHFW�2ULHQWHG�$SSURDFK

2EMHFW $

GDWD

IXQFWLRQV

2EMHFW &

GDWD

IXQFWLRQV

2EMHFW %

GDWD

IXQFWLRQV

� VHSDUDWLRQ� REMHFWV LQWHUDFW ZLWK HDFK RWKHU RQO\ YLDWKH WKHLU PHPEHUVKLS IXQFWLRQV

� VHSDUDWLRQ KHOSV WR PDLQWDLQ WKH LQWHJULW\ RI WKH HQWLUHSURJUDP

6HSWHPEHU ��� ���� �'���� �'���� � 2EMHFW 2ULHQWHG 0RGHOLQJ� 3URJUDPPLQJ $QDO\VLV �

$EVWUDFWLRQ

� $Q DEVWUDFWLRQ LV D QDPHG FROOHFWLRQ RI DWWULEXWHV DQGEHKDYLRU UHOHYDQW WR PRGHO D JLYHQ HQWLW\ IRU VRPHSDUWLFXODU SXUSRVH

HQWLW\DWWULEXWHV

EHKDYLRU

^GDWD� GDWD�«`

^ PHWKRG� PHWKRG«`

UHDO�ZRUOG DEVWUDFWLRQ VRIWZDUH

6HSWHPEHU ��� ���� �'���� �'���� � 2EMHFW 2ULHQWHG 0RGHOLQJ� 3URJUDPPLQJ $QDO\VLV ��

(QFDSVXODWLRQ

� LQGHSHQGHQW VSHFLILFDWLRQ RI D YLVLEOH LQWHUIDFH DQGD KLGGHQ LPSOHPHQWDWLRQ

� LQWHUIDFH LV VRPH NLQG RI FRQWUDFW EHWZHHQ WKH REMHFWDQG WKH XVHU RI WKLV REMHFW RU PRGXOH

� VHSDUDWLRQ LV QRW UHVWULFWHG WR REMHFW�RULHQWHG SURJUDPPLQJIRU H[DPSOH KHDGHU ILOHV LQ VWDQGDUG & FDQ EH UHJDUGHGDV LQWHUIDFHV

,PSOH�PHQWDWLRQ

LQWHUIDFHYLVLEOH

KLGGHQ

6HSWHPEHU ��� ���� �'���� �'���� � 2EMHFW 2ULHQWHG 0RGHOLQJ� 3URJUDPPLQJ $QDO\VLV ��

6WUXFWXUH�RI�DQ�2EMHFW

2EMHFW

GDWD

PHWKRG FRGH

PHWKRG FRGH

PHWKRG FRGH

PHWKRG FRGH

,QWHUIDFH ,PSOHPHQWDWLRQ

6HSWHPEHU ��� ���� �'���� �'���� � 2EMHFW 2ULHQWHG 0RGHOLQJ� 3URJUDPPLQJ $QDO\VLV ��

([DPSOHV�RI�2EMHFWV

� SK\VFLDO REMHFWV

� YHKLFOHV LQ D WUDIILF�IORZ VLPXODWLRQ� HOHFWULFDO FRPSRQHQWV LQ D FLUFXLW�

GHVLJQ SURJUDP

� LWHPV LQ D VKRS� HOHPHQWV RI D FRPSXWHU XVHU

HQYLURQPHQW

� PHQXV� JUDSKLFDO REMHFWV

� EXWWRQV

� GDWD�VWRUDJH FRQVWUXFWV� DUUD\V

� OLQNHG OLVWV

� KXPDQ HQWLWLHV

� HPSOR\HHV� VWXGHQWV

� FROOHFWLRQV RI GDWD

� LQYHQWRU\� DGGUHVV ERRN

� EXVLQHVV SURFHVVHV

� FUHGLW FDUG DSSURYDO� VDOH

� SD\PHQW

� VSHFLILFDWLRQV� SURGXFW VSHFLILFDWLRQ

� IOLJKW VSHFLILFDWLRQ

6HSWHPEHU ��� ���� �'���� �'���� � 2EMHFW 2ULHQWHG 0RGHOLQJ� 3URJUDPPLQJ $QDO\VLV ��

([DPSOH�RI�D�&ODVV�LQ�-$9$

public class Point //declares a class{

private double x,y; // class data

public void move(double dx, double dy)// method to move a point

{ x+=dx; y+=dy; }}

6HSWHPEHU ��� ���� �'���� �'���� � 2EMHFW 2ULHQWHG 0RGHOLQJ� 3URJUDPPLQJ $QDO\VLV ��

&ODVVHV�YHUVXV�2EMHFWV

� $ FODVV LV D SURWRW\SH VSHFLILFDWLRQ IURP ZKLFKRQH FDQ JHQHUDWH D QXPEHU RI VLPLODU REMHFWV

� $ FODVV FDQ EH FRQVLGHUHG DV DQ REMHFW IDFWRU\�

� $Q REMHFW LV VDLG WR EH D PHPEHU RU LQVWDQFH RI D FODVV

6HSWHPEHU ��� ���� �'���� �'���� � 2EMHFW 2ULHQWHG 0RGHOLQJ� 3URJUDPPLQJ $QDO\VLV ��

,QVWDQWLDWLRQ�RI�2EMHFWV

SHUVRQGDWD� QDPH� SBQXPPHU� DGGUHVV� GDWH RI ELUWKPHWKRGV� JHWDJH��� FKDQJHDGGUHVV�QHZDGGUHVV�

&ODVV

SHUVRQGDWD� (ULN 2OVVRQ� ������������ +DPQJDWDQ �� PDOH

SHUVRQGDWD� /HQD %UDW� ������������ 6WXUHSODQ �� IHPDOH

SHUVRQGDWD� /DUV %DFNH� �������$���� 0lODUWRUJHW ��� PDOH

6HSWHPEHU ��� ���� �'���� �'���� � 2EMHFW 2ULHQWHG 0RGHOLQJ� 3URJUDPPLQJ $QDO\VLV ��

,QVWDQWLDWLRQ�RI�2EMHFWV

FODVV 3HUVRQ ^SULYDWH 6WULQJ QDPH�SULYDWH LQW SHUVRQBQXPEHU�SULYDWH 6WULQJ DGGUHVV�SXEOLF 3HUVRQ�6WULQJ QBQDPH� LQW SBQXP�

6WULQJ QBDGGUHVV� ^«``

3HUVRQ HPSOR\HH QHZ 3HUVRQ�³/HQD %UDW´������������´+XPOHJDWDQ ��� ����� 6WRFNKROP´��

3HUVRQ VWXGHQW QHZ 3HUVRQ�³-DQ (NOXQG´������������´'URWWQLQJVJDWDQ ��� ����� 6WRFNKROP´��

6HSWHPEHU ��� ���� �'���� �'���� � 2EMHFW 2ULHQWHG 0RGHOLQJ� 3URJUDPPLQJ $QDO\VLV ��

2EMHFW�2ULHQWHG�'HVLJQ

� 7KH KDUG SDUW DERXW REMHFW�RULHQWHG GHVLJQ LV

GHFRPSRVLQJ D V\VWHP LQWR REMHFWV EHFDXVHPDQ\ IDFWRUV FRPH LQWR SOD\�

� (QFDSVXODWLRQ

� *UDQXODULW\

� 'HSHQGHQF\

� )OH[LELOLW\

� 3HUIRUPDQFH

� (YROXWLRQ

� 5HXVDELOLW\6HSWHPEHU ��� ���� �'���� �'���� � 2EMHFW 2ULHQWHG 0RGHOLQJ� 3URJUDPPLQJ $QDO\VLV ��

3URJUDP WR DQ ,QWHUIDFH QRW DQ,PSOHPHQWDWLRQ

� $OO FODVVHV GHULYHG IURP DQ DEVWUDFW FODVV VKDUH LWVLQWHUIDFH�

� 0DQLSXODWLQJ REMHFWV VROHO\ LQ WHUPV RI WKHLULQWHUIDFH GHILQHG E\ WKH DEVWUDFW FODVV RIIHUV WZRPDMRU EHQHILWV�

� &OLHQWV UHPDLQ XQDZDUH RI WKH VSHFLILF W\SHV RIREMHFWV WKH\ XVH� DV ORQJ DV WKH REMHFWV DGKHUH WRWKH LQWHUIDFH WKDW FOLHQWV H[SHFW�

� &OLHQWV UHPDLQ XQDZDUH RI WKH FODVVHV WKDWLPSOHPHQW WKHVH REMHFWV� &OLHQWV RQO\ NQRZ DERXWWKH DEVWUDFW FODVVHV GHILQLQJ WKH LQWHUIDFH�

� 3URJUDP WR DQ LQWHUIDFH QRW DQ LPSOHPHQWDWLRQ�

6HSWHPEHU ��� ���� �'���� �'���� � 2EMHFW 2ULHQWHG 0RGHOLQJ� 3URJUDPPLQJ $QDO\VLV ��

5HODWLRQVKLSV�DPRQJ�2EMHFWV

� $WWULEXWH�2QH REMHFW XVHV DV DQRWKHU REMHFW DV DQ DWWULEXWH�QDPHO\ DV PHPEHU GDWD� IRU H[DPSOH D 3HUVRQFRQWDLQV DQ DWWULEXWH 1DPH� 7KLV W\SH RI UHODWLRQ�VKLS LV DOVR FDOOHG D ZHDN DVVRFLDWLRQ RU KDV�DUHODWLRQVKLS� ([DPSOH� $ 3HUVRQ KDV D 1DPH

� $VVRFLDWLRQ�2QH REMHFW XVHV DQRWKHU WR KHOS LW FDUU\ RXW D WDVN�&ODVVHV WKDW FROODERUDWH DUH XVXDOO\ UHODWHG WKURXJKDVVRFLDWLRQV� 7KLV W\SH RI UHODWLRQVKLS LV DOVRFDOOHG D XVHV UHODWLRQVKLS�([DPSOH� 7KH REMHFW 'ULYHU LQYRNHVWKH PHWKRG %UDNH RI WKH REMHFW %UDNLQJ6\VWHP�

6HSWHPEHU ��� ���� �'���� �'���� � 2EMHFW 2ULHQWHG 0RGHOLQJ� 3URJUDPPLQJ $QDO\VLV ��

5HODWLRQVKLSV�DPRQJ�2EMHFWV

� $JJUHJDWLRQ�$JJUHJDWLRQ PHDQV WKDW RQH REMHFW FRQWDLQV RWKHUREMHFWV� $JJUHJDWLRQ LV DOVR FDOOHG SDUW�RI UHODWLRQVKLS�([DPSOH� 7KH FODVV $GUHVVERRN FRQWDLQV PDQ\ 3HRSOH2EMHFWV�

� &RPSRVLWLRQ�&RPSRVLWLRQ LV EXLOGLQJ REMHFWV IURP SDUWV� ,W LV D VWURQJHUW\SH RI DJJUHJDWLRQ LQ ZKLFK WKH SDUWV DUH QHFHVVDU\ WRWKH ZKROH� QDPHO\ WKH\ DUH SHUPDQHQWO\ ERXQG WR WKHREMHFW DQG GR QRW H[LVW RXWVLGH WKH REMHFW�$ FODVV 3URFHVVRU FRQWDLQV D &38� 0HPRU\ DQG ,�2�3RUWV�

6HSWHPEHU ��� ���� �'���� �'���� � 2EMHFW 2ULHQWHG 0RGHOLQJ� 3URJUDPPLQJ $QDO\VLV ��

$JJUHJDWLRQ

$JJUHJDWLRQ PHDQV WKDW RQH REMHFW FRQWDLQV RWKHUREMHFWV� $JJUHJDWLRQ LV DOVR FDOOHG SDUW�RI UHODWLRQVKLS�

$GGUHVVERRN 3HUVRQV

public class Person {private String name; ...

}

public class Addressbook { private Person[] persons; ...

}6HSWHPEHU ��� ���� �'���� �'���� � 2EMHFW 2ULHQWHG 0RGHOLQJ� 3URJUDPPLQJ $QDO\VLV ��

$JJUHJDWLRQ

'RFXPHQW 3DUDJUDSK /LQHV

)LJXUHV

� �

package mybook;

class Line { private String text; ...}

class Paragraph { private Line[] lines; ... }

class Figure { ...}

class Document {

private Paragraph[] paragraphs;

private Figure[] figures; }

6HSWHPEHU ��� ���� �'���� �'���� � 2EMHFW 2ULHQWHG 0RGHOLQJ� 3URJUDPPLQJ $QDO\VLV ��

&RPSRVLWLRQ

&RPSRVLWLRQ LV EXLOGLQJ REMHFWV IURP SDUWV� ,W LVVWURQJH W\SH RI DJJUHJDWLRQ LQ ZKLFK WKH SDUWVDUH QHFHVVDU\ WR WKH ZKROH� QDPHO\ WKH\ DUH

SHUPDQHQWO\ ERXQG WR WKH REMHFW DQG GR QRWH[LVW RXWVLGH WKH REMHFW� &RPSRVLWLRQ LV ´LV EXLOGRI´ UHODWLRQVKLS

3URFHVVRU

&38

0HPRU\ ,�2 3RUW

� �

6HSWHPEHU ��� ���� �'���� �'���� � 2EMHFW 2ULHQWHG 0RGHOLQJ� 3URJUDPPLQJ $QDO\VLV ��

*HQHUDOL]DWLRQ

*HQHUDOL]DWLRQ LV D UHODWLRQVKLS GHILQHG DW WKH FODVV OHYHOQRW WKH REMHFW OHYHO� ZKLFK PHDQV WKDW DOO REMHFWV RIWKLV FODVV PXVW REH\ WKH UHODWLRQVKLS� 7KLV LV W\SH RIUHODWLRQVKLS LV DOVR FDOOHG D LV�D�NLQG�RI UHODWLRQVKLS�

9HKLFOH

&DU 7UXFN 0RWRU &\FOH

class Vehicle {...}

class Car extends Vehicle {...}

class Truck extends Vehicle {...}

class MotorCycle extends Vehicle {...}

6HSWHPEHU ��� ���� �'���� �'���� � 2EMHFW 2ULHQWHG 0RGHOLQJ� 3URJUDPPLQJ $QDO\VLV ��

5HODWLRQVKLSV�DPRQJ�2EMHFWV

� *HQHUDOL]DWLRQ

*HQHUDOL]DWLRQ LV D UHODWLRQVKLS GHILQHG DW WKH FODVV OHYHOQRW WKH REMHFW OHYHO� ZKLFK PHDQV WKDW DOO REMHFWV RIWKLV FODVV PXVW REH\ WKH UHODWLRQVKLS� 7KLV LV W\SH RIUHODWLRQVKLS LV DOVR FDOOHG D LV�D�NLQG�RI UHODWLRQVKLS�*HQHUDOL]DWLRQ LQ REMHFW RULHQWHG ODQJXDJHV LV UHDOL]HGE\ PHDQV RI LQKHULWDQFH�([DPSOH� $ FDU LV D NLQG RI YHKLFOH�

6HSWHPEHU ��� ���� �'���� �'���� � 2EMHFW 2ULHQWHG 0RGHOLQJ� 3URJUDPPLQJ $QDO\VLV ��

,QKHULWDQFH

� ,Q RXU GDLO\ OLYHV ZH XVH WKH FRQFHSW RI FODVVHV GLYLGHGLQWR VXEFODVVHV� IRU H[DPSOH YHKLFOHV DUH GLYLGHG LQWR FDUV�WUXFNV� EXVHV DQG PRWRU F\FOHV�

� 7KH SULQFLSOH LQ WKLV VRUW RI GLYLVLRQ LV WKDW HDFK VXE�FODVV VKDUHVVRPH FRPPRQ IHDWXUHV ZLWK WKH EDVH FODVV IURP ZKLFK LWLV GHULYHG� EXW DOVR KDV LWV RZQ SDUWLFXODU IHDWXUHV�

9HKLFOH

ZKHHOVHQJLQH

&DU

ZKHHOVHQJLQHWUXQN

7UXFN

ZKHHOVHQJLQHWUDLOHUWUXQN WUDLOHU

EDVH FODVVRU VXSHU FODVV

VXE�FODVVHV RUGHULYHG FODVVHV

6HSWHPEHU ��� ���� �'���� �'���� � 2EMHFW 2ULHQWHG 0RGHOLQJ� 3URJUDPPLQJ $QDO\VLV ��

7UXFN

,QKHULWDQFH

9HKLFOH

EUDNH��VWDUWBHQJLQH��

&DU

EUDNH��VWDUWBHQJLQH��RSHQBGRRU��SXOOBWUDLOHU��

EDVH FODVV

VXE�FODVVHV RUGHULYHG FODVVHV

� $ VXE�FODVV DOVR VKDUHV FRPPRQ PHWKRGV ZLWK LWVVXSHU�FODVV EXW FDQ DGG LWV RZQ PHWKRGV RU RYHUZULWHWKH PHWKRGV RI LWV VXSHU�FODVV�

EUDNH��VWDUWBHQJLQH��RSHQBGRRU��RSHQBGRRU��

6HSWHPEHU ��� ���� �'���� �'���� � 2EMHFW 2ULHQWHG 0RGHOLQJ� 3URJUDPPLQJ $QDO\VLV ��

,QKHULWDQFH

7HUPLQRORJ\�� &DU LV D VXE�FODVV �RU GHULYHG FODVV� RI 9HKLFOH� &DU LQKHULWV IURP 9HKLFOH� &DU LV D VSHFLDOL]DWLRQ RI 9HKLFOH� 9HKLFOH LV D VXSHU�FODVV �RU EDVH FODVV� RI &DU� 9HKLFOH LV D JHQHUDOL]DWLRQ RI &DU

� ,Q -$9$ DQ REMHFW RI D VXE�FODVV LV VXEVWLWXWDEOHIRU DQ REMHFW RI WKH VXSHU�FODVV� LQ RWKHU ZRUGVDQ REMHFW RI FODVV &DU FDQ EH XVHG ZKHQHYHUDQ REMHFW RI FODVV 9HKLFOH LV UHTXLUHG� 7KLV SURFHVVLV FDOOHG ´XSFDVWLQJ´�

6HSWHPEHU ��� ���� �'���� �'���� � 2EMHFW 2ULHQWHG 0RGHOLQJ� 3URJUDPPLQJ $QDO\VLV ��

5HXVDELOLW\

� 5HXVDELOLW\ PHDQV WKDW D FODVV WKDW KDV EHHQ GHVLJQHG�FUHDWHG DQG GHEXJJHG RQFH FDQ EH GLVWULEXWHG WR RWKHUSURJUDPPHUV IRU XVH LQ WKHLU RZQ SURJUDPV�

� 6LPLODU WR WKH LGHD RI D OLEUDU\ RI IXQFWLRQV LQ D SURFHGXUDOODQJXDJH�

� 7KH FRQFHSW RI LQKHULWDQFH SURYLGHV DQ LPSRUWDQW H[WHQVLRQWR WKH LGHD RI UHXVDELOLW\� DV LW DOORZV D SURJUDPPHU WR WDNHDQ H[LVWLQJ FODVV ZLWKRXW PRGLI\LQJ LW DQG DGGLQJ DGGLWLRQDOIHDWXUHV DQG IXQFWLRQDOLW\� 7KLV LV GRQH E\ LQKHULWLQJ D QHZVXE�FODVV IURP WKH H[LVLWLQJ EDVH FODVV�

6HSWHPEHU ��� ���� �'���� �'���� � 2EMHFW 2ULHQWHG 0RGHOLQJ� 3URJUDPPLQJ $QDO\VLV ��

,QKHULWDQFH�YV��&RPSRVLWLRQ

� 7KH WZR PRVW FRPPRQ WHFKQLTXHV IRU UHXVLQJIXQFWLRQDOLW\ LQ REMHFW�RULHQWHG V\VWHPV DUH FODVV

LQKHULWDQFH DQG REMHFW FRPSRVLWLRQ

� &ODVV LQKHULWDQFH GHILQHV WKH LPSOHPHQWDWLRQ RIRQH FODVV LQ WHUPV RI DQRWKHU¶V LPSOHPHQWDWLRQ�:LWK LQKHULWDQFH WKH LQWHUQDOV RI SDUHQW FODVVHVDUH RIWHQ YLVLEOH WR VXE�FODVVHV �ZKLWH ER[��

� ,Q REMHFW FRPSRVLWLRQ QHZ IXQFWLRQDOLW\ LVREWDLQHG E\ DVVHPEOLQJ RU FRPSRVLQJ REMHFWV WRJHW PRUH FRPSOH[ IXQFWLRQDOLW\� ,QWHUQDO GHWDLOVRI REMHFWV DUH QRW YLVLEOH� REMHFWV DSSHDU DV EODFN

ER[HV�

6HSWHPEHU ��� ���� �'���� �'���� � 2EMHFW 2ULHQWHG 0RGHOLQJ� 3URJUDPPLQJ $QDO\VLV ��

,QKHULWDQFH�YV��&RPSRVLWLRQ

� &RPSRVLWLRQ�

� &RPSRVLWLRQ LV EXLOGLQJ REMHFWV IURP SDUWV�

� &RPSRVLWLRQ GHQRWHV D KDV�D UHODWLRQVKLS

� &RPSRVLWLRQ LV GHILQHG RQ WKH REMHFW OHYHO�

� ([DPSOH� $ &DU KDV DQ (QJLQH

� *HQHUDOL]DWLRQ�

� *HQHUDOL]DWLRQ LV D UHODWLRQVKLS GHILQHG DW WKH FODVVOHYHO QRW WKH REMHFW OHYHO� ZKLFK PHDQV WKDW DOOREMHFWV RI WKLV FODVV PXVW REH\ WKH UHODWLRQVKLS�

� *HQHUDOL]DWLRQ GHQRWHV D LV�D�NLQG�RI UHODWLRQVKLS�

� ([DPSOH� $ &DU LV D NLQG RI 9HKLFOH�

6HSWHPEHU ��� ���� �'���� �'���� � 2EMHFW 2ULHQWHG 0RGHOLQJ� 3URJUDPPLQJ $QDO\VLV ��

,QKHULWDQFH�9HKLFOH�(QJLQH

class Engine{

private double horsepower;Engine(double hp) { hp=horsepower; }void StartEngine();

}class Vehicle extends Engine // bad design{

Vehicle(double hp) { super(hp); }}Vehicle volvo = new Vehicle(80);volvo.StartEngine();

6HSWHPEHU ��� ���� �'���� �'���� � 2EMHFW 2ULHQWHG 0RGHOLQJ� 3URJUDPPLQJ $QDO\VLV ��

&RPSRVLWLRQ�9HKLFOH�(QJLQH

class Engine{

private double horsepower;Engine(double hp) { hp=horsepower; }void StartEngine();

}class Vehicle {

private Engine engine;Vehicle (double hp) { engine=new Engine(hp); }void Start() { engine.StartEngine(); }

}

6HSWHPEHU ��� ���� �'���� �'���� � 2EMHFW 2ULHQWHG 0RGHOLQJ� 3URJUDPPLQJ $QDO\VLV ��

3URV�DQG�&RQV�RI�,QKHULWDQFH

� 3URV� &ODVV LQKHULWDQFH LV GHILQHG VWDWLFDOO\ DWFRPSLOH�WLPH DQG LV VWUDLJKWIRUZDUG WR XVH� VLQFHLW LV VXSSRUWHG GLUHFWO\ E\ WKH SURJUDPPLQJODQJXDJH� &ODVV LQKHULWDQFH PDNHV LW HDVLHU WRPRGLI\ WKH LPSOHPHQWDWLRQ EHLQJ UHXVHG�

� &RQV� <RX FDQ QRW FKDQJH WKH LPSOHPHQWDWLRQVEHLQJ LQKHULWHG DW UXQ�WLPH� ,QKHULWDQFH H[SRVHVDV VXEFODVV WR GHWDLOV RI LWV SDUHQW¶VLPSOHPHQWDWLRQ� $Q\ FKDQJH LQ WKH SDUHQW¶VLPSOHPHQWDWLRQ ZLOO IRUFH WKH VXEFODVV WR FKDQJH�2QH FXUH LV WR RQO\ LPSOHPHQW LQWHUIDFHV VLQFHWKH\ SURYLGH OLWWOH RU QR LPSOHPHQWDWLRQ�

6HSWHPEHU ��� ���� �'���� �'���� � 2EMHFW 2ULHQWHG 0RGHOLQJ� 3URJUDPPLQJ $QDO\VLV ��

3URV�DQG�&RQV�RI�&RPSRVLWLRQ

� &RPSRVLWLRQ LV GHILQHG DW UXQ�WLPH WKURXJKREMHFWV DFTXLULQJ UHIHUHQFHV WR RWKHU REMHFWV�

� &RPSRVLWLRQ UHTXLUHV REMHFWV WR UHVSHFW HDFKRWKHU¶V LQWHUIDFH� %HFDXVH REMHFWV DUHDFFHVVHG VROHO\ WKURXJK WKHLU LQWHUIDFHV ZHGRQ¶W EUHDN HQFDSVXODWLRQ� $Q\ REMHFW FDQ EHUHSODFHG DW UXQ�WLPH E\ DQRWKHU DV ORQJ DV LWKDV WKH VDPH W\SH�

� %HFDXVH DQ REMHFW�V LPSOHPHQWDWLRQ LVZULWWHQ LQ WHUPV RE REMHFW LQWHUIDFHV� WKHUHDUH VXEVWDQWLDOO\ IHZHU LPSOHPHQWDWLRQGHSHQGHQFLHV�

6HSWHPEHU ��� ���� �'���� �'���� � 2EMHFW 2ULHQWHG 0RGHOLQJ� 3URJUDPPLQJ $QDO\VLV ��

,QKHULWDQFH�YV��2EMHFW�&RPS�

� )DYRULQJ REMHFW FRPSRVLWLRQ RYHU FODVV LQKHULWDQFHKHOSV \RX NHHS HDFK FODVV HQFDSVXODWHG DQGIRFXVHG RQ RQH WDVN�

� &ODVVHV DQG FODVV KLHUDUFKLHV UHPDLQ VPDOO DQGPDQDJDEOH�

� $ GHVLJQ EDVHG RQ REMHFW FRPSRVLWLRQ KDV PRUHREMHFWV �LI IHZHU FODVVHV� DQG WKH V\VWHP EHKDYLRUGHSHQGV RQ WKHLU LQWHUUHODWLRQVKLSV LQVWHDG RI EHLQJGHILQHG LQ RQH FODVV�

� )DYRU REMHFW FRPSRVLWLRQ RYHU FODVV LQKHULWDQFH�

6HSWHPEHU ��� ���� �'���� �'���� � 2EMHFW 2ULHQWHG 0RGHOLQJ� 3URJUDPPLQJ $QDO\VLV ��

3RO\PRUSKLVP��2YHUORDGLQJ

� 3RO\PRUSKLVP � XVLQJ IXQFWLRQV DQG RSHUDWRUV LQ GLIIHUHQWZD\V� GHSHQGLQJ RQ ZKDW WKH\ DUH RSHUDWLQJ RQ�

� 3RO\PRUSKLVP DOORZV LW WR PDQLSXODWH REMHFWV ZLWKRXWNQRZLQJ WKHLU H[DFW W\SH EXW RQO\ WKHLU FRPPRQ SURSHUW\�IRU H[DPSOH� WKH FODVVHV 7ULDQJOH DQG &LUFOH ERWKKDYH WKHLU RZQ �SRO\PRUSKLF� YHUVLRQ RI WKH PHWKRG 'UDZ�EXW D JUDSKLF URXWLQH WKDW GUDZV JUDSKLFDO HOHPHQWV GRHVQRW KDYH WR NQRZ ZKLFK REMHFW LW PDQLSXODWHV�

� 2YHUORDGLQJ� DQ H[LVWLQJ RSHUDWRU� VXFK DV � RU LV JLYHQWKH FDSDELOLW\ WR RSHUDWH RQ D QHZ GDWD W\SH� IRU H[DPSOHGHILQH WKH RSHUDWRU � IRU WKH FODVV &RPSOH[ VXFK WKDWLW UHDOL]HV WKH DGGLWLRQ RI WZR FRPSOH[ QXPEHUV�

6HSWHPEHU ��� ���� �'���� �'���� � 2EMHFW 2ULHQWHG 0RGHOLQJ� 3URJUDPPLQJ $QDO\VLV ��

3RO\PRUSKLVP

� SRO\PRUSKLVP PHDQV ´KDYLQJ PDQ\ VKDSHV´� LQ 22 SURJUDPPLQJ LW UHIHUV WR D VLWXDWLRQ LQ ZKLFK DQREMHFW FRXOG EH DQ\ RI VHYHUDO W\SHV

� D SRO\PRUSKLF YDULDEOH FDQ UHIHU WR REMHFWV RIGLIIHUHQW FODVVHV� IRU H[DPSOH D JUDSKLF REMHFW FDQEH HLWKHU D FLUFOH RU D WULDQJOH

� D SRO\PRUSKLF IXQFWLRQ RU RSHUDWRU FDQ WDNH DUJXPHQWV RIGLIIHUHQW W\SHV

� H[DPSOH�int max(int a, int b);double max(double a, double b);

6HSWHPEHU ��� ���� �'���� �'���� � 2EMHFW 2ULHQWHG 0RGHOLQJ� 3URJUDPPLQJ $QDO\VLV ��

*UDSKLFDO�2SHUDWLRQV

PRYH�G[�G\�G[�G\

URWDWH�3�[�\��SKL� 3�[�\�

URWDWHVKDSH�SKL�

3�[�\� FHQWHU��

6HSWHPEHU ��� ���� �'���� �'���� � 2EMHFW 2ULHQWHG 0RGHOLQJ� 3URJUDPPLQJ $QDO\VLV ��

3RO\PRUSLVKP '\QDPLF %LQGLQJ

� $VVXPH \RX KDYH D FODVV OLEUDU\ IRU JUDSKLFV REMHFWV�$OO FODVVHV OLNH 3RLQW� &LUFOH� 5HFWDQJOH� /LQH HWF�LQKHULW IURP D EDVH FODVV 6KDSH�

� 6KDSH LV DQ DEVWUDFWLRQ RI SURSHUWLHV WKDW DOOJUDSKLFDO HOHPHQWV KDYH LQ FRPPRQ�

� %XW WKHUH ZLOO QHYHU EH DQ REMHFW RI WKH 6KDSH FODVVLWVHOI� ZH ZLOO RQO\ PDNH VSHFLILF VKDSHV VXFK DVFLUFOHV DQG UHFWDQJOHV�

� $V FODVV WKDW RQO\ DFWV DV D EDVH FODVV IRU RWKHUFODVVHV LV FDOOHG DQ DEVWUDFW FODVV�

� <RX FUHDWH DQ DEVWUDFW FODVV ZKHQ \RX ZDQW WRPDQLSXODWH D VHW RI FODVVHV WKURXJK WKLV FRPPRQLQWHUIDFH�

6HSWHPEHU ��� ���� �'���� �'���� � 2EMHFW 2ULHQWHG 0RGHOLQJ� 3URJUDPPLQJ $QDO\VLV ��

9LUWXDO�0HWKRGV

� 9LUWXDO PHWKRGV DOORZ WKH UH�GHILQLWLRQ RI

EDVH FODVV IXQFWLRQV LQ WKH GHULYHG FODVV

� 7KH SURJUDP GHFLGHV DW UXQ�WLPH QRW DWFRPSLOH WLPH ZKLFK YHUVLRQ RI D PHWKRG LV

FDOOHG �G\QDPLF ELQGLQJ�

� :KHQ YLUWXDO PHWKRGV DUH XVHG� D SURJUDPWKDW DSSHDUV WR EH FDOOLQJ D PHWKRG RI RQH

VXSHU�FODVV PD\ LQ UHDOLW\ EH FDOOLQJ D PHWKRGRI RQH RI LWV VXE�FODVVHV�

6HSWHPEHU ��� ���� �'���� �'���� � 2EMHFW 2ULHQWHG 0RGHOLQJ� 3URJUDPPLQJ $QDO\VLV ��

$EVWUDFW�0HWKRG

� $ EDVH FODVV EHFRPHV DQ DEVWUDFW FODVV LI LW FRQWDLQVDW OHDVW RQH DEVWUDFW PHWKRG�

� $Q DEVWUDFW PHWKRG UHPDLQV XQGHILQHG LQ WKH EDVHFODVV EXW KDV WR EH RYHUORDGHG E\ LWV VXEFODVVHV�

� $Q DEVWUDFW PHWKRG PXVW EH RYHUORDGHG E\ WKHVXEFODVV ZKHUHDV D YLUWXDO �QRQ�DEVWUDFW� PHWKRGFDQ EH RYHUORDGHG E\ VXEFODVVHV�

6HSWHPEHU ��� ���� �'���� �'���� � 2EMHFW 2ULHQWHG 0RGHOLQJ� 3URJUDPPLQJ $QDO\VLV ��

3RO\PRUSKLVP '\QDPLF %LQGLQJ

abstract class Shape {abstract void move(double dx, double dy);abstract void rotate(double angle); // rotate around origin

abstract Point center(); // center Point of Shapevoid rotateshape(double angle) {…} // rotate Shape around

// centervoid rotate(Point p, double angle) { … } // rotate around Point p

}� 6KDSH LV DQ DEVWUDFW FODVV WKDW LV LQFRPSOHWH DV LW FRQWDLQV

�DEVWUDFW� PHWKRGV IRU ZKLFK LW SURYLGHV QR LPSOHPHQWDWLRQ� ,WGHILQHV WKH LQWHUIDFH WR ZKLFK WKH VXE�FODVVHV PXVW FRPSO\DQG PLJKW SURYLGH LPSOHPHQWDWLRQ IRU VRPH PHWKRGV�

6HSWHPEHU ��� ���� �'���� �'���� � 2EMHFW 2ULHQWHG 0RGHOLQJ� 3URJUDPPLQJ $QDO\VLV ��

3RO\PRUSKLVP '\QDPLF %LQGLQJ

class Point extends Shape // subclass inherits from Shape{private double x,y;Point(double nx, double ny) { x=nx; y= ny;} // constructorvoid move(double dx, double dy) {x+=dx; y+=dy;}void rotate(double angle) {double tmp_x = x * Math.cos(angle) - y.Math.sin(angle); y = x * Math.cos(angle) + y.Math.sin(angle);

x=tmp_x;}Point center() {return this;} double GetX() { return x;}; double GetY() { return y;}

}

6HSWHPEHU ��� ���� �'���� �'���� � 2EMHFW 2ULHQWHG 0RGHOLQJ� 3URJUDPPLQJ $QDO\VLV ��

3RO\PRUSKLVP '\QDPLF %LQGLQJ

class Line extends Shape // subclass inherits from Shape{private Point p1, p2;Line(Point np1, Point np2) { p1=np1; p2=np2;} void move(double dx, double dy) {

p1.move(dx,dy); p2.move(dx,dy) }void rotate(double angle) {

p1.rotate(angle); p2.rotate(angle) }Point center() { new Point((p1.get_x()+p2.get_x())/2.0,((p1.get_y()+p2.get_y())/2.0)}

}

6HSWHPEHU ��� ���� �'���� �'���� � 2EMHFW 2ULHQWHG 0RGHOLQJ� 3URJUDPPLQJ $QDO\VLV ��

3RO\PRUSKLVP '\QDPLF %LQGLQJ

class Circle extends Shape // subclass inherits from Shape{private Point p;private double radius;Circle(Point np, double r) { p=np; radius=r;} void move(double dx, double dy) { p.move(dx,dy); }void rotate(double angle) { p.rotate(angle); }Point center() { return p; }

}

6HSWHPEHU ��� ���� �'���� �'���� � 2EMHFW 2ULHQWHG 0RGHOLQJ� 3URJUDPPLQJ $QDO\VLV ��

3RO\PRUSKLVP '\QDPLF %LQGLQJ

� 3RLQW� &LUFOH DQG /LQH SURYLGH WKHLU RZQ SRO\PRUSKLFPHWKRG YRLG PRYH�� WR PRYH WKH VKDSH�

� 7KH WHUP G\QDPLF ELQGLQJ UHIHUV WR WKH SURFHVVRI LGHQWLI\LQJ DW UXQ WLPH ZKDW FRGH VKRXOG EH H[HFXWHGDV D UHVXOW RI D PHVVDJH

Point p = new Point(10,10);Line l = new Line(new Point(0,0), new Point(10,20));Circle c = new Circle( new Point(5,5), 8);Shape s;s=c;s.move(5,10); // Shape bounds to Circle move()s=l;s.move(3,9); // Shape bounds to Line move()

6HSWHPEHU ��� ���� �'���� �'���� � 2EMHFW 2ULHQWHG 0RGHOLQJ� 3URJUDPPLQJ $QDO\VLV ��

'\QDPLF�%LQGLQJ

&LUFOH

PRYH��

Point p=new Point(10,15);s=p;s.move(15,0);

3RLQW

PRYH��

/LQH

PRYH��

Shape s;Circle c=new Circle (new Point(0,0),5);s=c;s.move(10,15);

Line l=new Line(new Point(0,0),new Point(10,5));

s=l;s.move(10,10);

6HSWHPEHU ��� ���� �'���� �'���� � 2EMHFW 2ULHQWHG 0RGHOLQJ� 3URJUDPPLQJ $QDO\VLV ��

3RO\PRUSKLVP

Shape[] shapes = new Shape[3]; // Null references shapes[0] = new Point(3,9);shapes[1]= new Line( new Point(0,0),

new Point(10,20));shapes[2]=new Circle(new Point(15,5), 8);

for (int i=0; i<shapes.length; i++){

shapes[i].move(-10,0);shapes[i].rotate(new Point(4,5), Math.Pi/2);

}

6HSWHPEHU ��� ���� �'���� �'���� � 2EMHFW 2ULHQWHG 0RGHOLQJ� 3URJUDPPLQJ $QDO\VLV ��

3RO\PRUSKLVP '\QDPLF %LQGLQJ

abstract class Shape {public abstract void move(double dx, double dy);public abstract void rotate(double angle); // rotate around P(0,0)public abstract Point center(); // center Point of Shapepublic void rotateshape(double angle) // rotate around center{ rotate(center(),angle); }public void rotate(Point p, double angle) {

move(-p.get_x(),p.get_y());rotate(angle);move(p.get_x(),p.get_y());

}}

6HSWHPEHU ��� ���� �'���� �'���� � 2EMHFW 2ULHQWHG 0RGHOLQJ� 3URJUDPPLQJ $QDO\VLV ��

3RO\PRUSKLVP '\QDPLF %LQGLQJ

class Point extends Shape // subclass inherits from Shape{

private double x,y;Point(double nx, double ny) { x=nx; y= ny;} // constructorvoid move(double dx, double dy) {x+=dx; y+=dy;}void rotate(double angle) { … }void rotateshape(double angle) {} // overloads rotateshape() method in class ShapePoint center() {return this;} double GetX() { return x;}; double GetY() { return y;}

}

6HSWHPEHU ��� ���� �'���� �'���� � 2EMHFW 2ULHQWHG 0RGHOLQJ� 3URJUDPPLQJ $QDO\VLV ��

6RIWZDUH�'HYHORSPHQW�3URFHVV

� $ VRIWZDUH GHYHORSPHQW SURFHVV GHVFULEHV DQDSSURDFK WR EXLOGLQJ� GHSOR\LQJ DQG SRVVLEO\PDLQWDLQLQJ VRIWZDUH�

� 8QLILHG 3URFHVV �83�

� 7KH PRVW LPSRUWDQW LGHD RI WKH 8QLILHG 3URFHVV LVLWHUDWLYH DQG LQFUHPHQWDO GHYHORSPHQW�

� 7KH V\VWHP JURZV LQFUHPHQWDOO\ RYHU WLPH�LWHUDWLRQ E\ LWHUDWLRQ�

� (DFK LWHUDWLRQ WDFNOHV D VPDOO VXEVHW RIUHTXLUHPHQWV ZKLFK DUH TXLFNO\ ���� ZHHNV�GHVLJQHG� LPSOHPHQWHG DQG WHVWHG�

6HSWHPEHU ��� ���� �'���� �'���� � 2EMHFW 2ULHQWHG 0RGHOLQJ� 3URJUDPPLQJ $QDO\VLV ��

%HQHILWV RI ,WHUDWLYH 'HYHORSPHQW

� (DUO\ UDWKHU WKDQ ODWH PLWLJDWLRQ RI KLJK ULVNV�WHFKQLFDO� UHTXLUHPHQWV� REMHFWLYHV� XVDELOLW\�

� (DUO\ YLVLEOH SURJUHVV

� (DUO\ IHHGEDFN� XVHU HQJDJHPHQW� DQGDGDSWDWLRQ

� 0DQDJHG FRPSOH[LW\

� /HDUQLQJ ZLWKLQ DQ LWHUDWLRQ FDQ LPSURYH WKHGHYHORSPHQW SURFHVV LWVHOI� LWHUDWLRQ E\ LWHUDWLRQ�

6HSWHPEHU ��� ���� �'���� �'���� � 2EMHFW 2ULHQWHG 0RGHOLQJ� 3URJUDPPLQJ $QDO\VLV ��

³:DWHUIDOO´�OLIH�F\FOH

� 7KH ZDWHUIDOO OLIHF\FOH LV VHTXHQWLDO� OLQHDU

UDWKHU WKDQ LWHUDWLYH� ,W FRQWDLQV WKH IROORZLQJVWHSV�

� &ODULI\� UHFRUG DQG FRPPLW WR D VHW RI

FRPSOHWH DQG IUR]HQ UHTXLUHPHQWV

� 'HVLJQ D V\VWHP EDVHG RQ WKHVHUHTXLUHPHQWV

� ,PSOHPHQW� EDVHG RQ WKH GHVLJQ

��

6HSWHPEHU ��� ���� �'���� �'���� � 2EMHFW 2ULHQWHG 0RGHOLQJ� 3URJUDPPLQJ $QDO\VLV ��

83�YV��:DWHUIDOO�OLIH�F\FOH

83

5HTXLUHPHQWV'HVLJQ,PSOHPHQWDWLRQ

5HTXLUHPHQWV'HVLJQ,PSOHPHQWDWLRQ

5HTXLUHPHQWV'HVLJQ,PSOHPHQWDWLRQ

,WHUDWLRQ �

,WHUDWLRQ �

,WHUDWLRQ �

5HTXLUHPHQWV

'HVLJQ

,PSOHPHQWDWLRQ

:DWHUIDOO

6HSWHPEHU ��� ���� �'���� �'���� � 2EMHFW 2ULHQWHG 0RGHOLQJ� 3URJUDPPLQJ $QDO\VLV ��

([WUHPH�3URJUDPPLQJ��;3�

� $JLOH� DGDSWLYH GHYHORSPHQW SURFHVV

� ,WHUDWLYH DQG LQFUHPHQWDO GHYHORSPHQW

� :ULWH WHVW FDVHV ILUVW

� 0DMRU GLIIHUHQFHV EHWZHHQ 83 DQG ;3

� 83 UHFRPPHQGV LQFUHPHQWDOO\ ZULWLQJ XVH FDVHVDQG QRQ�IXQFWLRQDO UHTXLUHPHQW GRFXPHQWV

� 83 UHFRPPHQGV PRUH YLVXDO GHVLJQ GLDJUDPPLQJ�EHIRUH SURJUDPPLQJ� ZKHUHDV ;3 SXWV PRUHHPSKDVLV RQ WKH FRGH LWVHOI UDWKHU WKDQ GLDJUDPVDQG GRFXPHQWDWLRQ