Объектно-ориентированное программирование. Богомолов А - 14 стр.

UptoLike

14
Синтаксис указателя
имя класса * имя объекта
синтаксис обращения к членам класса
(* имя объекта).член класса;
3. Способы передачи объекта в функции
Объект для программирования полностью наследует способы передачи парамет-
ров функции от процедурного программирования. Всего способов передачи три:
3.1. По назначению:
1.
Создается копия, передавшая параметры внутри функции;
2.
Внутри функции идет работа с копией (копия области памяти);
3.
При выходе из функции копия разрушается, т.е. все изменения, которые были
сделаны в копии, пропадают.
void func(int x); - прототип
func(x); - вызов
3.2. По адресу:
1.
Копия параметра внутри функции не создается;
2.
Работа внутри функции с оригиналом параметра;
3.
Все изменения, которые происходят внутри функции, сохраняются при выходе
из нее.
void func(int*x);
func(&x);
3.3. По ссылке:
При передаче параметра по ссылке, технология передачи параметра аналогично пе-
редачи по адресу, но при этом используется ссылочный тип.
void func(int&x);
func(x);
4. Передача параметров в функцию применительно к объектам
При передаче объекта в функцию по значению требуется создать копию
объекта, а при
выходе из такой функции требуется разрушить копию.
Создание копии:
1.
Копию создает конструктор копии, если он есть в классе;
2.
Если конструктора копии нет в классе, то копия создается компилятором.
Разрушение копии:
1.
Разрушает копию деструктор, если он описан в классе;
2.
Если нет деструктора в классе, то компилятор моделирует деструктор.
Объектно-ориентированное программирование обеспечивает возможность мно-
гократного использования программного кода. Если нужен класс объектов, очень по-
хожих на существование, но с несколько отличными свойствами, можно построить но-
вый класс из уже существующего. В С++ исходный класс называется базовым (base
class), а тот, который
создается из негопроизводным (derived class).
Каждый объект производного класса может одновременно считаться объектом
соответствующего базового класса. Например, паровоз остается вагоном, секундомер
часами.
Производные классы обладают очень полезным свойством: все, что уже работа-
ет в базовом классе, будет автоматически наследоваться (inherited) производным клас-
сом.
                                        14

Синтаксис указателя
имя класса * имя объекта
синтаксис обращения к членам класса
(* имя объекта).член класса;
3. Способы передачи объекта в функции

        Объект для программирования полностью наследует способы передачи парамет-
ров функции от процедурного программирования. Всего способов передачи три:
    3.1. По назначению:
      1. Создается копия, передавшая параметры внутри функции;
      2. Внутри функции идет работа с копией (копия области памяти);
      3. При выходе из функции копия разрушается, т.е. все изменения, которые были
           сделаны в копии, пропадают.
      void func(int x); - прототип
      func(x); - вызов
    3.2. По адресу:
      1. Копия параметра внутри функции не создается;
      2. Работа внутри функции с оригиналом параметра;
      3. Все изменения, которые происходят внутри функции, сохраняются при выходе
           из нее.
      void func(int*x);
      func(&x);
    3.3. По ссылке:
    При передаче параметра по ссылке, технология передачи параметра аналогично пе-
    редачи по адресу, но при этом используется ссылочный тип.
      void func(int&x);
      func(x);
4. Передача параметров в функцию применительно к объектам
При передаче объекта в функцию по значению требуется создать копию объекта, а при
выходе из такой функции требуется разрушить копию.
Создание копии:
    1. Копию создает конструктор копии, если он есть в классе;
    2. Если конструктора копии нет в классе, то копия создается компилятором.
Разрушение копии:
    1. Разрушает копию деструктор, если он описан в классе;
    2. Если нет деструктора в классе, то компилятор моделирует деструктор.
        Объектно-ориентированное программирование обеспечивает возможность мно-
гократного использования программного кода. Если нужен класс объектов, очень по-
хожих на существование, но с несколько отличными свойствами, можно построить но-
вый класс из уже существующего. В С++ исходный класс называется базовым (base
class), а тот, который создается из него – производным (derived class).
        Каждый объект производного класса может одновременно считаться объектом
соответствующего базового класса. Например, паровоз остается вагоном, секундомер –
часами.
        Производные классы обладают очень полезным свойством: все, что уже работа-
ет в базовом классе, будет автоматически наследоваться (inherited) производным клас-
сом.