Модераторы: LSD, AntonSaburov

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> 5 основных отличий между Java и C++ 
:(
    Опции темы
sergejzr
Дата 10.5.2006, 17:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

Репутация: 6
Всего: 360



Цитата(ALKS @  10.5.2006,  15:05 Найти цитируемый пост)
интерфейсы - не согласен. полностью абстрактный и public класс без свойств суть интерфейс. 

О, нет! Как то раз реализовывали подобное интерфейсам на С++ с абстрактными классами. Там морока ещё та. Это нельзя сравнивать! 


--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
ALKS
Дата 10.5.2006, 17:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 354
Регистрация: 22.3.2006

Репутация: 1
Всего: 11



MoonCat, по-поводу Object, как и говорилось - относим в существенные отличия ООП. их много, самые глобальные я упомянул, перечеслять всё... долго и не очень принципиально. smile

Структуры в С++ это уже давно классы. я все равно искренне не понимаю что в них особенного чтобы заострять на них внимание.
привидите мне пример их прелести и язящества, если можно smile  


Ребят, интерфейсы введены в язык Java галвным образом для того, чтобы явно поддержать их множественное наследование на уровне специального синтаксиса. нету в них ничего существенного. немного более удобно и проще абстрактного класса. но отсутсвие этого ключевого слова не являеться существенным отличием - относим в "в существенные отличия ООП" smile

чуть позже внезу в оригинальный пост чтоб общественность не сгрызла ))) 

Это сообщение отредактировал(а) ALKS - 10.5.2006, 17:26
PM   Вверх
Domestic Cat
Дата 10.5.2006, 17:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5452
Регистрация: 3.5.2004
Где: Dallas, US

Репутация: 50
Всего: 172



Цитата(ALKS @  10.5.2006,  08:05 Найти цитируемый пост)
1. интерфейсы - не согласен. полностью абстрактный и public класс без свойств суть интерфейс. то что в С++ нет специального ключевого слова (а кстати в поcледних стандартах деж есть уже, кажется) не принципиально. 

Pure abstract класс не есть интерфейс, тк может содержать и неабстрактные методы. 
Цитата(ALKS @  10.5.2006,  08:23 Найти цитируемый пост)
Ребят, интерфейсы введены в язык Java галвным образом для того, чтобы явно поддержать их множественное наследование на уровне специального синтаксиса. нету в них ничего существенного. немного более удобно и проще абстрактного класса. но отсутсвие этого ключевого слова не являеться существенным отличием - относим в "в существенные отличия ООП" smile

Интерфейсы - одно из главных достижений Java, тк представляют собой иной ООП концепт - отделение набора операций (интерфейса) от имплементации, "чистый" полиморфизм. Наследование класса же - это еще и наследование имплементации и инкапсуляция.

   


--------------------

PM   Вверх
ALKS
Дата 10.5.2006, 17:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 354
Регистрация: 22.3.2006

Репутация: 1
Всего: 11



Цитата(Domestic Cat @ 10.5.2006,  17:37)
Цитата(ALKS @  10.5.2006,  08:05 Найти цитируемый пост)
1. интерфейсы - не согласен. полностью абстрактный и public класс без свойств суть интерфейс. то что в С++ нет специального ключевого слова (а кстати в поcледних стандартах деж есть уже, кажется) не принципиально. 

Pure abstract класс не есть интерфейс, тк может содержать и неабстрактные методы. 

Под Pure abstract класс я понимаю класс все методы которого - абстракты. на то он и pure. smile

Цитата(Domestic Cat @ 10.5.2006,  17:37)

Цитата(ALKS @  10.5.2006,  08:23 Найти цитируемый пост)
Ребят, интерфейсы введены в язык Java галвным образом для того, чтобы явно поддержать их множественное наследование на уровне специального синтаксиса. нету в них ничего существенного. немного более удобно и проще абстрактного класса. но отсутсвие этого ключевого слова не являеться существенным отличием - относим в "в существенные отличия ООП" smile

