Fundamentos de Programación Orientada a Objetos

Programación Orientada a Objetos, en esta sesión se verán temas como qué es un objeto, una clase así como que es un atributo y métodos.

Fundamentos-de-programacion-oientada-a-objetos

En esta primera sesión tiene por nombre «Fundamentos de Programación Orientada a Objetos», en donde se verán temas como que es un objeto, una clase así como que es un atributo y métodos.

Fundamentos de Programación Orientada a Objetos

Metodología que define los programas en términos de «clases de objetos», objetos que son entidades que combinan estado (datos), comportamiento (procedimientos o métodos) e identidad (propiedad del objeto que lo diferencia del resto). 

Tomas las mejores ideas de la programación estructurada y modular combinándola con nuevos y poderosos conceptos.

Área Donde se Aplica la Tecnología de Objetos

  • Lenguajes de programación
  • Bases de datos
  • Dibujo y Visualización
  • Sistemas Operativos
  • Interfaz de Usuario
  • Metodología de análisis y diseño
  • Sistemas de conmutación telefónica

Ventajas de POO

  • Uniformidad: la representación de los objetos esta presente tanto en el diseño como en la codificación 
  • Flexibilidad: Cualquier cambio se ve reflejado en cualquier lugar donde aparecen los datos involucrados. 
  • Objetivismo: representa el mundo real. 
  • Reusabilidad: permite utilizar una clase definida previamente en aplicaciones que nos sea conveniente. 
  • Mantenibilidad: las clases, vistas como módulos independientes son fáciles de mantener. 
  • Extensibilidad: gracias a la modularidad y herencia pueden ser fácilmente extensibles al crecimiento de la aplicación.

La Máquina Virtual Java – JVM

Es el entorno en el que se ejecutan los programas Java, su misión principal es la de garantizar la portabilidad de las aplicaciones Java. Define esencialmente un ordenador abstracto y especifica las instrucciones (bytecodes) que este ordenador puede ejecutar.

Características de JAVA

  • Simple: Java ofrece toda la funcionalidad de un lenguaje potente, elimina las características menos usadas y más confusas 
  • Orientado a Objetos: Soporta las tres características propias del paradigma de la orientación a objetos: encapsulación, herencia y polimorfismo. 
  • Distribuido: Java en sí no es distribuido, sino que proporciona las librerías y herramientas para que los programas puedan ser distribuidos. 
  • Robusto: Java realiza verificaciones en busca de problemas tanto en tiempo de compilación como en tiempo de ejecución.
  • Seguro: El código Java pasa muchos tests antes de ejecutarse en una máquina. 
  • Interpretado: El intérprete Java (sistema run-time) puede ejecutar directamente el código objeto. 
  • Multihilo: Al ser MultiHilo, Java permite muchas actividades simultáneas en un programa. 
  • Portable: Java construye sus interfaces de usuario a través de un sistema abstracto de ventanas. 
  • Dinámico: Las librerías nuevas o actualizadas no paralizarán la ejecución de las aplicaciones actuales (siempre que mantengan el API anterior). 
  • Arquitectura Neutral: el compilador Java compila su código a un fichero objeto de formato independiente de la arquitectura de la máquina en que se ejecutará.

¿Qué es un Objeto?

Es la representación de una entidad del mundo real o inventado.

Son llamados también “instancias”, es un concepto, una abstracción o una cosa con límites bien definidas y significado para una aplicación. Un objeto es algo que tiene: 

  • Estado
  • Comportamiento
  • Identidad  

Un Objeto tiene Estado

El estado de un objeto se compone de los valores de los atributos y los enlaces (referencias) que mantiene un objeto en un momento determinado. Los objetos interactúan unos con otros y como consecuencia de esas interacciones cambian de estado (es decir, cambian el valor de sus atributos o sus enlaces con otros objetos).

Un Objeto tiene Comportamiento

  • El comportamiento de un objeto es cómo actúa y reacciona un objeto, en función de sus cambios de estado y paso de mensajes. 
  • El comportamiento de un objeto es modelado por un conjunto de mensajes a los que puede responder (las operaciones que el objeto puede realizar)

Paso de Mensajes

  • Es la acción de efectuar una llamada a un método. 
  • Medio de colaboración entre objetos

Un Objeto tiene Identidad

  • Cada objeto tiene una identidad única, incluso si su estado es idéntico al de otro objeto. 
  • Los objetos son distinguidos por su existencia inherente y NO por sus propiedades descriptivas.

¿Qué son las Clases?

Es un conjunto de objetos que comparten una estructura común y un comportamiento común  Una clase es una descripción de un grupo de objetos con propiedades en común (atributos), comportamiento similar (operaciones), la misma manera de relacionarse entre objetos (asociaciones y agregados) y una semántica en común

Para representar una clase se utiliza un rectángulo dividido en tres partes.  

  1. Parte: Se coloca el nombre de la clase. 
  2. Parte: Se colocan los atributos.
  3. Parte: Se especifican las operaciones de la clase.

La clase Persona contiene atributos y operaciones que caracterizan a cualquier elemento de su tipo. Los valores que contenga cada atributo establecerán la diferencia entre todos los elementos de la misma clase.

La clase Vehículo contiene atributos y operaciones que caracterizan a cualquier elemento de su tipo. Los valores que contenga cada atributo establecerán la diferencia entre todos los elementos de la misma clase.

Principios de la POO

  • Abstracción
  • Modularidad
  • Encapsulamiento
  • Herencia
  • Polimorfismo

Declaración en JAVA:

  • Clases
  • Objetos
  • Métodos
  • Acceso a datos
  • Atributos

Clase

Es una plantilla para un objeto. Define la estructura de un objeto y su interfaz funcional, es decir, define los métodos y atributos de un grupo de objetos de características similares.

Atributos

Los atributos se guardan en variables denominadas de instancia, y cada objeto particular puede tener valores distintos para estas variables.

Métodos

Los métodos son subrutinas que definen la interfaz de una clase, sus capacidades y comportamiento. Los métodos pueden tener una lista de parámetros que permiten comunicar información entre métodos.

Clase, Atributos y Métodos

Objeto

Un objeto es una instancia o variable de una clase. La declaración de una referencia a objeto se realiza:

Método Constructor

Un constructor es un método que inicia un objeto inmediatamente después de su creación, evitándonos tener que iniciar las variables. Tiene el mismo nombre de la clase a la que pertenece. 

Operador new

Permite crear un nuevo objeto invocando al método constructor de la clase, y devuelve una referencia a ese objeto, proporcionando almacenamiento persistente.

Operador punto (.)

Las variables de instancia:

  Los métodos contenidos en un objeto:

Modificadores de Acceso

Los modificadores de acceso definen niveles de visibilidad entre miembros (variables y métodos) de una clase y otros objetos.

  • public: Especifica que las variables y métodos de una clase podrán ser accedidas por todos los objetos, aunque sean de clases de otros paquetes diferentes al de la clase. 
  • protected: Especifica que las variables y métodos de una clase podrán ser accedidas, además de los métodos de la misma clase, por los métodos de todas las clases del mismo paquete y por las subclases de esta aunque no se encuentren en el mismo paquete. 
  • private: Especifica que las variables y métodos de una clase podrán ser accedidas sólo por los métodos de la misma clase.

Modificadores de acceso para variables y métodos

Contenido relacionado:

Te puede interesar

Deja una respuesta

Tu dirección de correo electrónico no será publicada.