Страницы

Поиск по вопросам

понедельник, 25 марта 2019 г.

Можно ли считать HTML+CSS ООП?

Собственно вопрос в теме, добавлю скажем

,

, и т. д. - объекты #id, .class, свойства CSS - надстройки :hover, :active, :focus - события
(Не говорю про js)
Ну и вообще можно ли считать программированием или это разметка гипертекста, если так то как же конструкции типа:
CSS
.block { display: none; }
.target:hover ~ .block { display: block; {


Ответ

Извините, но это очень странное допущение. Пройдем по порядку. Не буду останавливаться на том, что ни HTML ни CSS не являются языками программирования. Ключевой сущностью в ООП является класс, представляющий собой модель некой сущности. Класс обычно помимо состояния (то есть данных, описывающих саму сущность) включает в себя и модель поведения этой сущности (это достигается наличием у класса методов, или функций класса). Так вот в случае, о котором вы говорите, модель поведения отсутствует. Далее. Как известно, основными составляющими ООП являются наследование, полиморфизм и инкапсуляция. Я с трудом себе представляю, какие механизмы в случае с HTML+CSS можно подогнать под эти три определения.Если наследование в рамках CSS еще может иметь какой-то смысл, то что понимать под полиморфизмом и инкапсуляцией? Более того, то, что вы указали в качестве якобы относящегося к ООП, к нему имеют весьма слабое отношение (за исключением такого понятия как "объект", который вы, очевидно, путаете с классом). События конкретно к ООП отношения не имеют. Свойства напрямую с ООП тоже не связаны (более того, есть ощущение, что вы путаете свойства и поля), а что более важно, не являются для самой парадигмы ООП сколько-нибудь определяющими. А вот что такое "надстройки" в контексте ООП, вообще непонятно.
C другой стороны, с помощью некоторых ухищрений можно добиться некоего подобия, но это будет больше похоже на попытку превратить собаку в человека, нежели на собственно ООП (необходимость которого в HTML+CSS очень сомнительна)

Комментариев нет:

Отправить комментарий