@amit, , Conc.execute BookStage , Stage (, , Stage BookStage s).
, , BookePipeline.execute - Stage, Object.
, :
interface Pipeline
{
void execute(Stage s);
}
interface BookPipeline extends Pipeline
{
@Override
void execute(Object s);
}
Conc BookPipeline:
Pipeline p = new Conc();
p.execute(new Stage());
, Liskov Substitutability - Stage , Stage . . Java , .
, ( , , Eiffel, ).
Java . , Pipeline
Stage getAStage();
BookPipeline :
@Override
BookStage getAStage();
, :
public void someMethodSomewhere(Pipeline p)
{
Stage s = p.getAStage();
}
, Donc, Pipeline overrode getAStage() , Pipeline ( Stage), :
someMethodSomewhere(new Conc());
someMethodSomewhere(new Donc());
Stage - (, BookStage) Stage.
, , , /, , , , , . ( Java .)
, PECS - , (Joshua Bloch, Java)