Is object oriented programming considered to be a declarative programming approach? Is object oriented programming considered to be a declarative programming approach?
On Wikipedia, it is said that OOP tries to extend the imperative programming paradigm to a somewhat declarative programming approach, but what precisely makes OOP imperative or declarative?
When you write an OO code, you describe object features (attributes, properties, methods) and implement them. This may be seen as declarative: you do not have an imperative approach giving the sequence of operations to reach a given goal; you have a declarative approach describing features of objects, in a sense characterizing them.
To be more precise, let me take an example. When one says that an image has a filtered version, a blurred version, etc, this may be seen as declarative; these are features of any image. When one implements a procedure to filter or blur an image, then this is imperative: the code is thought of as a sequence of operations aiming at transforming an image, not a description of what the transformed image is.
I am not an expert, though, so I hope someone will correct this if needed.