Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
1-95 почти готово.docx
Скачиваний:
16
Добавлен:
27.09.2019
Размер:
907 Кб
Скачать

89).Концепции объектно-ориентированного программирования

Объектно-ориентированное программирование может быть описано как парадигма программирования; методология программирования, перенимаемая программистом. Ещё одним примером парадигмы программирования будет процедурное (или иногда называемое императивным) программирование.

Процедурное программирование включает просмотр компьютерной программы в виде последовательного списка вычислительных этапов (или процедур), подлежащих выполнению. В процедурном программировании, список процедур может в дальнейшем быть разбит на подпрограммы и функции (не путать с математическими функциями, используемые в функциональном программировании).

Это больше традиционный подход к программированию и он принят многими высокоуровневыми языками, например, BASIC. Также стоит заметить, что большинство базирующихся на Интернет-технологиях языков, таких как PHP, ASP и Javascript, могут быть написаны с использованием этого подхода — кстати, когда я только начинал как веб-разработчик, я использовал ASP скрипт, PHP и Javascript именно таким образом, пребывая в блаженном счастливом неведении о скрытом потенциале ООП.

В ООП, программа рассматривается как содержащая набор отдельных модулей, или объектов, которые влияют друг на друга. Каждый из этих объектов может рассматриваться как по своей сути независимая программа, с определенной ролью или ответственностью.

ООП обеспечивает большую гибкость и более легкое сопровождение через большие системы и иногда может значительно облегчить постижение и анализ сложных процессов.

Здесь следует заметить, что большинство языков ООП (такие как C++ или Java) хранят состояние (state), в то время как языки процедурного программирования часто не имеют состояние.

Объекты и классы

Термин «объект», дающий название ООП, относится к понятийному объекту, который означает единицу в нашей программе или системе. Это может быть что угодно, начиная от экранной формы или компьютерного файла, и заканчивая объектом реального мира, например, машина.

Это представление состоит из атрибутов — характеристики нашего объекта; и методов — набор функций и вычислений, которые или выполняются для изменения самого объекта, или содержаться в каком-либо внешнем воздействии.

Термин «класс» означает определение (или классификацию — класс) нашего объекта. Например, если бы нам нужно было написать класс под названием «автомобиль», можно было создать любое количество экземпляров этого класса — например, «Porsche», «Ferrari» и «Jaguar». Каждый из этих экземпляров является объектом. Это иллюстрирует, что практически класс это множество объектов, все из которых имеют общие атрибуты.

Удержание «в семействе»

Одним из наибольших преимуществ для использования объектов является инкапсуляция. По существу, это означает, что данные в пределах объекта доступны/поддаются изменению только через методы объекта, общеизвестные как интерфейс объекта.

Это являющееся следствием ограничение дает объектно-ориентированному программисту свободу описания атрибутов, переменных и методов, не волнуясь о конфликтах с ними в других объектах.

Инкапсуляция также означает, что до тех пор, пока мы не внесем изменение в интерфейс, мы можем изменять то, как действует объект (увеличить производительность, добавить выполняемые функции) без влияния на остальную часть системы. А теперь давайте посмотрим, как объекты и классы соотносятся друг с другом.

Примечание: С этого момента, понятия станут немного сложнее. Пожалуйста, помните, что сейчас я пишу введение — я собираюсь подробнее возвратиться к этим понятиям снова (с примерами), пока применяя их к Javascript и PHP в следующих учебных пособиях.

Характеристики класса

В процессе записи класса существует ряд характеристик, которые стоит принять во внимание. Конструктор.Конструктор — это особая операция, которая запускается при процессе создания экземпляра объекта заданного класса, при создании объекта. Их часто различают по имени, такому же, как и имя самого класса. Его главная задача состоит в том, чтобы настроить атрибуты класса и установить правило, устанавливающее взаимосвязи свойств объекта класса — в основном, убедиться, что атрибуты класса соответствуют интерфейсу класса. Он не может иметь тип возвращаемого значения.Правильно написанный конструктор никогда не будет включать в себя функциональные средства, которые могут дать сбой, таким образом, объект становится недействительным.

Деструктор.Деструктор класса — это противоположный конструктору метод, который запускается при уничтожении объекта. Его функция состоит в том, чтобы очищать и освобождать ресурсы, которые использовались объектом во время исполнения и разъединить их от других объектов или ресурсов. Результатом будет недействительность любых ссылок в процессе.