Языки программирования — Осенний семестр; Михалкович С.С.; 2008
Лекция 1
Основы Java. Понятие виртуальной машины, схема компиляции и выполнения. Преимущества и недостатки виртуальной машины.
Первая программа на Java.
Переменные и константы. Стандартные типы. Правила приведения числовых типов.
Ввод-вывод. Класс Scanner.
Операторы.
Перечислимый тип.
Класс String, некоторые его методы.
Массивы. Оператор for(x: a). Класс java.util.Arrays.
Двумерные массивы.
Функции. Параметры. Отсутствие ссылочных параметров.
Лекция 2
АТД. Интерфейс, реализация, принцип сокрытия реализации.
Реализация АТД в виде класса.
Класс как модуль и как тип данных.
Инкапсуляция как объединение методов и полей в одной "капсуле".
Защита доступа в классе (private, public).
Синтаксис классов в PABC.NET и в Java. Вызов конструкторов.
Определение методов внутри и вне интерфейса класса (PascalABC.NET). Достоинства и недостатки каждого способа.
Класс Стек и его реализация на основе массива (PascalABC.NET, Java). Клиентская программа для класса Стек (PascalABC.NET, Java).
Вывод: семантика классов в PascalABC.NET и Java практически идентична, различается только синтаксис.
Хранение объектов классов в памяти. Ссылочная объектная модель. Присваивание и сравнение объектов. Нулевое значение объектной переменной.
Передача параметров по ссылке в Java - необходимость создания класса-обертки.
Лекция 3 (16.09.08)
Размерная модель классов в C++. Хранение объектов классов в памяти. Присваивание объектов.
Определение методов внутри и вне интерфейса класса (C++).
Где следует размещать код интерфейса класса и код реализации его методов.
Методы в записях PascalABC.NET. Размерная модель данных для записей.
Объекты C++ в динамической памяти. Необходимость явного освобождения памяти.
Лекция 4 (23.09.08)
Статические методы и поля в PascalABC.NET, Java и C++.
Статические конструкторы в PascalABC.NET, Java. Класс Динамический массив (PascalABC.NET).
Свойства. Свойства с индексами.
Стандартный класс двусвязного списка в библиотеке .NET.
Понятие итератора. Защита доступа. Интерфейс итератора. Итерация по списку с помощью итератора. Итерация с помощью foreach. Класс Множество на PascalABC.NET. Реализация с помощью списков и с помощью бинарных деревьев поиска.
Идея ускорения доступа. Хеширование. Хеш-таблица, хеш-функция.