Instancia de una clase. Entidad provista de un
conjunto de propiedades o atributos (datos) y de
comportamiento o funcionalidad (métodos), los mismos que
consecuentemente reaccionan a eventos. Se corresponden
con los objetos reales del mundo que nos rodea, o con
objetos internos del sistema (del programa). Es una instancia
a una clase.

EJEMPLO:
Tomemos el objeto Automóvil.
Un automóvil es un objeto
bastante pesado que tiene un
conjunto
de
propiedades
como su identificación (placa),
color,
marca,
modelo,
accesorios, etc.
CLASE:
Es una colección o conjunto de objetos que comparten
características entre si, tanto una clase como un objeto
(derivado de la misma) contienen tres aspectos fundamentales
que nos permiten clasificarlos: Atributos: son las características
especificas. Métodos: acciones que realiza, conductas.
Eventos: Reacción o la capacidad de relacionarse con otros
objetos
Abstracción:
Denota las características esenciales de un objeto, donde se
capturan sus comportamientos. Cada objeto en el sistema sirve como
modelo de un "agente" abstracto que puede realizar trabajo, informar y
cambiar su estado, y "comunicarse" con otros objetos en el sistema sin
revelar cómo se implementan estas características. Los procesos, las
funciones o los métodos pueden también ser abstraídos, y, cuando lo
están, una variedad de técnicas son requeridas para ampliar una
abstracción. El proceso de
abstracción permite
seleccionar las
características
relevantes dentro
de un conjunto e identificar
Comportamientos
comunes para definir
nuevos tipos de entidades
en el mundo real.
Cohesión:
Cuando hablamos de cohesión en POO, hablamos de que
tanto se enfoca o se compromete una parte llamémoslo
modulo (componente o clase),la cohesión seria la medida; en
que se compromete un modulo con respecto a una sola tarea
o aun solo proceso, entre mayor cohesión tenga un modulo en
su operación, mejor será operando, mas fácil será de
programar y de reparar.
Ejemplo:
En la oración; *Antonio maneja rápido para llegar
en menos tiempo.
Clase; Antonio
Atributos; Atento, concentrado, bueno
conduciendo.
Métodos; Encender carro, Manejar, Apagar carro.
podríamos decir que Antonio tiene cohesión, ya
que se dedica únicamente a manejar, el maneja
rápidamente parra llegar mas rápido a su destino.
Encapsulamiento:
Significa
reunir
todos
los
elementos
que
pueden
considerarse pertenecientes a
una misma entidad, al mismo
nivel de abstracción. Esto permite
aumentar la cohesión de los
componentes
del
sistema.
Algunos autores confunden este
concepto con el principio de
ocultación,
principalmente
porque
se
suelen
emplear
conjuntamente.
Herencia:
(Por ejemplo, herencia de la clase C a la clase D) es la facilidad
mediante la cual la clase D hereda en ella cada uno de los atributos
y operaciones de C, como si esos atributos y operaciones hubiesen
sido definidos por la misma D. Por lo tanto, puede usar los mismos
métodos y variables públicas declaradas en C. Los componentes
registrados como "privados" (private) también se heredan, pero
como no pertenecen a la clase, se mantienen escondidos al
programador y sólo pueden ser accedidos a través de otros
métodos públicos. Esto es así para mantener hegemónico el ideal
de POO.
Clases Abstractas:
Este Tipo de Clases nos permiten crear “método
generales”, que recrean un comportamiento común, pero sin
especificar cómo lo hacen. A nivel de
código tienen por
particularidad que algunos de sus métodos no tienen “cuerpo de
declaración”, ¿qué quiere decir esto? no tienen las llaves { } ni
código dentro de ellos y deben estar precedidos por la palabra
clave abstract. Si una clases contiene uno o más métodos
abstractos está clase debe ser abstracta.

Ejemplo
Interfaces:
Las interfaces definen un conjunto de métodos sin especificar su
implementación. Cuando una clase implementa una interfaz
debe especificar todos los métodos contenidos en ella.
Para definir una clase que implementa una interfaz hay que usar
la palabra clave class*
Interfaz grafica

La construcción de una Interfaz es la
siguiente:
public Interfaz NombreInterfaz{
//Código
}
Polimorfismo:
Es la capacidad que tiene los objetos de una clase de responder al
mismo mensaje o evento en función de los parámetros utilizados
durante su invocación
Hay dos tipos:
 Dinámico
