2016-04-27 3 views

Antwort

1

Polymorphismus Unterstützung wird hier verfolgt: https://github.com/realm/realm-java/issues/761, aber solange es nicht implementiert haben Sie stattdessen Zusammensetzung zu verwenden (https://en.wikipedia.org/wiki/Composition_over_inheritance)

In Ihrem Fall wäre es etwa so aussehen:

public interface MyContract { 
    int calculate(); 
} 

public class MySuperClass extends RealmObject implements MyContract { 
    private A a; 
    private B b; 
    private C c; 

    @Override 
    public int calculate() { 
    return getObj().calculate(); 
    } 

    private MyContract getObj() { 
    if (a != null) return a; 
    if (b != null) return b; 
    if (c != null) return c; 
    } 

    public boolean isA() { return a != null; } 
    public boolean isB() { return b != null; } 
    public boolean isC() { return c != null; } 

    // ... 
} 
Verwandte Themen