Языки программирования — Осенний семестр; Михалкович С.С.; 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++ в динамической памяти. Необходимость явного освобождения памяти.