![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| skyboy |
|
|||
|
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 1 Всего: 260 |
перехожу из Delphi в Java.
Прошу людей, хоть сколько-нибудь работавших с обоими языками, сказать, что присутствует в Java, чего нет в Delphi. А то ведь буду делать свои костыли там, где есть вполне "официальные" транспортные средства Навскидку(со многим не знаком, только слышал):
И, если можно, при упоминании(если просто называете - и всё) приводите ссылки на мало-мальски вменяемые пояснения. Ман, конечно, вещь хорошая, но это ж не учебник, а справочник. зы Версия знакомой мне Delphi - 7. Если сравнивать будете с Turbo - переживу ззы Знаком с С++ и С-подобными языками, потому родственные синтаксические конструкции(for(;;), ?:, модификатор static) можно опустить зззы Спасибо |
|||
|
||||
| AntonSaburov |
|
|||
![]() Штурман ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5658 Регистрация: 2.7.2002 Где: Санкт-Петербург Репутация: 51 Всего: 118 |
В принципе ты перечислил уже все, в чем эти языки отличаются.
Самое правильное в данной ситуации почитать что-либо по синтаксису - подойдет практически любая книга - поищи на форуме. Можешь пойти после этого в Студенческий отдел кадров чтобы иметь самое начальное представление. А дальше - задавай вопросы - готовы будем отвечать. |
|||
|
||||
| skyboy |
|
|||
|
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 1 Всего: 260 |
правда? я немного разочарован кстати, зря я static запихнул в категорию "с этим знаком". итак, те, кто будет искать ответ на схожий вопрос. ещё одно отличие:
Добавлено через 6 минут и 50 секунд AntonSaburov, а "Студенческий отдел кадров" - это вещь и как я мог кодить с принудительным освобождением памяти |
|||
|
||||
| W0LF |
|
|||
![]() alexander lonsky ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1164 Регистрация: 9.2.2006 Где: Ukraine.Dnepropet rovsk Репутация: нет Всего: 20 |
конечно можно, ставишь спецификатор доступа public, ну или же для данного пакета protected или friendly(то есть ничего не ставишь) Ну, а вообще некрасиво - инкапсуляция должна быть. -------------------- iOS developer |
|||
|
||||
| AntonSaburov |
|
|||
![]() Штурман ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5658 Регистрация: 2.7.2002 Где: Санкт-Петербург Репутация: 51 Всего: 118 |
Так на сегодня С++, Java, C#, Delphi Pascal - достаточно одинаковые по своим конструкциям. Основной плюс Java и .NET - не надо думать об освобождении памяти. Основная сила платформ Java и .NET в большом количестве удобных и современных технологий и пакетов, которые позволяют создавать очень мощные и сложные приложения за достаточно короткий срок. Так же они позволяют расширять, поддерживать огромные проекты. Вообщем-то и все. Если ты думал увидеть огромную разницу именно в языке - тут не получается. Все эти языки досттаочно современные и вряд ли те, кто их делал не использовал опыт предшественников. |
|||
|
||||
| skyboy |
|
|||
|
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 1 Всего: 260 |
||||
|
||||
| powerOn |
|
|||
![]() software saboteur ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4367 Регистрация: 7.10.2005 Репутация: 47 Всего: 159 |
Еще в Java есть анонимные и внутренние классы.
|
|||
|
||||
| skyboy |
|
|||
|
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 1 Всего: 260 |
||||
|
||||
| nornad |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1079 Регистрация: 16.2.2007 Где: в Караганде Репутация: 16 Всего: 31 |
Это не будет соответствовать property в дельфи. Точного соответствия нет, но геттеры и сеттеры ведут себя наиболее приближённо к свойствам. А некоторыми вещами (EJB или Hibernate - не помню, т.к. мало работал) даже воспринимаются как свойство. Кстати, делать публичные поля не очень хорошая идея. Добавлено @ 19:44 Пожалуйста:
Это сообщение отредактировал(а) nornad - 18.4.2007, 19:46 -------------------- Три достоинства программиста: Леность, Нетерпение и Гордость Ларри Уолл |
|||
|
||||
| skyboy |
|
|||
|
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 1 Всего: 260 |
хм. я ж не о полях говорю, а о свойствах... впрочем, вполне переживу без синтаксического сахара ------- сорри, в коде я понял где анонимный класс, но не понял, зачем его туда захимичили... Можно на пальцах диаграмму классов изобразить? P.S. Анонимный класс - объектный вариант замыканий? |
|||
|
||||
| powerOn |
|
||||
![]() software saboteur ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4367 Регистрация: 7.10.2005 Репутация: 47 Всего: 159 |
Анонимный класс - это способ быстрого наследования. Ничего сверхъестественного.
Допустим есть класс A в котором определен метод meth(). Твоя задача - отнаследоваться от него и переопределить в наследнике метод meth(). Это можно сделать 2-мя способами: 1) Создать простой класс:
2) Переопределяем метод непосредственно во время создания экземпляра класса:
во втором случае класс несоздавался. Соответственно имени у него нет - поэтому и анонимный. P.S.: код набирал прямо тут, так что мог ошибиться где-нибудь Добавлено через 58 секунд Анонимные классы весьма удобно использовать для реализации интерфейсов. |
||||
|
|||||
| nornad |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1079 Регистрация: 16.2.2007 Где: в Караганде Репутация: 16 Всего: 31 |
Я на них 97% листенеров делаю.
Остальные три процента - обобщённые листенеры, которые обрабатываю схожие события от разных компонентов. Ну и в других местах бывает применяю. Когда лень выделять в отдельный класс. Одна беда - публичные расширения класса в анониме бессмысленны. -------------------- Три достоинства программиста: Леность, Нетерпение и Гордость Ларри Уолл |
|||
|
||||
| Elfix |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 167 Регистрация: 13.7.2005 Репутация: нет Всего: нет |
Мне жутко нравились property из Delphi. Очень удобная вещь. В Java их нет (или я не нашел). Скажем при простом присваивании свойству значений возможно выполнить процедуру Set или Get, в Java нет такого. Ты явно должен Set-тить или Get-тить.
Проще кодом написать:
Писал без редактора, мог ошибиться, но смысл понятен. Т. е. в Delphi мы могли скрыть поле класса, а также скрыть методы работы с ним, но все таки простыми операциями присваивания неявно пользовались ими. Кстати, так же очень удобно событийную модель описывать. Она очень прозрачна и понятна. В Java несмотря на простоту языка все таки трудности возникают. Но я видимо еще сам к ней непривык. Теперь вот перебегаю с одной среды на другу, как мелкий грызун с тонущего корабля... Но ничего не поделаешь... Это сообщение отредактировал(а) Elfix - 17.11.2007, 17:42 |
|||
|
||||
| nornad |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1079 Регистрация: 16.2.2007 Где: в Караганде Репутация: 16 Всего: 31 |
У джавы иная идеология. Вместо пропертей использую пару getter/setter. Постепенно привыкаешь и забывешь о том, насколько удобны были проперти. Потому что проперти, по большому счёту, не панацея - с ними тоже мороки хватает. В джава специально отказались от идеи пропертей, чтобы программист всегда видел, к чему он обращается - к полю или к методу. -------------------- Три достоинства программиста: Леность, Нетерпение и Гордость Ларри Уолл |
|||
|
||||
| Elfix |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 167 Регистрация: 13.7.2005 Репутация: нет Всего: нет |
Да не спорю. Ко всему можно привыкнуть. Много инструментов отобрали. Объясняют тем, что теперь у нас нет возможности плодить ошибок. Да, увы. Раньше хороший юзер был безрукий, безногий, слепой, немой и глухой человек, теперь, увы из программистов делают то же самое. Ты никогда не сделаешь ошибки, если тебе будет нечем ее делать.
Так то пофиг. Лучшая среда программирования та, для которой создано и создается много различных удобных оболочек. Похоже Java самая перспективная в этом плане среда. Ну и бонус многоплатформенность (за которую приходится платить медленностью), конечно, смысл в которой я пока плохо себе представляю ибо мне проще найти привычную виндовую систему, чем какую-либо другую. |
|||
|
||||
![]()
|
| Правила форума "Java" | |
|
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |