Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Копия Pervyy_punkt.doc
Скачиваний:
1
Добавлен:
17.09.2019
Размер:
430.08 Кб
Скачать

4 Реализация задачи

4.1 Логическая структура

В состав С# входит библиотека VCL (Visual Component Library), содержащая компоненты для построения интерфейса приложения, а также структуры для хранения и обработки данных.

C# характеризуется разветвленной структурой типов данных. В языке предусмотрен механизм создания новых типов, благодаря чему общее количество используемых в программе типов может быть сколь угодно большим.

Тип определяет множество допустимых значений, которые может иметь тот или иной объект, а также множество допустимых операций, которые применимы к нему. Кроме того, тип определяет также и формат внутреннего представления данных в памяти ПК.

К простым типам относятся порядковые и вещественные типы, а также тип дата-время.

Любой из структурированных типов характеризуется множественностью образующих этот тип элементов. Каждый элемент, в свою очередь, может принадлежать структурированному типу.

В предшественнице C# – системе программирования С++ – объектами называются типы, имеющие много общего с классами C#. Однако существенные усовершенствования, внесенные в объектную модель C#, заставили разработчиков языка ввести для обозначения объектов специальный термин – класс.

Класс является сложной структурой данных, объединяющей переменные, функции и процедуры в одном типе данных. Переменные, входящие в состав класса, называются полями. Процедуры и функции класса обычно называются методами. Свойства класса представляют собой поля, обращение к которым производится через специальные методы. Использование свойств позволяет реализовать важный принцип объектно-ориентированного программирования, называемый скрытием данных. В основе классов лежит три фундаментальных принципа, которые называются инкапсуляция, наследование и полиморфизм.

Объединение полей, методов и свойств в единое целое называется инкапсуляцией. Инкапсуляция позволяет во многом изолировать класс от остальных частей программы, сделать его «самодостаточным» для решения конкретной задачи. В результате класс всегда несет в себе некоторую функциональность.

Любой класс может быть порожден от другого класса. Порожденный класс автоматически наследует поля, методы и свойства своего родителя и может добавлять новые. Таким образом, принцип наследования обеспечивает поэтапное создание сложных классов разработку собственной библиотеки классов.

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

Полиморфизм – это свойство классов решать схожие по смыслу проблемы разными способами. В рамках С# поведенческие свойства класса определяются набором входящих в него методов. В С# полиморфизм достигается не только описанным выше механизмом наследования и перекрытия методов родителя, но и их виртуализацией, позволяющей родительским методам обращаться к методам своих потомков.

Любой компонент С# (кроме форм и модулей данных) является собственностью другого компонента и, в свою очередь, может быть владельцем одного или нескольких компонентов. Такая зависимость компонентов друг от друга позволяет существенно упростить процесс управления над ними.