C++. Введение в классы и объекты. Конструкторы и деструкторы

Страницы работы

Содержание работы

Программирование Тема 4.1 C++. Введение в классы и объекты

25.11.2016

1

  • Технологии программирования
  • Процедурное программирование (с 1957 г., Фортран, Алгол-60 и др);
  • Структурное программирование (начало 70-х, Паскаль, Си и др);
  • Модульное программирование (с 1975 г., Модула, Turbo Pascal, Turbo С и др);
  • Объектно - ориентированное программирование (с середины 80-х, Object Pascal, C++, Java, C# и др.)

25.11.2016

2

  • Процедурное программирование заключается в разработке набора функций (алгоритмов) для решения поставленной задачи.  Для поддержки этой парадигмы языки программирования предоставляли механизм передачи параметров и получения результатов функций.
  • Структурное программирование: – основные положения:
  • любую программу можно написать, пользуясь ограниченным набором базовых конструкций :
    • последовательность операторов/блоков,
    • ветвление или выбор ,
    • циклы: с постусловием, цикл с предусловием.
    • Каждая из базовых конструкций имеет один вход и один выход.
  • “Правильная” структура программы (блока программы, подпрограммы), имеет один вход и один выход. Любую программу можно и нужно писать без использования оператора goto, который очень запутывает структуру программы. Для исключения оператора goto достаточно применять базовые конструкции “цикл”.
  • Одновременно с определением набора базовых конструкций была осознана необходимость предварительного анализа данных и конструирования структур данных на начальной стадии разработки программы (В Си для этого есть структуры, объединения и перечисления).
  • Модульное программирование: логически связанные между собой подпрограммы и общие данные с которыми они работают (переменные, константы, пользовательские типы данных) размещаются в отдельные модули, части программы, которые компилируются независимо друг от друга.
  • Если рассматривать структуру модуля, то модуль состоит из двух частей: интерфейс и реализация. В Си (С++) и интерфейсная часть модуля и реализация размещаются в отдельных файлах. Интерфейсная часть модуля – в заголовочном файле ( .h), а реализация модуля в файле реализации (.cpp).

25.11.2016

3

  • Пример модуля (Си):
    • // Student.h
    • #ifndef STUDENT_H
    • #define STUDENT_H
    • #define MIN_AGE 12 // Константы
    • #define MAX_AGE 99
    • typedef struct s{ // Описание новых типов данных
    • char Name[20];
    • int Age;
    • //...
    • } TStudent;
    • int InputDataStudent(TStudent* S); // Прототипы функций
    • void OutputDataStudent(TStudent* S);
    • int AverageAge();
    • #endif

25.11.2016

4

  • Пример модуля (Си):
    • // Student.c
    • #include "Student.h"
    • // определения функций
    • int InputDataStudent(TStudent* S){
    • //...
    • }
    • void OutputDataStudent(TStudent* S){
    • //...
    • }
    • int AverageAge(){
    • //...
    • }

25.11.2016

5

  • Объектно-ориентированное программирование развивает идеи модульного программирования по объединению структур данных и алгоритмов их обработки.
  • Основными элементами объектно-ориентированной программы в С++ являются классы и объекты.
  • Класс – это конструкция языка программирования С++, которая объединяет в себе переменные и функции, которая может определять новый тип данных, который можно использовать для создания объектов этого типа.
  • Объект в С++ и других объектно - ориентированных языках программирования – это переменная типа класс.
  • Переменные, объявленные в классе называют полями данных объекта. Функции, описанные в классе называют методами.

25.11.2016

6

  • Синтаксис объявления класса в С++:
  • class имя_класса
  • { [private:]
  • // объявление закрытых полей данных и
  • // объявление или определение закрытых методов
  • [protected:]
  • // объявление защищенных полей данных и
  • //объявление или определение защищенных методов
  • [public:]
  • // объявление открытых полей данных и
  • // объявление или определение открытых методов
  • };

25.11.2016

7

Похожие материалы

Информация о работе