ВУЗ:
Составители:
Рубрика:
27
различаться количеством и/или типом данных). Такие методы называются
перегруженными. Типы возвращаемых значений у них также могут
отличаться, однако использование методов, которые отличаются только
типом возвращаемого значения недопустимо.
При проектировании классов, характеризующих поведение
математических объектов, удобно использовать традиционные
математические знаки операций для выполнения соответствующих действий.
Например, при сложении двух матриц было бы понятней использовать
операцию "+", а не вызывать метод Summ() (тем более, что другой
программист может назвать его иным именем). Для таких ситуаций
используется перегрузка операций.
Несколько классов могут иметь методы с одинаковыми именами. Это
означает, что действия, выполняемые одноименными методами, могут
различаться в зависимости от того, к какому из классов относится тот или
иной метод. Например, классы «Учебная группа» и «Студент» могут
содержать методы для печати информации о соответствующем объекте,
которые имеют одинаковое имя, например, Печать(). При использовании
метода Печать() будет выводиться информация о том объекте, для
которого он вызван: при вызове метода для объекта класса «Учебная группа»
будет печататься список студентов этой группы, а при вызове для объекта
класса «Студент» – информация о студенте (ФИО, № зачетной книжки, №
группы и др.). Это возможно за счет того, что каждый объект знает, какому
классу он принадлежит, что позволяет вызвать метод именно этого класса.
Другой способ использования методов с одинаковыми именами в
различных классах основан на понятии виртуального метода. Механизм
использования виртуальных методов основывается на возможности
хранения в переменной родительского класса объекта дочернего класса. По
умолчанию выбор вызываемого метода осуществляется в соответствии с
типом объекта, хранящегося в переменной. Если в родительском классе
вызываемый метод был определен как виртуальный, а в дочернем классе он
был переопределен, то будет вызываться последний.
Например, в одной группе могут учиться и бюджетные, и контрактные
студенты. Тогда класс «Учебная группа» может содержать список
переменных класса «Студент», некоторые из которых могут хранить объекты
класса «Студент-контрактник». В классе «Студент» могут быть определены
виртуальные методы (например, ПроверитьДопускКСсесии(),
ПереводНаДругойСеместр(),Печать()), которые должны быть
различаться количеством и/или типом данных). Такие методы называются
перегруженными. Типы возвращаемых значений у них также могут
отличаться, однако использование методов, которые отличаются только
типом возвращаемого значения недопустимо.
При проектировании классов, характеризующих поведение
математических объектов, удобно использовать традиционные
математические знаки операций для выполнения соответствующих действий.
Например, при сложении двух матриц было бы понятней использовать
операцию "+", а не вызывать метод Summ() (тем более, что другой
программист может назвать его иным именем). Для таких ситуаций
используется перегрузка операций.
Несколько классов могут иметь методы с одинаковыми именами. Это
означает, что действия, выполняемые одноименными методами, могут
различаться в зависимости от того, к какому из классов относится тот или
иной метод. Например, классы «Учебная группа» и «Студент» могут
содержать методы для печати информации о соответствующем объекте,
которые имеют одинаковое имя, например, Печать(). При использовании
метода Печать() будет выводиться информация о том объекте, для
которого он вызван: при вызове метода для объекта класса «Учебная группа»
будет печататься список студентов этой группы, а при вызове для объекта
класса «Студент» – информация о студенте (ФИО, № зачетной книжки, №
группы и др.). Это возможно за счет того, что каждый объект знает, какому
классу он принадлежит, что позволяет вызвать метод именно этого класса.
Другой способ использования методов с одинаковыми именами в
различных классах основан на понятии виртуального метода. Механизм
использования виртуальных методов основывается на возможности
хранения в переменной родительского класса объекта дочернего класса. По
умолчанию выбор вызываемого метода осуществляется в соответствии с
типом объекта, хранящегося в переменной. Если в родительском классе
вызываемый метод был определен как виртуальный, а в дочернем классе он
был переопределен, то будет вызываться последний.
Например, в одной группе могут учиться и бюджетные, и контрактные
студенты. Тогда класс «Учебная группа» может содержать список
переменных класса «Студент», некоторые из которых могут хранить объекты
класса «Студент-контрактник». В классе «Студент» могут быть определены
виртуальные методы (например, ПроверитьДопускКСсесии(),
ПереводНаДругойСеместр(),Печать()), которые должны быть
27
Страницы
- « первая
- ‹ предыдущая
- …
- 25
- 26
- 27
- 28
- 29
- …
- следующая ›
- последняя »
