Programación orientada a obxectos: Diferenzas entre revisións

Contido eliminado Contido engadido
Liña 36:
 
* '''[[Abstracción (programación orientada a obxectos)|Abstracción]]''': Cada obxecto no sistema serve como modelo dun "axente" abstracto que pode realizar traballo, informar e cambiar o seu estado, e "comunicarse" con outros obxectos no sistema sen revelar ''como'' se implementan estas características. Os procesos, as funcións ou os métodos poden tamén ser abstraídos e cando o están, unha variedade de técnicas son requiridas para ampliar unha abstracción.
* '''[[EncapsulamientoEncapsulamento (programación orientada a obxectos)|EncapsulamientoEncapsulamento]]''': Significa reunir a todos os elementos que poden considerarse pertencentes a unha mesma entidade, ao mesmo nivel de abstracción. Isto permite aumentar a [[cohesión]] dos compoñentes do sistema. Algúns autores confunden este concepto co principio de ocultación, principalmente porque se adoitan empregar conxuntamente.
* '''[[Principio de ocultación]]''': Cada obxecto está illado do exterior, é un módulo natural, e cada tipo de obxecto expón unha ''interfaz'' a outros obxectos que especifica como poden interactuar cos obxectos da clase. O illamento protexe ás propiedades dun obxecto contra a súa modificación por quen non teña dereito a acceder a elas, soamente os propios métodos internos do obxecto poden acceder ao seu estado. Isto asegura que outros obxectos non poden cambiar o estado interno dun obxecto de xeitos inesperados, eliminando efectos secundarios e interaccións inesperadas. Algunhas linguaxes relaxan isto, permitindo un acceso directo aos datos internos do obxecto dun xeito controlado e limitando o grao de abstracción. A aplicación enteira redúcese a un agregado ou crebacabezas de obxectos.
* '''[[Polimorfismo (programación orientada a obxectos)|Polimorfismo]]''': comportamentos diferentes, asociados a obxectos distintos, poden compartir o mesmo nome, ao chamalos por ese nome utilizarase o comportamento correspondente ao obxecto que se estea usando. Ou dito doutro xeito, as referencias e as coleccións de obxectos poden conter obxectos de diferentes tipos, e a invocación dun comportamento nunha referencia producirá o comportamento correcto para o tipo real do obxecto referenciado. Cando isto ocorre en tempo "de execución", esta última característica chámase ''asignación tardía'' ou ''asignación dinámica''. Algunhas linguaxes proporcionan medios máis estáticos (en tempo "de compilación") de polimorfismo, talles como os persoais e a [[sobrecarga|sobrecarga de operadores]] de C++.