- •1.Атрибуты private, public, protected.
- •2. Виртуальные методы и полиморфизм.
- •7. Заголовочные файлы
- •8. Инкапсуляция, наследование и полиморфизм.
- •18) Объект ListBox.
- •19) Объект RadioGroup.
- •20) Объект TextBox (или Edit).
- •21) Объекты, классы, экземпляры класса. Пример.
- •22) Оператор for.
- •25) Основные окна среды визуального программирования.
7. Заголовочные файлы
Типы одного объекта или функции должны быть согласованы во всех их описаниях. Должен быть согласован по типам и входной текст, обрабатываемый транслятором, и связываемые части программы. Есть простой, хотя и несовершенный, способ добиться согласованности описаний в различных файлах. Это: включить во входные файлы, содержащие операторы и определения данных, заголовочные файлы, которые содержат интерфейсную информацию.
Средством включения текстов служит макрокоманда #include, которая позволяет собрать в один файл (единицу трансляции) несколько исходных файлов программы. Команда
#include "включаемый-файл"
заменяет строку, в которой она была задана, на содержимое файла включаемый-файл
8. Инкапсуляция, наследование и полиморфизм.
Инкапсуляция - это механизм, который объединяет данные и код, манипулирующий этими данными, а также защищает и то, и другое от внешнего вмешательства или неправильного использования. В объектно-ориентированном программировании код и данные могут быть объединены вместе; в этом случае говорят, что создаётся так называемый "чёрный ящик". Когда коды и данные объединяются таким способом, создаётся объект. Другими словами, объект - это то, что поддерживает инкапсуляцию.
Полиморфизм - это свойство, которое позволяет одно и то же имя использовать для решения двух или более схожих, но технически разных задач. Целью полиморфизма, применительно к объектно-ориентированному программированию, является использование одного имени для задания общих для класса действий. Выполнение каждого конкретного действия будет определяться типом данных.
Наследование - это процесс, посредством которого один объект может приобретать свойства другого. Точнее, объект может наследовать основные свойства другого объекта и добавлять к ним черты, характерные только для него. Наследование является важным, поскольку оно позволяет поддерживать концепцию иерархии классов. Применение иерархии классов делает управляемыми большие потоки информации.
18) Объект ListBox.
Экземпляр класса TListBox представляет собой список. Рассмотрим его основные свойства. Основное свойство для списка - это Items. Тип у него - TStrings. Именно в нем и хранятся элементы нашего списка. Для заполнения списка нажмите на кнопку с многоточием рядом с названием этого свойство в инспекторе объектов. Появится окно String List Editor, в котором можно печатать элементы нашего списка (разделяя их нажатием клавиши Enter).
С элементами списка можно работать и программно. Для этого используем это же самое свойство Items.
Код для добавления нового элемента в список:
ListBox1->Items->Add("Новый элемент");
Код для очистки всего списка:
ListBox1->Items->Clear();
Код для удаления элемента из списка:
ListBox1->Items->Delete(0);
Параметр в скобках (у нас это ноль) - это номер удаляемого элемента. В нашем примере фактически удаляется первый элемент списка, так как их нумерация начинается с нуля.
Код для добавления нового элемента в определенное место:
ListBox1->Items->Insert(2,"Roman'");
В данном примере новый элемент Roman вставится на второе место (с точки зрения пользователя это будет третье место, так как их нумерация начинается с нуля).
Свойство ItemIndex служит для определения выделенного в списке элемента (оно доступно как для чтения, так и для записи). Элементы списка нумеруются с нуля, так что если выделен, например, третий элемент, то значение этого свойства равно 2. Если ни один элемент списка не выделен, то значение свойства ItemIndex равно -1.
Код для снятия выделения с элемента списка:
ListBox1->ItemIndex=-1;
Свойство списка MultiSelect определяет, можно ли выделять несколько элементов списка одновременно. Если оно равно false (значение по умолчанию), то выделять несколько элементов нельзя, а если true, то можно.
Свойство Sorted определяет, сортируются ли элементы списка. По умолчанию оно равно false, и если установить его в true, то список будет отсортирован и новые элементы будут вставляться не в конец, а в соответствующее сортировке место.