Интерфейсы - одно из главных достижений Java, тк представляют собой иной ООП концепт - отделение набора операций (интерфейса) от имплементации, "чистый" полиморфизм. Наследование класса же - это еще и наследование имплементации и инкапсуляция.

Я считаю что это больше особенности проектирования а не программирования. вы можете описать Pure abstract класс в Java. Но вы не сможете множественно относледовтаься от него. по-этому у вас нету выбора. в С++ вы можеет относледовтаься множественно от чего угодно поэтому вам не нужен специальный синтаксис. но ОК ОК я не хочу спорить. Domestic Cat - прав.
все внесено в оригинальный пост. 
PM   Вверх
Domestic Cat
Дата 10.5.2006, 18:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5452
Регистрация: 3.5.2004
Где: Dallas, US

Репутация: 50
Всего: 172



Цитата(ALKS @  10.5.2006,  08:54 Найти цитируемый пост)
Под Pure abstract класс я понимаю класс все методы которого - абстракты. на то он и pure. smile

Никто не запрещает дописать туда неабстрактные методы, язык это позволяет. 


--------------------

PM   Вверх
ALKS
Дата 10.5.2006, 23:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 354
Регистрация: 22.3.2006

Репутация: 1
Всего: 11



Цитата(Domestic Cat @ 10.5.2006,  18:10)
Цитата(ALKS @  10.5.2006,  08:54 Найти цитируемый пост)
Под Pure abstract класс я понимаю класс все методы которого - абстракты. на то он и pure. smile

Никто не запрещает дописать туда неабстрактные методы, язык это позволяет.

не придерайся. если в него допишут код он уже не будет pure т.е. не будет интерфейсом. то что язык это позволят - это уже вопрос другой. я же просто привел пример как получить интерфейс в С++ вот и всё. 
PM   Вверх
Kars
Дата 11.5.2006, 17:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 13
Регистрация: 27.4.2006

Репутация: нет
Всего: нет



Java платформонезависима , надо только виртуальную машину поставить и всё  smile  
PM MAIL   Вверх
ALKS
Дата 11.5.2006, 17:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 354
Регистрация: 22.3.2006

Репутация: 1
Всего: 11



Цитата(Kars @ 11.5.2006,  17:09)
Java платформонезависима , надо только виртуальную машину поставить и всё  smile

1.это обсуждалось выше, хочеш пример java-программы, которая будет правильно работать в Windows и не хрена не правильно в Unix? smile кое за чем следить в программах придеться. пусть и не сильно за многим...
2. а если нету JVM под платформу? под MS DOS - нету! smile 
PM   Вверх
w1nd
Дата 11.5.2006, 18:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вертилятор
***


Профиль
Группа: Завсегдатай
Сообщений: 1077
Регистрация: 22.3.2006
Где: Москва

Репутация: 20
Всего: 54



Цитата
1. это обсуждалось выше, хочеш пример java-программы, которая будет правильно работать в Windows и не хрена не правильно в Unix?

Так это java платформонезависима, а не чьи-то программки.

Цитата
 а если нету JVM под платформу?

Напишите, если нужна. 

Это сообщение отредактировал(а) w1nd - 11.5.2006, 18:43


--------------------
user posted imageuser posted image
PM MAIL ICQ   Вверх
powerOn
Дата 11.5.2006, 18:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


software saboteur
****


Профиль
Группа: Участник
Сообщений: 4367
Регистрация: 7.10.2005

Репутация: 47
Всего: 159



Цитата

хочеш пример java-программы, которая будет правильно работать в Windows и не хрена не правильно в Unix? 


я хочу. Выкладывай, или пришли мне на ящик. 


--------------------
user posted image нет времени думать - нужно писать КОД!

