Re: вопросы новичка о языке
От: Blazkowicz Россия  
Дата: 21.09.11 18:16
Оценка:
Здравствуйте, баг, Вы писали:

баг>1. Привычное множественное наследование: есть класс-родитель, есть класс-дитё, есть третий класс с неким функционалом, который хочется использовать, но нельзя.

баг>Какие шаблоны для выхода из ситуации? Третий класс в виде члена дитя, статические методы в персом? Что ещё?
Наследования зачастую не верно используется там где нужна агрегация. Так что множественное наследование хоть и может иногда пригодиться, но не критично.

баг>2. Множественные результаты функции. В других языках есть передача по ссылке, в Яве вроде как нету этого. Как прикажете возвращать? Заворачивать в новый класс и возвращать его? Или есть может что-то обобшённое вида туплов (tuple)?

Если объект возвращает пару значений, значит они логически связаны. Если они логически связаны, то почему они не являются полями одного объекта?
На худой конец можно и туплом с генериками.

баг>3. Сериализация. В С++ просто: объявил структуру и привёл к ней любой участок памяти. В Яве? Собственный DataInputStream и ObjectInputStream? Или как ещё парсят сетевые бинарные протоколы?

Ну, обычно, используют API, который скрывает механизм сериализации от клиетского кода. Т.е. сериализация просто конфигурируется и всё. Непосредственно с Object...Stream работать не приходится. Есть и альтеранвтиыне реализации, например, Hessian.

баг>4. Коллбэки. В C++ функторы и указатели на функции, в C# делегаты, а здесь что?

Анонимные классы. C# делегаты вроде просто скрывают реализию Observer. Ссылки на метод реально не хватает.

баг>5. Беззнаковые типы

Математику на Java пишут мало. Поэтому никто особо не страдает.

Да. И воспользуйтесь, наконец, поиском. Каждый из этих вопросов уже обсуждали.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.