РепТеч — новости технологий

  • Главная
  • Карта сайта

16

Ноя

Языки С++ и Java, дружественные классы (2я часть)

В языке Java все объекты передаются по ссылкам, в то время как в C++ по умолчанию осуществляется передача объектов по значению. В Java, в отличие от C++, автоматического приведения типов не происходит; хотя новые функциональные возможности языка Java, такие как обобщения и автоупаковка, охватывают многие распространенные варианты приведения типов. Все методы в Java являются виртуальными, то есть реализация метода выбирается в соответствии с типом объекта, а не с типом ссылки. В C++ методы нужно явно объявлять как виртуальные. В Java определены размеры базовых типов данных, в то время как в C++ они зависят от конкретной реализации.

Если у вас есть унаследованный С-код и требуется высокая производительность, язык C++ имеет определенные преимущества, особенно при необходимости низкоуровневого доступа к системе. Если же наиболее важными факторами являются переносимость, безопасность и скорость разработки, лучше выбрать Java.
Дружественные классы

Ключевое слово friend, указанное с функциями или классами, дает дружественной функции или классу доступ к закрытым членам класса, в котором находится объявление. Некоторые программисты считают, что данный механизм противоречит принципам объектно-ориентированного программирования, так как позволяет классу работать с закрытыми членами другого класса. Это может привести к неожиданным ошибкам, когда изменение внутренней реализации класса становится причиной проблем с имеющим к нему доступ дружественным классом.
Однако в некоторых случаях выгоды от дружественных классов перевешивают их недостатки. К примеру, представьте реализацию класса такого динамического массива, в котором отдельный класс способен по очереди обращаться к элементам этого массива. Такой класс-итератор может корректно функционировать только при наличии доступа к закрытым членам класса динамического массива. Значит, имеет смысл объявить итератор другом класса массива. Поскольку работа этих двух классов неразрывно связана друг с другом, не стоит бессмысленно настаивать на их разделении.

Читайте также: Новости России и мира.

Возможно заинтересует:

  • Инспектор из космоса
  • Реклама в блогах: кому дать денег?
  • Следующий рубеж в 3D-печати
  • Нанотехнологии могут создать риск для экологии
  • Праворукость возникла как результат освоения орудий труда

Свежие записи

  • Инспектор из космоса
  • Реклама в блогах: кому дать денег?
  • Следующий рубеж в 3D-печати
  • Нанотехнологии могут создать риск для экологии
  • Праворукость возникла как результат освоения орудий труда

Архивы

  • Июнь 2025
  • Май 2025
  • Апрель 2025
  • Март 2025
  • Февраль 2025
  • Январь 2025
  • Декабрь 2024
  • Ноябрь 2024
  • Октябрь 2024
  • Сентябрь 2024
  • Август 2024
  • Июль 2024
  • Июнь 2024
  • Май 2024

Последние записи

  • Инспектор из космоса
  • Реклама в блогах: кому дать денег?
  • Следующий рубеж в 3D-печати
  • Нанотехнологии могут создать риск для экологии
  • Праворукость возникла как результат освоения орудий труда
  • Спецслужбы Украины и России разоблачили хакерскую группировку
  • Twitter заставит отказаться от паролей
  • Интернет-пираты помогут «скачать пару кроссовок»
  • Моторостояние: поможет ли России заграница?
  • На выставке в Москве представили будущие средства безопасности
  • Случайные записи

    • Астрономы продвинулись в исследовании формирования звезд
    • В потере военного спутника виноваты новые технологии
    • Азербайджан заинтересовался российскими береговыми комплекса
    • Интернет стал популярнее телевидения
    • Объяснена возможность появления жизни на Марсе
    • Twitter запустил рекламный механизм Tailored Ads
    • Создание блога на Blogger.com
Все права защищены © 2025 РепТеч — новости технологий.