, . ( , , Composite - , , Decorator, ).
, ( , ), ?
public abstract class Product {
abstract void preview();
}
CompositeProduct , -
void preview(){
for(Product product : products) product.preview();
}
, , .
- . , .
? - .
public interface Readable { void read(); }
public class Book extends Product implements Readable {}
? Showable
public interface Showable { void show(); }
public class Vinyl extends Product implements Showable {}
BookVinyl
public class BookVinyl extends Product implements Readable, Showable { }
? , BookVinyl , , , . ? , - .