Собственно вопрос в теме, добавлю скажем
, и т. д. - объекты
#id, .class, свойства CSS - надстройки
:hover, :active, :focus - события
(Не говорю про js)
Ну и вообще можно ли считать программированием или это разметка гипертекста, если так то как же конструкции типа:
CSS
.block {
display: none;
}
.target:hover ~ .block {
display: block;
{
Ответ
Извините, но это очень странное допущение.
Пройдем по порядку. Не буду останавливаться на том, что ни HTML ни CSS не являются языками программирования. Ключевой сущностью в ООП является класс, представляющий собой модель некой сущности. Класс обычно помимо состояния (то есть данных, описывающих саму сущность) включает в себя и модель поведения этой сущности (это достигается наличием у класса методов, или функций класса). Так вот в случае, о котором вы говорите, модель поведения отсутствует.
Далее. Как известно, основными составляющими ООП являются наследование, полиморфизм и инкапсуляция. Я с трудом себе представляю, какие механизмы в случае с HTML+CSS можно подогнать под эти три определения.Если наследование в рамках CSS еще может иметь какой-то смысл, то что понимать под полиморфизмом и инкапсуляцией?
Более того, то, что вы указали в качестве якобы относящегося к ООП, к нему имеют весьма слабое отношение (за исключением такого понятия как "объект", который вы, очевидно, путаете с классом). События конкретно к ООП отношения не имеют. Свойства напрямую с ООП тоже не связаны (более того, есть ощущение, что вы путаете свойства и поля), а что более важно, не являются для самой парадигмы ООП сколько-нибудь определяющими. А вот что такое "надстройки" в контексте ООП, вообще непонятно.
C другой стороны, с помощью некоторых ухищрений можно добиться некоего подобия, но это будет больше похоже на попытку превратить собаку в человека, нежели на собственно ООП (необходимость которого в HTML+CSS очень сомнительна)
Комментариев нет:
Отправить комментарий