Языки программирования — Осенний семестр; Михалкович С.С.; 2008

Материал из Вики ИТ мехмата ЮФУ
Версия от 19:29, 12 декабря 2008; Admin (обсуждение | вклад) (Лекция 3 (16.09.08))

Перейти к: навигация, поиск

Лекция 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. Реализация с помощью списков и с помощью бинарных деревьев поиска.

Идея ускорения доступа. Хеширование. Хеш-таблица, хеш-функция.