- •Федеральное государственное бюджетное образовательное учреждение высшего образования «Чувашский государственный университет имени и. Н. Ульянова»
- •Введение
- •Цель курсовой работы
- •Основные сведения
- •Развернутое индивидуальное задание
- •Выбор метода решения задачи
- •Выбор метода хранения данных об игровом поле
- •Обоснование метода решения задачи
- •Анализ задачи
- •Общий алгоритм работы
- •Общие сведения о программе
- •Функциональное назначение
- •Используемые технические средства
- •Вызов и загрузка
- •Список литературы
- •Тестовые данные
- •Тексты программ
Введение
Цель курсовой работы
Целью курсовой работы является углубление и закрепление у студентов теоретических знаний, навыков практического применения основных принципов объективно-ориентированных систем: наследования, инкапсуляции, полиморфизма, а также формирование новых взглядов на процессы программирования с учетом абстракции данных.
Основные сведения
Объективно-ориентированное программирование (в дальнейшем сокращено до ООП) возникло относительно недавно, но, не смотря на малый срок, завоевало ведущие позиции в области программирования. Объективно-ориентированная парадигма предлагает новый подход к разработке программного обеспечения, предназначенного для решения большого класса задач. Под парадигмой следует понимать модели разработки и реализации программ. Различные модели приводят к различным приёмам программирования.
Фундаментальная концепция ООП состоит в передаче сообщения объектам. Для этого необходимо, чтобы объекты определялись вместе с сообщениями, на которые они будут реагировать. Это и есть главное отличие ООП от императивного (процедурного) программирования, в котором сначала определяются структуры данных, а затем передаются соответствующим процедурам (функциям), как параметры.
Существует пять основных компонентов объективно-ориентированной парадигмы: объект, общение, класс, наследование, метод. Объективно-ориентированный язык программирования должен обладать свойствами абстракции, инкапсуляции, наследования и полиморфизма. Кроме этих обязательных свойств объективно-ориентированному языку желательно иметь возможности расширения за счёт введения новых классов, повторного использования программных компонентов, параметризации, а также некоторые формы коррекции.
Суть основных компонентов можно раскрыть следующим образом:
Объект (Object). Вот несколько определений объекта.
В наиболее широком смысле это совокупность данных, существующих в машинном представлении как единое целое, допускающее обращение по имени, указателю или ссылке.
С точки зрения ООП, объект – это сущность, обладающая состоянием и поведением.
Объект – это инкапсулированная абстракция, которая включает информацию о состоянии и чётко определённое множество протоколов доступа.
Сообщение (Message) – это специальный символ, идентификатор или ключевое слово с параметром или без, которое представляет выполняемое объектом действие.
Класс (Class). Представляет тип данных, определяемых программистом, который специфицирует как представление объектов этого класса, так и операции, которые можно выполнять с объектами. Во многих случаях класс следует понимать, как абстрактный тип данных.
Экземпляр (Instance) – объект, принадлежащий конкретному классу.
Метод (Method) – функция, вызываемая в ответ на запрос к объекту некоторого класса совершить какое-либо действие. Можно сказать, что метод определяет реакцию объекта на общение. Совокупность методов класса определяет поведение объектов данного класса.
Несколько слов об основных свойствах ООП:
Инкапсуляция (Encapsulation) – сокрытие информации или определение пользователем новых типов данных. Каждый такой тип содержит определение набора значений и операций, которые могут быть выполнены над этими значениями, и образует так называемый абстрактный тип данных.
Наследование (Inheritance) – это механизм, позволяющий стоить иерархию типов. Механизм наследования предполагает определение базового типа, а затем использование его для построения производных типов. Причем каждый из производных типов наследует свойства базового типа, включая характеристики (данные) и набор операций (методов, функций).
Полиморфизм (Polymorphism) – свойство объекта отвечать на направленный к нему запрос сообразно своему типу.
Новизна ООП позволяет отбросить старые способы мышления и привычки, которые в течение многих лет были присущи традиционным языкам программирования.