PM MAIL   Вверх
JUncle
Дата 12.5.2006, 07:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 162
Регистрация: 6.4.2006
Где: Казань, РФ

Репутация: нет
Всего: 1



Цитата(ALKS @  11.5.2006,  17:14 Найти цитируемый пост)
а если нету JVM под платформу?

А если под платформу нет компилятора для другого языка?

Цитата(ALKS @  11.5.2006,  17:14 Найти цитируемый пост)
под MS DOS - нету!

Под MS-DOS - и не будет! Это технически невозможно.
 
--------------------
class JUncle extends Man // singleton{/*...*/}
PM MAIL   Вверх
w1nd
Дата 12.5.2006, 21:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вертилятор
***


Профиль
Группа: Завсегдатай
Сообщений: 1077
Регистрация: 22.3.2006
Где: Москва

Репутация: 20
Всего: 54



Цитата
Под MS-DOS - и не будет! Это технически невозможно.

Почему? 


--------------------
user posted imageuser posted image
PM MAIL ICQ   Вверх
powerOn
Дата 12.5.2006, 23:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


software saboteur
****


Профиль
Группа: Участник
Сообщений: 4367
Регистрация: 7.10.2005

Репутация: 47
Всего: 159





Цитата(w1nd @  12.5.2006,  22:58 Найти цитируемый пост)
Цитата
Под MS-DOS - и не будет! Это технически невозможно.

Почему?  

Ох, давно это было...
1) Ограниченность адресуемой оперативной памяти.
Вроде свего  1 мегабайт. Хотя...  для Java ME хватит.  smile 
2) Отсутствие многозадачности. Тут даже мобильная Java не потянет...
ну, там еще есть разного рода проблемы...
 


--------------------
user posted image нет времени думать - нужно писать КОД!

PM MAIL   Вверх
maxim1000
Дата 13.5.2006, 00:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 3334
Регистрация: 11.1.2003
Где: Киев

Репутация: нет
Всего: 110



Цитата(JUncle @  12.5.2006,  06:49 Найти цитируемый пост)
Под MS-DOS - и не будет! Это технически невозможно


Цитата(MoonCat @  12.5.2006,  22:18 Найти цитируемый пост)
1) Ограниченность адресуемой оперативной памяти.
Вроде свего  1 мегабайт. Хотя...  для Java ME хватит.   
2) Отсутствие многозадачности. Тут даже мобильная Java не потянет...
ну, там еще есть разного рода проблемы...


сразу скажу, человек я - о Java знающий издалека
но интересно: если у нас есть интерпретатор неважно какого кода (если я не ошибаюсь, это является одним из способов построения JVM), то разве нельзя там обойти все эти отличия?
грубые прикидки:
многозадачность - после каждых N исполненных команд байт кода делать переключение потоков (т.е. просто сохранять контекст одного и переводить программный счётчик на другой кусок кода)
ограничения по памяти - так мы же (в данном случае с точки зрения создателей интерпретатора) и обрабатываем эти запросы, кто мешает сделать свой алгоритм подгрузки/выгрузки страниц на винт?

да, несомненно, такая реализация будет медленной, но всё же не невозможной...

?

Добавлено @ 00:58 
P.S.
машину Тьюринга ведь можно сделать мод DOS  smile  


--------------------
qqq
PM WWW   Вверх
w1nd
Дата 13.5.2006, 04:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вертилятор
***


Профиль
Группа: Завсегдатай
Сообщений: 1077
Регистрация: 22.3.2006
Где: Москва

Репутация: 20
Всего: 54



Цитата(MoonCat @ 12.5.2006,  23:18)
2) Отсутствие многозадачности. Тут даже мобильная Java не потянет...

Вытесняющая многозадачность в реальном режиме (DOS) реализуется довольно просто. При чем почти точно так же, как и в современных ОС защищенного режима. 


--------------------
user posted imageuser posted image
PM MAIL ICQ   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1017 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.