Класс (программирование): различия между версиями
[непроверенная версия] | [отпатрулированная версия] |
Содержимое удалено Содержимое добавлено
РоманСузи (обсуждение | вклад) запрос источника |
РоманСузи (обсуждение | вклад) нет источников, отдельные высказывания вызывают сомнения - уст. шаблоны |
||
Строка 24:
== Интерфейс и реализация, наследование реализации ==
В программировании существует понятие программного интерфейса, означающего перечень возможных вычислений, которые может выполнить та или иная часть программы, включая описание того, какие аргументы и в каком порядке требуется передавать на вход алгоритмам из этого перечня, а также что и в каком виде они будут возвращать. Абстрактный тип данных [[Интерфейс (объектно-ориентированное программирование)|интерфейс]] придуман для формализованного описания такого перечня. Сами алгоритмы, то есть действительный программный код, который будет выполнять все эти вычисления, интерфейсом ''не'' задаётся, программируется отдельно и называется ''реализацией интерфейса''.
Строка 32 ⟶ 31 :
== Состояние объекта, понятие областей доступа, конструкторы ==
Одной из проблем структурного программирования, с которой борется ООП, является проблема поддержания правильного значения переменных программы. Часто разные переменные программы хранят логически связанные значения, и за поддержание этой логической связности несет ответственность программист, то есть автоматически связность не поддерживается. Примером могут служить флажки «уволен» и «ожидает премии по итогам года», когда по правилам отдела кадров человек может быть одновременно не уволенным и не ожидающим премии, не уволенным и ожидающим премии, уволенным и не ожидающим премии, но не может быть одновременно и уволенным, и ожидающим премии. То есть любая часть программы, которая проставляет флажок «уволен», всегда должна снимать флажок «ожидает премии по итогам года».
Строка 258 ⟶ 256 :
== См. также ==
* [[Компонентно-ориентированное программирование]]
* [[Объект (программирование)]]
Строка 270 ⟶ 267 :
* [http://java.sun.com/docs/books/tutorial/java/javaOO/classes.html Creating Classes] — Руководство по созданию классов в языке Java
{{нет источников}}
{{rq|check}}
{{Типы данных}}
[[Категория:Объектно-ориентированное программирование]]
[[Категория:Статьи с примерами кода Python]]
[[Категория:Структуры данных]]
|