Смекни!
smekni.com

Спецификация программы uWert > Текст программы uWert Доказательство корректности программы uWert Организация многооконного интерфейса и диалога в приложениях (стр. 10 из 10)

UNICODE.

Нет оператора goto.

Конкатенация выражается знаком +.

Строка выражается объектом класса string. Этот объект доступен только для чтения. При изменении старый экземпляр уничтожается и создаётся новый.

Указателей как отдельного типа нет (?).

В функциях и методах передача параметров только по значению. Указатель дублируется. Возврат составных значений – только через объект.

Определение класса

спецификатор class имя [extends имя-предка]{тело}[implements имя-интерфейса]

В классе отсутствуют свойства как член класса.

Определения методов встроенные (?).

В определении класса предусмотрены блоки статической инициализации

static { };

Нет деструкторов.

Создание объекта – посредством оператора new.

Обращение к члену класса – через “точку” от имени переменной, содержащей объект.

Обращение к членам классов вверх по иерархии наследования обеспечивается оператором super.

Классы могут быть (по спецификатору) abstract, final

Нет глобальных статических переменных.

Приложение запускается с указанием имени класса, в котором вызывается функция с именем main.

Глобальное поле видимости обеспечивается оператором package, проставляемыми в начале модуля.

package имя-пакета

import имя-пакета.*

2.7.5. Особенности языка C#.

Компиляция осуществляется в специальный промежуточный байт-код, исполняемый аппаратурно-независимой средой в .Net, которая создаёт для программы “контекст времени выполнения”. Исполняемый файл exe вызывает “контекст времени исполнения”.

Есть типы decimal и struct.

Нет указателей.

Определение класса

[спецификатор] class имя класса [: спецификатор-видимости имя-класса][{тело класса}];

Наследование от класса однозначное. Множественное наследование может быть наследование от интерфейсов.

Поля могут иметь спецификатор const.

Методы встроенные. В методе могут быть передачи параметров по ссылке с инициализацией и без инициализации параметра (ref и out).

Есть свойства

спецификация тип имя-свойства {

get {return = }

set { }

}

Классы могут быть (по спецификатору) abstract, final, partial

Введёна специальная разновидность членов класса – “событие”, которым можно присваивать в качестве значения цепочку указателей на обработчики. Присвоение в форме

имя события+=new имя-делегата(объект.имя обработчика)

События определяются

public event имя-делегата имя-события

где определяется как тип

public delegate void имя-делегата (сигнатура)

Могут определяться деструкторы

~ имя-класса ( )

но они явно не вызываются.

Пространство имён задаётся или продолжается оператором

namespace имя-пространства { пространство }

Using задаёт имя пространства по умолчанию до конца текущего пространства имён.

Объект в пространстве имён квалифицируется именем пространства через “толчку”.

Приложение запускается с указанием имени класса, в котором вызывается функция с именем main.


ПРИЛОЖЕНИЕ 2

Основы языка UML