Es el que el código no incluye ningún tipo de especificación sobre el
tipo de datos

 Estático
Es el que los tipos a los que se aplica el polimorfismo deben ser
explicitados y declarados uno por uno antes de ser utilizados.

La forma de utilizarlo, por ejemplo en java, sería:
Superclase sup = new (Subclase);
Acoplamiento:
El acoplamiento débil (Loose coupling) se refiere a reducir al
mínimo la dependencia de un objeto en otros objetos.
• En otras palabras, puede cambiar la implementación de una
clase sin afectar a otras clases.
• Estas propiedades hacen que el código extensible y fácil de
mantener.
Por ejemplo, considere dos clases, A y B. Si estas no se
utilizan entre si (ninguna de ellas crea una instancia de la
otra o invoca un método en el otra), no están acopladas.
Si A usa a B (por ejemplo, crea una instancia de B), pero B
no usa A, entonces son débilmente acoplados (loosely
coupled).

Si ambas A y B se utilizan entre si, entonces están
estrechamente acopladas (tightly coupled).
Asociación:
La asociación se podría definir como el momento en que
dos objetos se unen para trabajar juntos y así, alcanzar
una meta.
Un punto a tomar muy en cuenta es que ambos objetos
son independientes entre sí, veremos un poco más
adelante qué implicación tiene esto. Para validar la
asociación, la frase “Usa un”, debe tener sentido:
El ingeniero usa una computadora

El cliente usa tarjeta de crédito.
Composición:
En caso contrario, la composición es un tipo de
relación dependiente en dónde un objeto más complejo es
conformado por objetos más pequeños. En esta situación, la
frase “Tiene un”, debe tener sentido:
El auto tiene llantas

La portátil tiene un teclado.

Cómo implementar Asociación
Las clases pueden contener datos y funciones. Estas
funciones se conocen como “funciones miembro”.
Cualquier función no estática declarada dentro de una
declaración de clase se considera una función miembro y
se llama usando operadores de la selección de miembro
(. y –>).
Al llamar a funciones miembro desde otras funciones
miembro de la misma clase, se puede omitir el objeto y el
operador de selección de miembro. Por ejemplo:

