Я следую учебнику Spring .
В разделе «3.2. Добавление классов для бизнес-логики» создается интерфейс ProductManager
:
package springapp.service;
import java.io.Serializable;
import java.util.List;
import springapp.domain.Product;
public interface ProductManager extends Serializable{
public void increasePrice(int percentage);
public List getProducts();
}
Затем создается класс реализации SimpleProductManager
:
package springapp.service;
import java.util.List;
import springapp.domain.Product;
public class SimpleProductManager implements ProductManager {
public List getProducts() {
throw new UnsupportedOperationException();
}
public void increasePrice(int percentage) {
throw new UnsupportedOperationException();
}
public void setProducts(List products) {
throw new UnsupportedOperationException();
}
}
Класс реализации добавляет дополнительный метод setProducts ()
. Если интерфейс ProductManager
также не имеет метода setProducts
, позволяющего классам, использующим setProducts
, создавать экземпляры SimpleProductManager
полиморфно). В настоящее время это невозможно -
ProductManager p = new SimpleProductManager();
p.setProducts();