Если вы воспользуетесь общим подходом «Предпочитать композицию, а не наследование», вы можете обнаружить, что один или оба класса на самом деле не должны быть «унаследованы».В обоих случаях, имеют ли классы строгие отношения "есть"?Если вы можете произнести вслух "Has-a", и это не звучит глупо, вы, вероятно, захотите композицию.
Например, если вы используете колоду карт, 3 пики - это-3и это - лопата, но вы также можете думать о ней как о - 3, и у нее - костюм (лопата).Так как вы можете думать об этом таким образом, вам, вероятно, следует отдать предпочтение интерпретации и использованию композиции.
Старайтесь держаться подальше от деревьев наследования более чем на несколько объектов - и, если вы когда-нибудь почувствуете желание использовать множественное наследование, попробуйте обойти его.Это один из случаев, когда Java вынуждает вас сделать свой код немного более читабельным, не предоставляя функции (но по общему признанию, когда вы действительно этого хотите, ее там нет, и это может повредить!хорошо).