Структуры

Написано admin в 20 Июнь 2008 – 21:30 -


Структуры

Рассмотрим теперь более подробно вопросы описания структур, их синтаксиса, семантики и тех особенностей, что отличают их от классов.

Синтаксис структур

Синтаксис объявления структуры аналогичен синтаксису объявления класса:

[атрибуты][модификаторы]struct имя_структуры[:список_интерфейсов]

{тело_структуры}

Какие изменения произошли в синтаксисе в сравнении с синтаксисом класса, описанным в лекции 16? Их немного. Перечислим их:

  • ключевое слово class изменено на слово struct;
  • список родителей, который для классов, наряду с именами интерфейсов, мог включать имя родительского класса, заменен списком интерфейсов. Для структур не может быть задан родитель (класс или структура). Заметьте, структура может наследовать интерфейсы;
  • для структур неприменимы модификаторы abstract и sealed. Причиной является отсутствие механизма наследования.

Все, что может быть вложено в тело класса, может быть вложено и в тело структуры: поля, методы, конструкторы и прочее, включая классы и интерфейсы. Read more »


Tags: , , , , , , , , ,
Находится в Учебник | No Comments »

Система типов

Написано admin в 20 Июнь 2008 – 20:47 -


Система типов

Давайте рассмотрим, как устроена система типов в языке C#, но вначале для сравнения приведу классификацию типов в стандарте языка C++.

Стандарт языка C++ включает следующий набор фундаментальных типов.

  1. Логический тип (bool).
  2. Символьный тип (char).
  3. Целые типы. Целые типы могут быть одного из трех размеров – short, int, long, сопровождаемые описателем signed или unsigned, который указывает, как интерпретируется значение, – со знаком или без оного.
  4. Типы с плавающей точкой. Эти типы также могут быть одного из трех размеров – float, double, long double.

Кроме того, в языке есть

  1. Тип void, используемый для указания на отсутствие информации.

Язык позволяет конструировать типы.

  1. Указатели (например, int* – типизированный указатель на переменную типа int).
  2. Ссылки (например, double& – типизированная ссылка на переменную типа double).
  3. Массивы (например, char[] – массив элементов типа char).

Язык позволяет конструировать пользовательские типы

  1. Перечислимые типы (enum) для представления значений из конкретного множества.
  2. Структуры (struct).
  3. Классы. Read more »

Tags: , , , , , , , , , ,
Находится в Учебник | No Comments »

C# — язык программирования, сочетающий объектно-ориентированные и аспектно-ориентированные концепции. Разработан в 1998—2001 годах группой инженеров под руководством Андерса Хейлсберга в компании Microsoft как основной язык разработки приложений для платформы Microsoft .NET. Компилятор с C# входит в стандартную установку самой .NET, поэтому программы на нём можно создавать и компилировать даже без инструментальных средств вроде Visual Studio. C# относится к семье языков с C-подобным синтаксисом, из них его синтаксис наиболее близок к С++ и Java. Язык имеет строгую статическую типизацию, поддерживает полиморфизм, перегрузку операторов, указатели на функции-члены классов, атрибуты, события, свойства, исключения, комментарии в формате XML. Переняв многое от своих предшественников — языков С++, Java, Delphi, Модула и Smalltalk — С#, опираясь на практику их использования, исключает некоторые модели, зарекомендовавшие себя как проблематичные при разработке программных систем: так, C# не поддерживает множественное наследование классов (в отличие от C++).