java - Create general method to fit interface and general parent class -


i have following method:

private void setfilledandadd(shape obj, color col, int x, int y) {         obj.setfilled(true);    // needs interface fillable         obj.setfillcolor(col);         add(obj, x, y);         // needs children of shape (or shape itself)     } 

if add 1 of lines:

setfilledandadd(oval, color, x, y); 

compile time error apears in line obj.setfilled(true); , lineobj.setfillcolor(col);. because shape not fillable. undefined type shape.
changing argument type in method setfilledandadd fillable (not shape) leads compile time error in line add(obj, x, y);. needs shape in case.
children of shape use fillable. give me hint, how method working.
thanks.

you can use generics expect object has both characteristics

private  <t extends shape & fillable> void setfilledandadd(t obj, color color, int x, int y){     obj.setfilled(true);    // needs interface fillable     obj.setfillcolor(color);     add(obj, x, y); }  private void add(shape s, int x, int y){     // whatever code have goes here. } 

this compiles fine me.


Comments

Popular posts from this blog

powershell Start-Process exit code -1073741502 when used with Credential from a windows service environment -

twig - Using Twigbridge in a Laravel 5.1 Package -

c# - LINQ join Entities from HashSet's, Join vs Dictionary vs HashSet performance -