Fundamentos de Programación Orientada a Objetos

Que es?

Es la metodología que define los programas en términos como:

Objetos

Agrupa sus propias características, como campos y métodos

Campos

Es la característica del objeto, que define su estructura y ayuda a diferenciarlo de otros objetos. Se define con un identificador y un tipo el cual indica los valores que puede almacenar

Métodos

Es el algoritmo que se implementa y que representa una operación o función que el objeto realiza.

Cuales son sus características?

Jerarquización

Aquí se produce la organización de los elementos en grados o niveles de responsabilidad, importancia o composición.

Abstracción

Donde se extraen las características esenciales, ignorando detalles innecesarios

Modularización

Se trata de descomponer el sistema en conjuntos o piezas independientes con propio significado.

Encapsulamiento

Aquí se reúnen los elementos que se consideren pertenecientes a la misma entidad.

Polimorfismo

Es la capacidad que tienen los objetos de una clase de responder a un evento en función de los parámetros utilizados durante su llamado.

Herencia

Esta permite que se puedan definir nuevas clases con bases a las clases ya existentes con la finalidad de reutilizar el código.

Sus elementos fundamentales son:

Objetos

Que es?

Es una entidad dentro del programa de una computadora que consta de un estado y un comportamiento, pero a su vez constan de datos almacenados y tareas realizables.

Cuales son sus características?

Clase

Define la propiedad y el comportamiento del objeto

Atributo

Define las características individuales del objeto.

Mensaje

Es la comunicación dirigida al objeto indicando que ejecute uno de sus métodos.

Método

El algoritmo o la instrucción que tiene el objeto

Clases

Que es?

Son objetos que se comunican entre si intercambiando mensajes, estas se relacionan con los objetos ya que la clase es una declaración del tipo objeto.

Su definición puede ser:

Estructural

Donde se define el estado y el comportamientos que tendrán los objetos de esa clase.

Propósito de creación

Donde se define la creación de nuevos objetos.

Declaración de clases

Modificadores de clase

public

Hace que la clase sea accesible desde otro paquete

abstract

Define clases que no se instancian

final

Define clases que no se extienden con subclases

Clausula extends

Define la superclase de la clase definida por defecto "Object"

Clausula implements

Define los interfaces que se implementan en la clase

Metaclases

Que es?

Principalmente es la clase de una clase, esta funciona detrás del programa y nunca es vista por el usuario

Se clasifican en sistemas de:

1 nivel

Solo hay objetos, no existen ni clases ni metaclases

3 niveles

Todos los objetos son instancias de una clase y todas las clases son instancias de una metaclase.

2 niveles

Solo existen clases y objetos, no hay soporte para metaclases.

5 niveles

Objetos, clases, clases de clases, metaclases y cases de metaclases