Programación Orientada a Objetos (POO)
Es un paradigma de programación que viene a innovar la forma de obtener los resultados, en el cual los objetos manipulan los datos de entrada para la obtencion de datos de salida especificos, donde cada objeto ofrece una funcionalidad especial.
4 Pilares de la Programación orientada a objetos
Abstracción:
Este pilar permite identificar las características y los comportamientos de un objeto con los cuales se construirá la clase (plantilla). Esto quiere decir que a través de este pilar o fundamento es posible reconocer atributos y métodos de un objeto.
Encapsulamiento:
Es la característica de la POO la cual permite el oculta miento de la complejidad del código, pertenece a la parte privada de la clase y que no puede ser vista desde ningún otro programa, En el gráfico se representa como la complejidad del código queda oculta dentro de una caja fuerte impidiendo que quien lo utilice sin observar detalles de cada una de las lineas que permite el cumplimiento de una acción especifica.
Herencia:
Es el pilar mas fuerte que asegura la reutilizacion de código ya que a partir de esta característica es posible reutilizar (heredar) las características y comportamientos de una clase superior llamada clase padre que a sus clases hijas denominada clases derivadas. Esto implica que una vez desarrollado el código de una clase base, su código puede ser re utilizado por las clases derivadas.
Polimorfismo:
A través de esta característica es posible definir varios métodos o comportamientos de un objeto bajo un mismo nombre, de tal forma que es posible modificar los parámetros del método, o reescribir su funcionamiento, o incrementar mas funcionalidades a un método.
Clases
Las clases son plantillas que agrupan comportamiento (metodos) y estados (atributos) de los futuros objetos.
Los objetos son instancias de una clase. Usando el simil "variable-tipo" de la programacion estructurada, se entiende que un objeto es una variable que tiene el comportamiento y estados del tipo (objeto).
Objetos:
Se puede decir que un objeto es todo aquello que pueda ser identificable dentro de una especificación de requerimientos o problema y tenga las siguiente características:
Tenga estados definibles (abierto, cerrado).
Posea comportamientos asociados (puede correr, saltar, volar, etc). Éstos son denominados métodos.
Son capaces de interactuar/comunicarse con otros objetos por medio de sus métodos
Una característica propia de este paradigma, es la transparencia entre la implementación a nivel de código y la funcionalidad que provee un método (no me interesa cómo lo haga, sólo que lo haga).
Atributos: datos que caracterizan al objeto. Son variables que almacenan datos relacionados al estado de un objeto.
Métodos (usualmente llamados funciones de miembro): los métodos de un objeto caracterizan su comportamiento, es decir, son todas las acciones (denominadas operaciones) que el objeto puede realizar por sí mismo. Estas operaciones hacen posible que el objeto responda a las solicitudes externas (o que actúe sobre otros objetos). Además, las operaciones están estrechamente ligadas a los atributos, ya que sus acciones pueden depender de, o modificar, los valores de un atributo.
Identidad: el objeto tiene una identidad, que lo distingue de otros objetos, sin considerar su estado. Por lo general, esta identidad se crea mediante un identificador que deriva naturalmente de un problema (por ejemplo: un producto puede estar representado por un código, un automóvil, por un número de modelo, etc.).
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. Estas clases como son generalidades no pueden ser instanciadas por ningún objeto (se dice que su nivel de abstracción es demasiado alto), entonces su único fin es ser heredado/extendido por otras clases.Interfaces:
Las Interfaces son usadas para indicar qué métodos debe obligatoriamente implementar (contener) una Clase (aunque no tienen por qué comportarse del mismo modo).
Los métodos definidos en una Interface deben ser "public".
Como ya hemos comentado anteriormente, en lenguajes de Programación Orientada a Objetos que no soportan herencia múltiple (como Java) se usa también para simularla.
API de Java
Es una interfaz de programación de aplicaciones provistas por los creadores del lenguaje de programación Java,que da a los programadores los medios para desarrollar aplicaciones java.
La API de java provee un conjunto de clases utilitarias para efectuar toda clase de tareas necesarias dentro de un programa. La API de java esta organizada en paquetes lógicos donde cada paquete contiene un conjunto de clases relacionadas.
Generalidades de Programacion
Diferencia entre dato e informacion:
- Los datos son utilizados por lo general, para comprimir información con la finalidad de facilitar el almacenamiento de datos, y su transmisión a otros dispositivos. Al contrario que la información, la cual tiende a ser muy extensa.
- La información o mensaje es mucho mayor que los datos, ya que la información se encuentra integrada por un conjunto de datos de diferentes tipos.
- Otra característica destacable de la información, es que es un mensaje que tiene sentido comunicacional y una función social. Mientras que el dato, no refleja mensaje alguno y por lo general, es difícil de entender por sí solo para cualquier ser humano, careciendo de utilidad si se encuentra aislado o sin otros grupos de datos que creen un mensaje coherente
Tipo de dato en Java
Variable:
Esta esta diseñada para almacenar datos, y tiene un nombre simbólico el cual esta asociado a dicho espacio, el cual contiene una cantidad de información conocida o desconocida, es decir un valor. El nombre de la variable usualmente es referido al valor almacenado.
Constante:
Es un valor que no puede ser alterado/modificado durante la ejecución de un programa, únicamente puede ser leído. Una constante corresponde a una longitud fija de un área reservada de la memoria principal del ordenador, donde el programa almacena valores fijos.
Acumulador:
Un acumulador es una variable en la memoria cuya misión es almacenar cantidades variables.Contador:
Es una variable en la memoria que se incrementará en una unidad cada vez que se ejecute el proceso.El contador se utiliza para llevar la cuenta de determinadas acciones que se pueden solicitar durante la resolución de un problema.
Palabra Reservada:
Es una palabra que tiene un significado gramatical especial para ese lenguaje y no puede ser utilizada como un identificador de objetos en códigos del mismo, como pueden ser las variables.Operadores en Java:
Estructuras Selectivas:
La especificación formal de algoritmos es realmente útil cuando se requiere una descripción más complicada que una lista sencilla de instrucciones. Este es el caso cuando existen un número de posibles alternativas resultantes de la evaluación de una determinada condición. Las estructuras selectivas se utilizan para tomar decisiones lógicas; de ahí que también se conocen como estructuras de decisión o alternativas. En las estructuras selectivas se evalúa una condición, y en función del resultado de la misma se toma un camino u otro.Las condiciones se establecen usando expresiones lógicas.
Estructura Ciclicas:
Las estructuras cíclicas se utilizan para ejecutar fragmentos de código un número limitado de veces.
Existen tres estructuras cíclicas generales, las cuales son:
Desde Hasta (For)
Hacer Mientras (While)
Hacer Hasta (Do While)
Las tres estructuras tienen el mismo objetivo, ejecutar un fragmento de código un número limitado de veces, su principal diferencia se encuentra en la forma en la cual limitan el número de ocasiones que se ejecutará el código.
Existen tres estructuras cíclicas generales, las cuales son:
Desde Hasta (For)
Hacer Mientras (While)
Hacer Hasta (Do While)
Las tres estructuras tienen el mismo objetivo, ejecutar un fragmento de código un número limitado de veces, su principal diferencia se encuentra en la forma en la cual limitan el número de ocasiones que se ejecutará el código.
Estructura Cíclica: Desde Hasta
La estructura cíclica Desde Hasta tiene una característica especial por sobre las otras estructuras cíclicas existentes, tiene la capacidad de incluir una o más variables que trabajaran como contadores, con las cuales se controla el número de ocasiones que se ejecutará el ciclo.
Esta sentencia repetirá el mismo código tantas veces como se le indique (actúa como un bucle). A partir de un valor inicial de una variable la va incrementando en cada iteración del bucle hasta que tome un valor determinado, momento en el que sale del bucle y continúa ejecutando el código inmediatamente inferior al ciclo Desde-Hasta.
Composición
|
No hay comentarios:
Publicar un comentario