Привет! Меня зовут Алексей, и с удовольствием расскажу о своем личном опыте работы с заданной темой. Как раз недавно я изучал классы Fruit, Apple и Orange, а также создал класс Box для хранения фруктов. Начнем с того, что классы Apple и Orange наследуются от класса Fruit. Это означает, что Apple и Orange являются подклассами Fruit и наследуют его свойства и методы. В классе Fruit я создал переменную для хранения веса фрукта. У яблока вес равен 1.0f, а у апельсина — 1.5f. Для этого я добавил переменную weight типа float и присвоил ей соответствующее значение для каждого фрукта. Перейдем к классу Box. В нем я создал переменную для хранения фруктов — это массив fruits типа Fruit. Чтобы выполнить требование ″в одну коробку нельзя сложить и яблоки, и апельсины″, я добавил проверку типа фрукта при добавлении его в коробку. Для этого использовал условие, которое проверяет тип фрукта и добавляет его в массив fruits только в том случае, если все фрукты в коробке относятся к одному типу. Для подсчета общего веса коробки я создал метод getWeight, который проходит по всем фруктам в массиве fruits и суммирует их весы. Здесь я использовал цикл for-each для более простой итерации по массиву.
Кроме того, в классе Box у меня есть метод compare, который позволяет сравнить текущую коробку с другой коробкой, переданной в качестве параметра. Для этого я сравнил суммарный вес фруктов в обеих коробках. Если веса равны, метод возвращает true, в противном случае ⏤ false. Также у меня есть метод transferTo, который позволяет переместить фрукты из текущей коробки в другую коробку. В этом методе я использую цикл for-each для итерации по фруктам в текущей коробке и добавляю каждый фрукт в массив fruits другой коробки. Затем я очищаю массив fruits текущей коробки. Для добавления фруктов в коробку создал метод addFruit, который принимает в качестве аргумента фрукт и добавляет его в массив fruits. Вот и все! Теперь у меня есть классы Fruit, Apple и Orange, а также класс Box, который позволяет хранить фрукты, высчитывать вес коробки, сравнивать коробки между собой, переносить фрукты из одной коробки в другую и добавлять фрукты в коробку. Я очень рад, что смог поделиться своим личным опытом по данной теме. Надеюсь, это будет полезно для тебя!