Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ответы 40-50.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
315.9 Кб
Скачать
  1. Перспективы развития объектно-ориентированного программирования.

  2. Языки программирования можно оценить по тому, насколько они строги к типам. Контроль типов включает проверку существования вызываемых методов, видов их параметров, проверку границ массивов и подобное.

  3. C++, Java, и Object Pascal предпочитают более или менее тщательный контроль типов во время компиляции. С++, возможно, наименее точен в этом отношении (на что указывает, к примеру, возможность присвоения double к float), тогда как Java использует проверку типов наиболее широко. Это оттого, что C++ обеспечивает совместимость с Си, который не очень строго проверяет типы во время компиляции. Например, C и C++ считают, что все арифметические типы совместимы (хотя присвоение float целой переменной вызовет предупреждение компилятора). В Object Pascal и Java логическое значение не целое, а символ - еще один отличный и несовместимый тип.

  4. Тот факт, что виртуальная машина Java интерпретирует байтовый код во время выполнения, не означает, что этот язык отказывается от проверки типов во время компиляции. Наоборот, в этом языке проверка наиболее тщательна. Другие ОО языки, такие как Smalltalk и CLOS, наоборот, склонны большинство проверок типов (если не все) осуществлять во время исполнения.

  5. Чисто объектно-ориентированные и гибридные языки[править]

  6. Различаются чистые и гибридные объектно-ориентированные языки. Чистые — это те, которые позволяют использовать только одну модель программирования — объектно-ориентированную. Вы можете объявлять классы и методы, но не можете завести глобальные переменные и обычные функции и процедуры старого типа.

  7. Среди наших четырех языков, только Java и C# являются чистыми ОО языками (как Eiffel и Smalltalk). На первый взгляд это кажется положительной идеей. Однако она ведет к тому, что вы используете кучу статических методов и статических данных, что не так уж отличается от использования глобальных функций и данных, за исключением более сложного синтаксиса. По моему мнению, чистые ОО языки дают преимущество новичкам в ООП, потому что программист вынужден использовать (и учить) модель ООП. C++ и Object Pascal, наоборот, - типичные примеры гибридных языков, которые позволяют программистам использовать при необходимости традиционный подход C или Pascal.

  8. Smalltalk расширяет эту идею до уровня «обобъекчивания» таких предопределенных типов данных, как целые и символы, а также языковых конструкций (таких как циклы). Это теоретически интересно, но сильно уменьшает эффективность. Java и C# останавливаются много раньше, допуская присутствие простых не ОО типов данных (хотя имеются необязательные классы-обертки и для простых типов).

  1. Объявление вещественных чисел. Приведите пример.

  2. int n=sc.nextInt();

  3.        double a[]= new double[n+1];

  4.        for (int i=0; i<n; i++) a[i]=sc.nextFloat();

  1. Языки объектно-ориентированного программирования.

  • C#

  • C++

  • F#

  • Java

  • Delphi

  • Eiffel

  • Simula

  • D

  • Io

  • Objective-C

  • Swift

  • Object Pascal

  • VB.NET

  • Visual DataFlex

  • Perl

  • PowerBuilder

  • Python

  • Scala

  • ActionScript (3.0)

  • JavaScript

  • JScript .NET

  • Ruby

  • Smalltalk

  • Ada

  • Xbase++

  • X++

  • Vala

  • PHP

  • Cyclone