Разработка объектно-ориентированного приложения с использованием класса Directory, страница 2

Общие операции в объектно-ориентированном программировании: На практике объектно-ориентированное программирование делится на две части. Одна часть включает стратегии и приемы для разработки программ (или объектно-ориентированного дизайна). Вторая часть ООП — это собственно структуры программирования, доступные в данном языке программирования для создания программы с использованием объектно-ориентированного подхода Общие операции в ООП:

-  определение классов;

-  создание свойств, методов, а также методов доступа get и set;

-  управление доступом к классам, свойствам, методам и методам доступа;

-  создание статических свойств и методов;

-  создание структур с перечислением;

-  определение и использование интерфейсов;

-  работа с наследованием, включая переопределение элементов класса.

Понятия и термины: Атрибут - это характеристика, назначенная элементу класса (например, свойству или методу) в определении класса. Атрибуты часто используются для определения того, будет ли свойство (или метод) доступно для кода в других частях программы. Например, private (закрытый) и public (открытый) — это атрибуты. Закрытый метод может вызываться только кодом внутри класса, а открытый метод может вызываться любым кодом в программе.

-  Класс — это определение структуры и поведения объектов определенного типа (как шаблон или схема объектов для этого типа данных).

-  Иерархия классов — это структура многочисленных связанных классов, определяющая, какие классы наследуют функции от других классов.

-  Конструктор — это особый метод, определяемый в классе, который вызывается при создании экземпляра класса. Конструкторы обычно используются для определения значений по умолчанию или для выполнения других операций по настройке объекта.

-  Тип данных — это тип информации, который может хранить та или иная переменная. Как правило, термин тип данных имеет то же значение, что и класс.

-  Пространство имен — это, главным образом, пользовательский атрибут, обеспечивающий более полный контроль над тем, какой код может получить доступ к другому коду.

-  Абстрагирование — это способ выделить набор значимых характеристик объекта, исключая из рассмотрения незначимые. Соответственно, абстракция — это набор всех таких характеристик.

-  Инкапсуляция — это свойство системы, позволяющее объединить данные и методы, работающие с ними, в классе, и скрыть детали реализации от пользователя.

-  Наследование — это свойство системы, позволяющее описать новый класс на основе уже существующего с частично или полностью заимствующейся функциональностью. Класс, от которого производится наследование, называется базовым, родительским или суперклассом. Новый класс — потомком, наследником, дочерним или производным классом.

-  Полиморфизм — это свойство системы использовать объекты с одинаковым интерфейсом без информации о типе и внутренней структуре объекта.

1.2 Описание класса

Когда мы говорим об объектах, мы говорим, что они являются экземплярами классов. Что это означает? Рассмотрим следующую аналогию. Практически все компьютерные языки имеют стандартные типы данных; например, в C++ есть целый тип int. Мы можем определять переменные таких типов в  наших программах:

int kol_file;

int razmer;

int put_num;

Класс является своего рода формой, определяющей, какие данные и функции будут включены в объект класса. При объявлении класса не создаются никакие объекты этого класса, по аналогии с тем, что существование типа int ещё не означает существование переменных этого типа.

Таким образом, класс является описанием совокупности сходных между собой объектов. Это соответствует нестрогому в техническом смысле пониманию термина «класс»: например, Prince, Sting и Madonna относятся к классу рок-музыкантов. Не существует конкретного человека с именем «рок-музыкант», однако люди со своими уникальными именами являются объектами этого класса, если они обладают определённым набором характеристик. Объект класса часто также называют экземплярами класса.

Классы могут быть глобальными, то есть объявленными вне любого блока, либо локальными, объявленными внутри блока.