Объектно-ориентированное программирование» для студентов специальности 5В070300 «Информационные системы» идля оп 6В06120 «Информационные системы» Шымкент 2022



бет4/43
Дата28.03.2023
өлшемі1,44 Mb.
#76860
1   2   3   4   5   6   7   8   9   ...   43
Байланысты:
ООП ЛЕКЦИОННЫЙ КОМПЛЕКС 2022рус (1)

Метод (Method) – это процедура/функция, обрабатывающая данные объекта. С точки зрения кодирования, метод выглядит как обычная процедура и может иметь произвольное количество аргументов. Вызов метода аналогичен вызову процедуры: Object.Method(<параметры>). Если заглянуть немного глубже в код, генерируемый компиляторами ООП-языка, то можно увидеть торчащие уши процедурного подхода. Вызов Object.Method(<параметры>), фактически преобразуется компилятором в вызов Method(<параметры>, <указатель на Object >).

Если хорошенько задуматься над вышесказанным, то станет понятно, что деление на методы и свойства для объекта – суть условность и различаются они только «формальной записью обращения к ним». Т.е. свойства прикидываются переменными, а методы прикидываются процедурами.
Инкапсуляция (англ. encapsulation) — это объектно-ориентированная концепция, позволяющая упаковывать данные и поведение в единый компонент с разделением его на видимую часть — интерфейс и невидимую часть — реализацию.
На практике, это развитие идей процедурного программирования об «ограничения области видимости».
Экземпляр объекта – суть область памяти (данные) и процедуры работы с этой областью памяти. И для данных, и для процедур существует проблема потенциальной возможности «совершить неправильные действия». Эти «неправильные действия» действия могут выражаться как в изменении данных, которые нельзя изменять, так и в неправильной последовательности действий или вызовах процедур, которые не следует вызывать.
Полностью решить эту проблему, по видимому, невозможно, но можно снизить вероятность ошибки, изолировав (спрятав, инкапсулировав) данные и процедуры, не предназначенные для «свободного изменения».
Реализация концепции инкапсуляции в ООП подходе реализуется разделением свойств (данных) и методов (процедур) на:

  • «общедоступные»(public),

  • «защищенные» (protected),

  • «скрытые» (private).

Public – доступны как «видимые всем» свойства и методы. Именно public и образуют «интерфейс» объекта.
Protected – свойства и методы, необходимые для реализации и дальнейшего развития класса (см. далее наследование). Эти свойства и методы видны всюду в любых методах и свойствах при описании класса и реализации любых его методов, и во всех его наследниках. Т.е. когда вы пишете код метода класса – вы можете обращаться к другим protected-методам и свойствам. Но при использовании экземпляра класса – protected-методы и свойства недоступны.
Аналогично, private – свойства и методы, необходимые для реализации класса, но доступные только в данной декларации класса и не доступные нигде более (в наследниках тоже).


Достарыңызбен бөлісу:
1   2   3   4   5   6   7   8   9   ...   43




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет