Programación Orientada a Objetos
Unidad I
1
La programación orientada a objetos (POO) es un método de Implementación en el que
los programas se organizan como colecciones cooperativas de objetos, cada uno de los
cuales representa una instancia de la clase y cuyas clases son miembros de una jerarquía
de clases unidas mediante relaciones de herencia.
En el modelo orientado a objetos hay 4 elementos fundamentales:
 Abstracción: Enfatiza detalles significados y suprime detalles que no lo son, al
menos por el momento.
Denota las características esenciales de un objeto que lo distinguen de todos los
demás tipos de objetos y proporciona fronteras conceptuales respecto a la
perspectiva del observador.
 Encapsulación: Es el proceso de almacenar en un mismo compartimento, los
elementos de una abstracción que constituyen su estructura y su comportamiento.
Es cuando se protegen los atributos como privados o protegidos; es para
seguridad.
La abstracción y el encapsulamiento son conceptos complementarios; la
abstracción se centra en el comportamiento observable de un objeto, mientras el
encapsulamiento se centra en la implementación que da lugar a este
comportamiento.
 Modularidad: Es fragmentar un programa en componentes individuales para
reducir su complejidad en algún grado. Consiste en dividir un programa en
módulos que pueden compilarse separadamente, pero que tienen conexiones con
otros módulos.
 Jerarquía: Es una clasificación u ordenación de abstracciones. Las dos jerarquías
más importantes en un sistema complejo son su estructura de clases (jerarquía de
clases) y su estructura de objetos (jerarquía de partes).
La herencia es la jerarquía de clases más importante. Define una relación entre
clases, en la que una clase comparte el comportamiento definida en una o más
clases (lo que se denomina herencia simple o herencia múltiple).
VENTAJAS DE LA PROGRAMACIÓN ORIENTADA A OBJETOS CON LA
PROGRAMACIÓN ESTRUCTURADA
Ventajas de la POO
 Fomenta la reutilización y extensión de
código.
 Permite crear sistemas más complejos
 Relacionar el sistema al mundo real
 Facilita la creación de programas visuales
 Permite la construcción de prototipos
 Agiliza el desarrollo de software
 Facilita el trabajo en equipo
 Facilita el mantenimiento de software
 Facilita la reutilización
 Facilita la interoperabilidad de
aplicaciones
 Facilita el desarrollo de elementos
complejos
Ventajas de la programación
estructurada
 Los programas son más fáciles de
entender ya que pueden ser leídos en
secuencia
 Fácil de comprender lo que hace cada
función
 Programas más sencillos y más rápidos
 El seguimiento de las fallas se facilita,
debido a la lógica más visible
 Los programas quedan mejor
documentados internamente
Programación Orientada a Objetos
Unidad I
2
Diferencias de la POO y la Programación Estructurada
 La programación estructurada pretende resolver un problema de principio a fin en
una sola estructura de código.
 La programación orientada a objetos, resuelve el problema identificando los
actores que tienen participación en el problema identificando también sus
acciones.
CONCEPTOS DE PROGRAMACIÓN ORIENTADA A OBJETOS
Objeto: Es una cosa tangible y/o visible, algo que puede comprenderse intelectualmente.
Es una entidad que tiene un estado (conjunto de propiedades –atributos-) y un
comportamiento (conjunto de operaciones –métodos-). El objeto pertenece a una clase
particular. Es una variable de una clase.
Todos los objetos de una clase dada son idénticos en estructura y comportamiento, pero
tienen identidad única. Los objetos son creados y destruidos en tiempo de ejecución,
residen en el espacio de memoria.
Atributo: Es una característica fundamental de cada objeto de una clase. Definen el
estado de un objeto.
Método: Es una acción que se realiza sobre un objeto para consultar o modificar su
estado. También llamados operaciones o funciones miembro.
Clase: Es la representación de la estructura y comportamiento de un objeto. Es un patrón
para la definición de atributos y métodos para un tipo particular de objetos.
Interfaz: Es el aspecto externo del objeto. La parte visible y accesible para el resto de
objetos. Puede estar formado por uno o varios métodos. No todos los métodos de un
objeto tienen porqué formar parte de la interfaz.
Instancia: Se utiliza para referirse a un objeto que pertenece a una clase concreta.
Herencia: Una clase hereda todos los atributos y operaciones de las clases superiores.
Una clase puede tener sus propios atributos y operaciones adicionales a lo heredado. Una
clase puede modificar los atributos y operaciones heredadas.
Mensaje: Comando o petición que se le envía a otro objeto.
Polimorfismo: Permite implementar múltiples formas de un mismo método, dependiendo
de cada una de ellas de la clase sobre la que se realice la implementación. Es la
posibilidad de definir múltiples clases con funcionalidad diferente pero con métodos o
propiedades denominados de forma idéntica. Un objeto se comporta de diferentes formas
como si perteneciera a otra clase.
UML: Lenguaje de Modelado Unificado. Es un lenguaje para modelar sistemas.
Diagrama de Clases: Representa las clases que componen el sistema y sus relaciones
estáticas.

Apuntes unidad uno poo

  • 1.
    Programación Orientada aObjetos Unidad I 1 La programación orientada a objetos (POO) es un método de Implementación en el que los programas se organizan como colecciones cooperativas de objetos, cada uno de los cuales representa una instancia de la clase y cuyas clases son miembros de una jerarquía de clases unidas mediante relaciones de herencia. En el modelo orientado a objetos hay 4 elementos fundamentales:  Abstracción: Enfatiza detalles significados y suprime detalles que no lo son, al menos por el momento. Denota las características esenciales de un objeto que lo distinguen de todos los demás tipos de objetos y proporciona fronteras conceptuales respecto a la perspectiva del observador.  Encapsulación: Es el proceso de almacenar en un mismo compartimento, los elementos de una abstracción que constituyen su estructura y su comportamiento. Es cuando se protegen los atributos como privados o protegidos; es para seguridad. La abstracción y el encapsulamiento son conceptos complementarios; la abstracción se centra en el comportamiento observable de un objeto, mientras el encapsulamiento se centra en la implementación que da lugar a este comportamiento.  Modularidad: Es fragmentar un programa en componentes individuales para reducir su complejidad en algún grado. Consiste en dividir un programa en módulos que pueden compilarse separadamente, pero que tienen conexiones con otros módulos.  Jerarquía: Es una clasificación u ordenación de abstracciones. Las dos jerarquías más importantes en un sistema complejo son su estructura de clases (jerarquía de clases) y su estructura de objetos (jerarquía de partes). La herencia es la jerarquía de clases más importante. Define una relación entre clases, en la que una clase comparte el comportamiento definida en una o más clases (lo que se denomina herencia simple o herencia múltiple). VENTAJAS DE LA PROGRAMACIÓN ORIENTADA A OBJETOS CON LA PROGRAMACIÓN ESTRUCTURADA Ventajas de la POO  Fomenta la reutilización y extensión de código.  Permite crear sistemas más complejos  Relacionar el sistema al mundo real  Facilita la creación de programas visuales  Permite la construcción de prototipos  Agiliza el desarrollo de software  Facilita el trabajo en equipo  Facilita el mantenimiento de software  Facilita la reutilización  Facilita la interoperabilidad de aplicaciones  Facilita el desarrollo de elementos complejos Ventajas de la programación estructurada  Los programas son más fáciles de entender ya que pueden ser leídos en secuencia  Fácil de comprender lo que hace cada función  Programas más sencillos y más rápidos  El seguimiento de las fallas se facilita, debido a la lógica más visible  Los programas quedan mejor documentados internamente
  • 2.
    Programación Orientada aObjetos Unidad I 2 Diferencias de la POO y la Programación Estructurada  La programación estructurada pretende resolver un problema de principio a fin en una sola estructura de código.  La programación orientada a objetos, resuelve el problema identificando los actores que tienen participación en el problema identificando también sus acciones. CONCEPTOS DE PROGRAMACIÓN ORIENTADA A OBJETOS Objeto: Es una cosa tangible y/o visible, algo que puede comprenderse intelectualmente. Es una entidad que tiene un estado (conjunto de propiedades –atributos-) y un comportamiento (conjunto de operaciones –métodos-). El objeto pertenece a una clase particular. Es una variable de una clase. Todos los objetos de una clase dada son idénticos en estructura y comportamiento, pero tienen identidad única. Los objetos son creados y destruidos en tiempo de ejecución, residen en el espacio de memoria. Atributo: Es una característica fundamental de cada objeto de una clase. Definen el estado de un objeto. Método: Es una acción que se realiza sobre un objeto para consultar o modificar su estado. También llamados operaciones o funciones miembro. Clase: Es la representación de la estructura y comportamiento de un objeto. Es un patrón para la definición de atributos y métodos para un tipo particular de objetos. Interfaz: Es el aspecto externo del objeto. La parte visible y accesible para el resto de objetos. Puede estar formado por uno o varios métodos. No todos los métodos de un objeto tienen porqué formar parte de la interfaz. Instancia: Se utiliza para referirse a un objeto que pertenece a una clase concreta. Herencia: Una clase hereda todos los atributos y operaciones de las clases superiores. Una clase puede tener sus propios atributos y operaciones adicionales a lo heredado. Una clase puede modificar los atributos y operaciones heredadas. Mensaje: Comando o petición que se le envía a otro objeto. Polimorfismo: Permite implementar múltiples formas de un mismo método, dependiendo de cada una de ellas de la clase sobre la que se realice la implementación. Es la posibilidad de definir múltiples clases con funcionalidad diferente pero con métodos o propiedades denominados de forma idéntica. Un objeto se comporta de diferentes formas como si perteneciera a otra clase. UML: Lenguaje de Modelado Unificado. Es un lenguaje para modelar sistemas. Diagrama de Clases: Representa las clases que componen el sistema y sus relaciones estáticas.