Une interface n'a pas de variables d'instance et toutes ses méthodes sont nécessairement abstraites.
public interface Attribué{ void add(Attr nAttr); Attr find(String attrNom); Attr remove(String attrNom); java.util.Enumeration attrs(); }
interface V{ int SILENT = 0; // ... }
interface W {}; interface X extends W {}; class Y implements W {}; class Z extends Y implements X {};
interface W {}; interface X extends W {}; interface Y implements W {}; class Z implements X, Y {};
import java.util.*; class AttribuéImpl implements Attribué { protected Hashtable attrTable = new Hashtable(); public void add(Attr nAttr){ attrTable.put(nAttr.getNom(), nAttr); } public Attr find(String nom){ return (Attr)attrTable.get(nom); } public Attr remove(String nom){ return (Attr)attrTable.remove(nom); } public Enumeration attrs(){ return attrTable.elements(); } }
import java.util.Enumeration; class AttribuéAstre extends Astre implements Attribué{ AttribuéImpl attrImpl=new AttribuéImpl(); AttribuéAstre(){super();} AttribuéAstre(String nom, Astre orbite){ super(nom,orbite); } public void add(Attr nAttr){attrImpl.add(nAttr);} public Attr find(String nom){return attrImpl.find(nom);} public Attr remove(String nom){ return attrImpl.remove(nom); } public Enumeration attrs(){ return attrImpl.attrs(); } }