P.o.o.

  • 4.
    Instancia de unaclase. Entidad provista de un conjunto de propiedades o atributos (datos) y de comportamiento o funcionalidad (métodos), los mismos que consecuentemente reaccionan a eventos. Se corresponden con los objetos reales del mundo que nos rodea, o con objetos internos del sistema (del programa). Es una instancia a una clase. EJEMPLO: Tomemos el objeto Automóvil. Un automóvil es un objeto bastante pesado que tiene un conjunto de propiedades como su identificación (placa), color, marca, modelo, accesorios, etc.
  • 5.
    CLASE: Es una coleccióno conjunto de objetos que comparten características entre si, tanto una clase como un objeto (derivado de la misma) contienen tres aspectos fundamentales que nos permiten clasificarlos: Atributos: son las características especificas. Métodos: acciones que realiza, conductas. Eventos: Reacción o la capacidad de relacionarse con otros objetos
  • 6.
    Abstracción: Denota las característicasesenciales de un objeto, donde se capturan sus comportamientos. Cada objeto en el sistema sirve como modelo de un "agente" abstracto que puede realizar trabajo, informar y cambiar su estado, y "comunicarse" con otros objetos en el sistema sin revelar cómo se implementan estas características. Los procesos, las funciones o los métodos pueden también ser abstraídos, y, cuando lo están, una variedad de técnicas son requeridas para ampliar una abstracción. El proceso de abstracción permite seleccionar las características relevantes dentro de un conjunto e identificar Comportamientos comunes para definir nuevos tipos de entidades en el mundo real.
  • 7.
    Cohesión: Cuando hablamos decohesión en POO, hablamos de que tanto se enfoca o se compromete una parte llamémoslo modulo (componente o clase),la cohesión seria la medida; en que se compromete un modulo con respecto a una sola tarea o aun solo proceso, entre mayor cohesión tenga un modulo en su operación, mejor será operando, mas fácil será de programar y de reparar. Ejemplo: En la oración; *Antonio maneja rápido para llegar en menos tiempo. Clase; Antonio Atributos; Atento, concentrado, bueno conduciendo. Métodos; Encender carro, Manejar, Apagar carro. podríamos decir que Antonio tiene cohesión, ya que se dedica únicamente a manejar, el maneja rápidamente parra llegar mas rápido a su destino.
  • 8.
    Encapsulamiento: Significa reunir todos los elementos que pueden considerarse pertenecientes a unamisma entidad, al mismo nivel de abstracción. Esto permite aumentar la cohesión de los componentes del sistema. Algunos autores confunden este concepto con el principio de ocultación, principalmente porque se suelen emplear conjuntamente.
  • 9.
    Herencia: (Por ejemplo, herenciade la clase C a la clase D) es la facilidad mediante la cual la clase D hereda en ella cada uno de los atributos y operaciones de C, como si esos atributos y operaciones hubiesen sido definidos por la misma D. Por lo tanto, puede usar los mismos métodos y variables públicas declaradas en C. Los componentes registrados como "privados" (private) también se heredan, pero como no pertenecen a la clase, se mantienen escondidos al programador y sólo pueden ser accedidos a través de otros métodos públicos. Esto es así para mantener hegemónico el ideal de POO.
  • 10.
    Clases Abstractas: Este Tipode Clases nos permiten crear “método generales”, que recrean un comportamiento común, pero sin especificar cómo lo hacen. A nivel de código tienen por particularidad que algunos de sus métodos no tienen “cuerpo de declaración”, ¿qué quiere decir esto? no tienen las llaves { } ni código dentro de ellos y deben estar precedidos por la palabra clave abstract. Si una clases contiene uno o más métodos abstractos está clase debe ser abstracta. Ejemplo
  • 11.
    Interfaces: Las interfaces definenun conjunto de métodos sin especificar su implementación. Cuando una clase implementa una interfaz debe especificar todos los métodos contenidos en ella. Para definir una clase que implementa una interfaz hay que usar la palabra clave class* Interfaz grafica La construcción de una Interfaz es la siguiente: public Interfaz NombreInterfaz{ //Código }
  • 12.
    Polimorfismo: Es la capacidadque tiene los objetos de una clase de responder al mismo mensaje o evento en función de los parámetros utilizados durante su invocación Hay dos tipos:  Dinámico Es el que el código no incluye ningún tipo de especificación sobre el tipo de datos  Estático Es el que los tipos a los que se aplica el polimorfismo deben ser explicitados y declarados uno por uno antes de ser utilizados. La forma de utilizarlo, por ejemplo en java, sería: Superclase sup = new (Subclase);
  • 13.
    Acoplamiento: El acoplamiento débil(Loose coupling) se refiere a reducir al mínimo la dependencia de un objeto en otros objetos. • En otras palabras, puede cambiar la implementación de una clase sin afectar a otras clases. • Estas propiedades hacen que el código extensible y fácil de mantener. Por ejemplo, considere dos clases, A y B. Si estas no se utilizan entre si (ninguna de ellas crea una instancia de la otra o invoca un método en el otra), no están acopladas.
  • 14.
    Si A usaa B (por ejemplo, crea una instancia de B), pero B no usa A, entonces son débilmente acoplados (loosely coupled). Si ambas A y B se utilizan entre si, entonces están estrechamente acopladas (tightly coupled).
  • 15.
    Asociación: La asociación sepodría definir como el momento en que dos objetos se unen para trabajar juntos y así, alcanzar una meta. Un punto a tomar muy en cuenta es que ambos objetos son independientes entre sí, veremos un poco más adelante qué implicación tiene esto. Para validar la asociación, la frase “Usa un”, debe tener sentido: El ingeniero usa una computadora El cliente usa tarjeta de crédito.
  • 17.
    Composición: En caso contrario,la composición es un tipo de relación dependiente en dónde un objeto más complejo es conformado por objetos más pequeños. En esta situación, la frase “Tiene un”, debe tener sentido: El auto tiene llantas La portátil tiene un teclado. Cómo implementar Asociación
  • 19.
    Las clases puedencontener datos y funciones. Estas funciones se conocen como “funciones miembro”. Cualquier función no estática declarada dentro de una declaración de clase se considera una función miembro y se llama usando operadores de la selección de miembro (. y –>). Al llamar a funciones miembro desde otras funciones miembro de la misma clase, se puede omitir el objeto y el operador de selección de miembro. Por ejemplo: