!
- G3!9$@J=3!93&!3:!5=8)3!6!
!
!*:3!8%>$%31)3:)3!$>F3&!1(95=3!R8*&$*%!@31!)=81131!Product,1Dvd,1
GameSL!9$:&%8:&!=31!92)8:(1931!d’héritage!3&!@3!polymorphisme1!
3:&%3!=8!)=8113!9J%3L!3&!131!)=81131!A(==31;!!
!
[:!$*&%3!$:!?!&%$*43!*:!3M395=3!d’overloadL!(surcharge)L!@8:1!=31!
)$:1&%*)&3*%1!5*>=()1!@3!)31!)=81131;!
!
G31!5%(:)(531!d’encapsulation1objetL!@3!58%!=8!9(13!D!@(15$1(&($:!@3!
getters/setters!R$*!3:)$%3!8553=2!accessors!3&!mutators!3:!
&3%9(:$=$<(3!K848S!5$*%!=31!champs!)$95$18:&!18!1&%*)&*%3!@3!
)=8113;!!
!
'31!2=293:&1!1*(43:&!=8!:$%93!@31!JavaBeansL!5(=(3%!A$:@8&3*%!@3!=8!
:$%93!@3!@243=$55393:&!@*!=8:<8<3!K848;!!
!
Y:!V!)$95$%&393:&!W!92&(3%!1$*1!=8!A$%93!@3!=C(:&3%A8)3!
IBonusProducerL!P*(!31&!=C855%$)#3!V!$%(3:&23!$>F3&!W!3:!K848!R18:1!
#2%(&8<3!9*=&(5=3S!6!!
!
'3==3!@3!)$:&%8&1!@C(:&3%A8)31!@2A(:(31!D!(95=293:&3%L!53%93&&8:&!
@C3:%()#(%!=8!@2A(:(&($:!A$:)&($::3==3!@31!)=81131;!
!
G31!)=81131!2&3:@3:&!3:!)3=8!=3*%!1&%*)&*%8&($:!8*!&%843%1!@31!Types!
Rcast/transtypageS!395=$?8>=31L!3&!=C(95=293:&8&($:!1C$%(3:&3!8(:1(!
43%1!*:!93(==3*%!:(438*!@C8>1&%8)&($:!\!
!
Y:3!8%>$%31)3:)3!Composite!@C$>F3&1L!%2A2%3:)21!3:&%3!3*ML!P*(!
5%$5$13:&!*:!overrideL!*:3!redéfinitionL!@3!=8!92&#$@3!toString!
R%3:4$?8:&!=8!@2A(:(&($:!@C*:3!(:1&8:)3!@8:1!=8!Machine1VirtuelleSL!
@3!=8!'=8113!%8)(:3!java.lang.Object.1!
03!5=*1!()(L!$:!53*&!4$(%!*:!3M395=3!@3!)#8(:8<3!)=811(P*3!@3!=8!
92&#$@3!toStringL!3M5=$(&23!@8:1!)#8)*:3!@31!)=81131!)$:)3%:231;!
!!
- G8!)=8113!Z8(:!A$*%:(&!*:!5$(:&!@C3:&%23!5$*%!=C855=()8&($:L!$:!?!%3&%$*43!6!
!
!=C(:1&8:)(8&($:!@31!@(AA2%3:&1!3M395=31!@C$>F3&1!%3=8&(A1!8*M!)=81131!
5%2)2@3993:&!5%213:&231;!
!
Y:!8553=!43%1!=8!)=8113!Singleton!java.lang.System!RDesign1
Pattern1@3!=8!A89(==3!V!création!W!6!P*(!)$:&%]=3!18!5$5*=8&($:!
@C$>F3&1!5%$@*(&1L!3&!:C31&!581!(:1&8:)(8>=3!@(%3)&393:&S;!
!
[:&(&2!*:(P*3!@8:1!=3!)$:&3M&3!@3!=8!Machine1VirtuelleL!!8A(:!P*C3==3!
:$*1!@2)%(43:&L!4(8!=8!92&#$@3!toString!=8!)$95$1(&($:!@3!:$1!
$>F3&1;!