graph - Java - Implementing interface with Object argument -
i implementing java graph library (to learn ...). accordingly, wrote interface
public interface digraphinterface { public boolean isempty(); public int size(); public boolean isadjacent(object v, object w); public void insertedge(object v, object w); public void insertvertex(object v); public void eraseedge(object o, object w); public void erasevertex(object v); public void printdetails(); } as first step towards implementing, writing digraph class implements above interface. however, keep things simple, want node identifiers integers, defined functions as
@override public boolean isadjacent(int v, int w) { // todo auto-generated method stub return adjlist[v].contains(w) || adjlist[w].contains(v); } but, getting error, need override or implement method supertype. can explain me underpinnings behavior. also, if can explain, how design libraries allow flexibility add components of type.
you interface says:
public boolean isadjacent(object v, object w); you implement:
public boolean isadjacent(int v, int w) for java hasn't same signature, therefore isn't same method. use generics, depends on need but, in case like:
public interface digraphinterface<t> { ... public boolean isadjacent(t v, t w); ... } and implementation be:
public class defaultdigraph<integer> { ... public boolean isadjacent(integer v, integer w) { ... } ... } of course need take care, because integer can null, , int not. therefore null checks on parameters idea, before auto-unboxing.
Comments
Post a Comment