ООП

[!] PHP: Проверка знаний по ООП. Проверочные задачи

В этом размере мы закрепим ваши знания ООП (на примере языка PHP) за счет решения/разбора, задач

  1. Наследование

  2. Переопределение методов в классах-потомках

SOLID - кратко о Принципах, что это в Программировании. ООП

(текст заметки в процессе создания)

SOLID -- это аббревиатура, где первые 5 букв 5-ти принципов разработки программ в стиле ООП составлены в одно слово, которое с английского переводится как "твердый, сплошной, цельный".

Главное, это что, что за принципы скрываются под каждой буквой:

  • S -- Принцип единственной ответственности (The Single Responsibility Principle):

    Каждый класс должен "иметь одну причину для изменений".

Вопросы по принципу работы my-first-cms

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

файлы взяты из GiHub: it-for-free/my-first-cms

1) Хотел бы лучше понять принцип работы данного конструктора и назначение самого массива data.
файл Category.php

Практическое задание №3(Первая CMS): проблемы с редактированием пользователя.

Возникает проблема с редактированием существующих пользователей:
1) Поялвяются надписи: "Trying to get property of non-object", указывающие на строки 28,36,44,60
файла editUser.php.
2) После редактирования пользователя и сохранения изменений, изменения не применяются.

Ссылка на задание: Практическое задание №3

Screenshot-from-2019-05-31-23-18-07

Перекрестные связи между классами (ООП) -- почему это не идеально

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

Отражение (Reflection) -- что это в программировании

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

Отражения позволяют программе как бы "посмотреть самой на себя", точнее на какую-то свою часть.

В конкретном ЯП классов отражений может быть несколько, например: для классов, для методов и т.д.

Warning: fwrite() expects parameter 1 to be resource, null given

При запуске кода записи строк в журнал выходит предупреждение:

Warning: fwrite() expects parameter 1 to be resource, null given ...

Warning: fclose() expects parameter 1 to be resource, null given ...

При этом файл не заполняется. Как исправить?

Код программы:

OOD Объектно-ориентированное проектирование (дизайн) -- что это такое (ООД)

Есть такое не сильно ясное определение:

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

Что относиться к ООД

В этой области имеют непосредственное отношение (составные части):

  1. Паттерны проектирования ООП

Объект (ООП) -- что это программировании

Объект - то же самое, что "экземпляр класса", т.е. то, что создаётся программой во время выполнения по схеме, описанной классом.

Класс сам по себе только схема, "живут" же в программах объекты, относящиеся к разным классам (всё как в мире животных ;)

Класс как тип данных

Также можно сказать, что класс описывает тип данных, а объект - это конкретная сущность, описанного классом типа

Pages

Subscribe to RSS - ООП