19826

Організація зовнішнього доступу до локальних компонентів класу (специфікатор friend)

Доклад

Информатика, кибернетика и программирование

Організація зовнішнього доступу до локальних компонентів класу специфікатор friend. Технологія об'єктноорієнтованого програмування дає змогу організувати до ступ до закритих членів класу функціями які не є його членами. Для цього дос татньо оголосити ці функції др...

Украинкский

2013-07-17

23.5 KB

1 чел.

Організація зовнішнього доступу до локальних компонентів класу (специфікатор friend).

Технологія об'єктно-орієнтованого програмування дає змогу організувати до-

ступ до закритих членів класу функціями, які не є його членами. Для цього дос-

татньо оголосити ці функції дружніми до цього класу. Щоб зробити функцію

"другом" класу, потрібно помістити її прототип в public-розділ оголошення класу і

попередити його ключовим словом friend. Існують пе-

вні обставини, при яких статус "дружньої" функції класу має велике значення. По-перше, функції-"друзі" є корисними для перевизначення операторів певних типів.

По-друге, функції-"друзі" спрощують створення деяких функцій введення-виве-

дення. Усі ці питання розглядатимемо згодом у цьому навчальному посібнику.

Третя причина частого використання функцій-"друзів" полягає у тому, що в

деяких випадках два (або більше) класи можуть містити члени, які перебувають у

взаємному зв'язку з іншими частинами програми. Наприклад, у нас є два різні кла-

си, які під час виникнення певних подій відображають на екрані "спливаючі" повідомлення.

Інші частини програми, які призначені для виведення даних на екран,

повинні знати, чи є "спливаюче" повідомлення активним, щоб випадково не пере-

записати його. Для уникнення цього у кожному класі можна створити функцію-

члена, що повертає значення, за якою робляться висновки про те, є повідомлення

активним чи ні. Однак перевірка цієї умови вимагатиме додаткових витрат (тобтодвох викликів функцій замість одного). Якщо статус "спливаючого" повідомлення

необхідно перевіряти часто, то ці додаткові витрати можуть виявитися відчутни-

ми. Проте за допомогою функції, "дружньої" для обох класів, можна безпосе-

редньо перевіряти статус кожного об'єкта, викликаючи для цього тільки одну і ту саму функцію, яка матиме доступ до обох класів. У таких ситуаціях "дружня" функція класу дає змогу написати більш ефективний програмний код. 


 

А также другие работы, которые могут Вас заинтересовать

4610. Основные принципы объектно-ориентированного программирования, реализации этих принципов в визуальной интегрированной системе разработки программ Delphi 1.01 MB
  Введение Сложность современного программного обеспечения требует от разработчиков владения наиболее перспективными технологиями его создания. Одной из таких технологий на настоящий момент является объектно-ориентированное программирование (ООП)...
4611. Основные понятия класса, объекта и основных компонентов, используемых в Delphi 899.5 KB
  Наследуя все лучшие стороны языка Pascal и дополняя их современными технологиями программирования, основанными на идеологии объектно-ориентированного программирования, язык Delphi позволяет разработчикам использовать все важнейшие достижени...
4612. Объектно-ориентированного программирования и их реализация в системе разработки программ Delphi 1.67 MB
  Введение Сложность современного программного обеспечения требует от разработчиков владения наиболее перспективными технологиями его создания. Одной из таких технологий на настоящий момент является объектно-ориентированное программирование (ООП), при...
4613. Составление схем алгоритмов задач средней сложности с использованием возможностей программных средств 663 KB
  Введение Важным этапом разработки программы является составление схемы алгоритма решения поставленной задачи. При составлении схемы алгоритма следует придерживаться определенных стандартов в изображении элементов схемы. Для изображения схем алгоритм...
4614. Программирование выражений и операторов на языке Delphi 200.5 KB
  Главную часть программы на языке Delphi составляет раздел операторов, в котором реализуется алгоритм решения поставленной задачи, т.е. именно в нем с предварительно описанными переменными, константами, значениями функций и т.п. выполняются...
4615. Написание и использовании пользовательских подпрограмм на языке Delphi 159 KB
  В практике программирования довольно часто встречается ситуация, когда одну и ту же группу операторов, реализующих определенную цель, требуется повторить без изменений в нескольких других местах программы. Чтобы избавить программиста от сто...
4616. Разработка программ, использующих массивы, множества и записи 386.5 KB
  Тип в программировании – это множество, для которого оговорен некоторый набор операций над элементами. Сами элементы множества называются объектами или значениями данного типа. Типы realиinteger – это числовые множеств...
4617. Разработка программ, включающих данные файлового типа 298 KB
  Цель работы: приобретение практических навыков в разработке программ, включающих данные файлового типа Содержание работы: Программирование работы с файлами последовательного доступа. Программирование работы с файлами произвольного...
4618. Создание приложений в визуальной интегрированной среде разработки Delphi 314 KB
  Цель работы: привитие практических навыков написания приложений в визуальной интегрированной среде разработки Delphi. Содержание работы: Создание простейших приложений. Программирование калькулятора. Создание генератора надежных парол...