Небольшая памятка для начинающего ООП-программиста.
Я постарался простым языком дать определения основных понятий в Объектно-Ориентированном Программировании.
Пока только основные понятия, потихоньку буду дополнять.
Объектно-ориентированные программы состоять из классов и объектов. Класс можно сравнить с «чертежом», согласно которому создаются объекты. Объект это экземпляр класса. Класс в отличие от объекта всегда один, тоесть по коду класса («чертежу»), мы можем создать неограниченное число объектов, но не наоборот. Класс является описываемой на языке программного кода моделью, ещё не существующей сущности — объекта. Объект — это некоторый объем памяти выделяющийся при создании экземпляра класса (например, после запуска результатов компиляции (для компилируемых языков) исходного кода на выполнение). Для интерпретируемых просто вызов экземпляра класса при выполнении. Объект сочетает данные и процедуры для их обработки. Такие процедуры обычно называют методами или операциями. Объект выполняет операцию, когда получает запрос или сообщение от клиента. Посылка запроса — это единственный способ заставить объект выполнить операцию. А выполнение операции — единственный способ изменить внутреннее состояние объекта. Имея в виду два эти ограничения, говорят, что внутреннее состояние объекта инкапсулировано: к нему нельзя получить непосредственный доступ, то есть представление объекта закрыто от внешней программы.
Инкапсуляция — это принцип, согласно которому любой класс должен рассматриваться как чёрный ящик — пользователь класса должен видеть и использовать только интерфейсную часть класса (т. е. список объявленных свойств и методов класса) и не вникать в его внутреннюю реализацию. Поэтому данные принято инкапсулировать в классе таким образом, чтобы доступ к ним по чтению или записи осуществлялся не напрямую, а с помощью методов. Принцип инкапсуляции (теоретически) позволяет минимизировать число связей между классами и, соответственно, упростить независимость классов друг от друга. Одной из целей инкапсуляции является невозможность для пользователя узнать или испортить внутреннее состояние объекта.
Наследованием называется возможность порождать один класс от другого с сохранением всех свойств и методов класса-предка (прародителя, иногда его называют суперклассом) и добавляя, при необходимости, новые свойства и методы. Набор классов, связанных отношением наследования, называют иерархией.
Полиморфизмом называют явление, при котором функции (методу) с одним и тем же именем соответствует разный программный код (полиморфный код) в зависимости от того, объект какого класса используется при вызове данного метода. Тоесть во время выполнения метода выполняется не фиксированный программный код, как у обычного метода, а код (метод) того объекта, который лучше всего подходит для выполнения данной задачи. Полиморфизм позволяет отделить объекты друг от друга и дает объектам возможность изменять взаимоотношения во время выполнения. Такая взаимозаменяемость является важнейшей особенностью объектно-ориентированных систем.
Неплохо описано, что есть что. Но только форматирование текста статьи подкачало. Сплошной текст тяжело читать, сделай хотя бы отделение абзацев друг от друга — читать уже легче будет.
Знаю это прекрасно, но читать было легко. Но с разметкой текста беда 🙂
Поправь! Будь мужчиной 🙂