- •2. Массивы данных в языке программирования Паскаль.
- •3 Операции и выражения в языке программирования Паскаль.
- •4.Условный оператор в языку поскаль
- •6. Операторы цикла паскаль
- •7 Процедуры ввода-вывода в Паскаль.
- •8 Процедуры и функции в Паскаль.
- •9 Примитивные типы данных в Си.
- •10 Массивы данных в Си.
- •12 Операции и выражения в си
- •13 Условный оператор и операция в Си.
- •15 Организация циклов в программе.Си
- •18 Объекты и классы с
- •19 Управление доступом к классу.
- •20 Конструкторы классов
- •21 Наследование классов
- •22 Перегрузка и переопределение членов класса
- •23 Абстрактные классы
- •24 Массивы объектов
- •25 Иерархическая,сетевая,реляционная модели представления данных.
- •26 Нормализация базы данных, основные принципы и цель нормализации.
- •27 Проектирование баз данных
- •28 Язык sql и его возможности, выборка данных средствами sql
- •29 Язык sql и его возможности редактирование данных sql
- •30 Создание, редактирование и удаление таблиц средствами sql
- •Представление – view
- •31 Шинная архитектура персональных компьютеров
- •32 Микропроцессоры, контроллеры и микроконтроллеры
- •33 Современные виды устройств памяти в вс
- •34 Структура и свойства системы видеовывода.
- •35 Современные системы печати.
- •36 (6) Виды мультимедийного оборудования в составе компьютера.
- •37 Понятие формфактора корпуса и его влияние на конструкцию компьютеров.
- •38 Базовая система ввода-вывода (bios) и способы ее настройки.
- •39 Post-диагностика и внешняя диагностика современных вычислительных систем
- •41 (11) Возможные неисправности системных плат персональных компьютеров.
- •42 Диагностика неисправностей hdd и способы восст. Данных
- •43 Определения ос
- •44 Схема взаимодействия ядра персонального компьютера с пользователем
- •45 Классификация операционных систем.
- •46 Особенности методов построения операционных систем
- •47 Атрибуты и права доступа к файлу
- •48 Методы распределения памяти
- •49 Файловая система в структуре операционной системы
- •50 Понятие виртуального ресурса и машины.
- •51 Понятие и основные виды интерфейсов.
- •52 Состояния процессов в системах с абсолютными и относительными приоритетами.
- •53 Вытесняющие и невытесн. Алгоритмы планирования процессов
- •54 Понятие критической секции при синхронизации процессов.
- •55 Классификация современных сетей.
- •56 Модели представления сетевых объектов и устройств
- •Физический и канальный уровни модели osi
- •Сетевой и транспортный уровни модели osi
- •Сеансовый, представительский и прикладной уровни osi
- •57 Назначение и виды методов доступа к среде
- •Метод доступа к среде с использованием маркера
- •Структурированные кабельные системы
- •59 Сетевое оборудование
- •60 Среды передачи данных
- •61 Примеры сетевых технологий построения локальных вычислительных сетей
- •62 Виды адресации в компьютерных сетях
- •63 Виды сетевого программного обеспечения и их основные характеристики
- •64 Способы объединения и управления участников сети
- •65 Простейшие схемы соединения компьютеров в сеть
20 Конструкторы классов
Конструктором называется метод, вызываемый для инициализации объекта при его создании.
Имя конструктора всегда совпадает с именем класса. Конструктор не может использовать оператор return и для него не указывается никакого типа возвращаемого значения. При объявлении конструктора можно указать модификаторы доступа public, protected или private.
Наличие явно описанного конструктора в классе не является обязательным. В этом случае при создании объекта используется конструктор по умолчанию. Такой конструктор не получает параметров и вызывает непосредственно конструктор суперкласса: super().
При этом, если суперкласс не имеет конструктора без списка параметров, то происходит ошибка компиляции.
Конструкторы не наследуются подклассами.
Тело конструктора заключается в фигурные скобки.
При этом первыми операторами должны быть указаны, если они используются, операторы вызова конструкторов данного класса или суперкласса.
Конструктор может иметь следующее формальное описание:
ИмяКласса (СписокПараметров) {
ВызовКонструкторов
БлокОператоров
}
Вызов конструкторов выполняется операторами this и super с указанием в скобках списка параметров.
Например(Java):
public class C extends A {
public C() {this(1,20); }
// Вызов конструктора данного класса
public C(int i, int j) { }
}
Вызов конструкторов подчиняется следующим правилам:
- при создании объекта любого заданного класса будет неявно выполнена цепочка вызовов всех конструкторов его суперклассов;
- первым будет выполнено тело конструктора для Object;
- каждый последующий конструктор в цепочке будет выполняться только после выполнения конструктора своего непосредственного суперкласса;
- при создании объекта будут инициализированы все переменные экземпляра.
21 Наследование классов
Наследование – один из трех важнейших механизмов объектно-ориентированного программирования (наряду с Инкапсуляцией и Полиморфизмом), позволяющий описать новый класс на основе уже существующего (родительского), при этом свойства и функциональность родительского класса наследуются новым классом.
Другими словами, класс-наследник реализует спецификацию уже существующего класса (базовый класс). Это позволяет обращаться с объектами класса-наследника точно так же, как с объектами базового класса.
Простое наследование
Класс, от которого произошло наследование, называется базовым или родительским (англ. base class). Классы, которые произошли от базового, называются потомками, наследниками или производными классами (англ. derived class).
В некоторых языках используются абстрактные классы. Абстрактный класс – класс, содержащий хотя бы один абстрактный метод, он описан в программе, имеет поля, методы и не может использоваться для непосредственного создания объекта. Т.е. от Абстрактного класса можно только наследовать. Объекты создаются только на основе производных классов, наследованных от абстрактного. Т.к. производные классы имеют общие поля и функции, то эти члены класса могут быть описаны в базовом классе.
Множественное наследование
При множественном наследовании у класса может быть более одного предка. В этом случае класс наследует методы всех предков. Достоинства такого подхода в большей гибкости. Множественное наследование реализовано в C++. Из других языков, предоставляющих эту возможность, можно отметить Python. Множественное наследование поддерживается в языке UML.
Множественное наследование – потенциальный источник ошибок, которые могут возникнуть из-за наличия одинаковых имен методов в предках. Практически всегда можно обойтись без использования данного механизма. Однако, если такая необходимость все-таки возникла, то, для разрешения конфликтов использования наследованных методов с одинаковыми именами, возможно, например, применить операцию расширения видимости - "::" - для вызова конкретного метода конкретного родителя.
Большинство современных объектно-ориентированных языков программирования поддерживает возможность одновременно наследоваться от класса-предка и реализовать методы нескольких интерфейсов одним классом. Этот механизм позволяет во многом заменить множественное наследование – методы интерфейсов необходимо переопределять явно, что исключает ошибки при наследовании функциональности одинаковых методов различных классов-предков. Пример наследования в Java: public class MyClass2 extends MyClass {…}