2016-09-18 3 views
0

J'ai deux classes de base dépendantes du système d'exploitation - Classe A et Classe B sous forme de bocaux séparés.Détermination à l'exécution de la classe de base

Avant N OS, le comportement est -> Classe C Classe A. étend

Maintenant, le comportement qui est requis est:

Jusqu'à Android M: étend la classe C Classe A.

Pour Android N et supérieur: Classe C étend la classe B.

Quelle serait la manière la plus efficace de le faire?

+1

Utiliser la composition. –

+0

Merci PM..Je sais quelle est la composition mais je ne sais pas comment l'utiliser pour cette situation. Pourriez-vous élaborer? – iHavADoubt

+0

Pouvez-vous trouver une interface commune entre les deux et écrire un adaptateur entre cette interface et chacune de vos classes de base? –

Répondre

2

Venez avec une interface commune qui couvre les fonctionnalités que A et B fournissent, et écrivez des adaptateurs entre cette interface et les deux dites classes. Puis composez l'adaptateur approprié dans votre classe C.

+0

@iHavADoubt Cette réponse est votre meilleure option. L'héritage en Java est statique et ne peut pas dépendre du système d'exploitation. –

+1

Merci. Fonctionne très bien! J'ai été capable d'utiliser cette solution pour atteindre mon objectif. – iHavADoubt

+0

Heureux d'entendre. (Err, lire?) –