私はspring tutorialに従っています。セクションでこの春のチュートリアルでは悪い練習ですか?
「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<Product> getProducts();
}
その後SimpleProductManager
実装クラスが作成されます。
package springapp.service;
import java.util.List;
import springapp.domain.Product;
public class SimpleProductManager implements ProductManager {
public List<Product> getProducts() {
throw new UnsupportedOperationException();
}
public void increasePrice(int percentage) {
throw new UnsupportedOperationException();
}
public void setProducts(List<Product> products) {
throw new UnsupportedOperationException();
}
}
実装クラスは余分を追加方法setProducts()
。インターフェイスProductManager
にsetProducts
を使用するクラスが多態的にSimpleProductManager
をインスタンス化するようなクラスを許可する方法もありません。現在、これは不可能である -
ProductManager p = new SimpleProductManager();
p.setProducts();