0

私は周りを検索してみましたが、私が必要としていると思われる結果がたくさん見つかりました。しかし、私にとってうまくいくような方法でそれを実装することはできませんでした。助けが必要 =(

これが私のクラスです:

import Apple;
public static void SetAddChg(Apple a) throws ClassNotFoundException {
    DateFormat addDate = new SimpleDateFormat("yyyy-MM-dd");
    DateFormat addTime = new SimpleDateFormat("HH:mm:ss");
    Date date = new Date();
    EntityManager entityManager = Persistence.createEntityManagerFactory("EntityLibraryPU").createEntityManager();
    entityManager.getTransaction().begin();
    a.setAddDate((addDate.format(date)));
    entityManager.getTransaction().commit();
}

クラスを具体的に述べたので、それは機能します。ただし、これを任意のクラス (Apple、Banana、Orange) を渡すことができる汎用クラスにしたいと考えています。どうすればいいですか?

4

1 に答える 1

0

設定する共通の属性については、共通のインターフェース( " "など)を使用Bananaして実装できます。AppleAudited

public interface Audited {
    void setDateAdded(Date date);
    //etc, etc
}

public class Apple implements Audited { /*...*/ }

public class Banana implements Audited { /*...*/ }

Audited次に、ヘルパーメソッドを受け入れることができます。

public void setAuditFields(Audited auditedEntity) {
  auditedEntity.setDateChanged(new Date());
  //...etc...
}

//...
a.setSize(textboxSize.getText());
setAuditFields(a);
于 2012-05-16T19:29:06.890 に答える