Java Cours 7
Liskov Substitution Principle (LSP)
Suite de la solution :
class Square ext ends RectangularShape {
p r i v a t e doub le s ;
p u b l i c v oi d setSideLength(double s ) {t h i s . s = s ; }
p u b l i c d ouble get Widt h ( ) {return s ; }
p u b l i c d ouble g e t H e i g h t ( ) {return s ; }
}
Utilisation :
p u b l i c v oi d t e s t R e c t a n g l e ( R ec t an g le r ) {
r . s et Wi dt h ( 2 ) ; r . s e t H e i g h t ( 3 ) ;
i f ( r . g et A r e a ( )! = 3∗2 ) System . ou t . p r i n t l n ( ”j a m a i s ! ” ) ;
}
p u b l i c v oi d t e s t S q u a r e ( S quar e s ) {
s . s e t S i d e L e n g t h ( 2 ) ;
i f ( s . g e t Are a () ! =2∗2 ) System . ou t . p r i n t l n ( ”j a m a i s ! ” ) ;
}
Bertrand Estellon (DIL – Aix-Marseille) Programmation Orient´ee Objet 26 avril 2012 241 / 379