我對抓取工具抽象類:如何讓抽象類更簡潔?
public abstract class AbstractCrawler {
public AbstractCrawler(){
initialize();
}
protected abstract void initialize();
protected abstract void work();
protected abstract void saveAndUpdate(Object obj);
}
正如你所看到的,「saveAndUpdate」抽象方法需要對象的帕拉姆,因爲,每個履帶擴展了這種抽象會保存或更新不同的數據類型,如這樣的:
public class UserCrawler extends AbstractCrawler{
@Override
protected void saveAndUpdate(List<User> obj) {
// TODO Auto-generated method stub
}
}
和類CommentCrawler的:
public class CommentCrawler extends AbstractCrawler{
@Override
protected void saveAndUpdate(List<Comment> obj) {
// TODO Auto-generated method stub
}
}
這是很明顯,只是像做this.Making抽象ç lass更簡潔。
使用泛型'公共抽象類AbstractCrawle {'然後'保護抽象無效saveAndUpdate(T OBJ)'.... –
MadProgrammer
2014-10-17 01:38:45
[注意] (http://stackoverflow.com/questions/18138397/calling-method-from-constructor) – 2014-10-17 01:39:35
@MadProgrammer但是其他程序員不知道T是什麼,他們只是想通過public method.how來使用類的功能使用Object並在「saveAndUpdate」的子類方法中執行converte。 – v11 2014-10-17 01:45:36