martes, 16 de febrero de 2016

Introducción a POO



SOLUCIÓN DE INTRODUCCIÓN A POO

1.

Objeto: La programación orientada a objetos consiste en ordenar datos en conjuntos modulares de elementos de información del mundo real (denominado un dominio). Estos elementos de datos se llaman objetos. Estos datos se agrupan de acuerdo a las características principales del mundo real de estos elementos (tamaño, color, etc.).


Herencia: Es una propiedad que permite que los objetos sean creados a partir de otros ya existentes, obteniendo características (métodos y atributos) similares a los ya existentes.
Ej:





Polimorfismo: El polimorfismo es una relajación del sistema de tipos, de tal manera que una referencia a una clase (atributo, parámetro o declaración local o elemento de un vector) acepta direcciones de objetos de dicha clase y de sus clases derivadas (hijas, nietas, …).



Encapsulación: La encapsulación es un mecanismo que consiste en organizar datos y métodos de una estructura, conciliando el modo en que el objeto se implementa, es decir, evitando el acceso a datos por cualquier otro medio distinto a los especificados. Por lo tanto, la encapsulación garantiza la integridad de los datos que contiene un objeto.




Abstracción: Expresa características esenciales de un objeto, las cuales distinguen al objeto de los demás.
Ej: el objeto sería un pájaro, y sus características, por ejemplo, serian:
-Pico
-Alas
-Plumas
-Patas

Las funcionalidades asociadas serian: Volar, para, etc.

Interfaz: Una interfaz es un conjunto de métodos abstractos y de constantes cuya funcionalidad es la de determinar el funcionamiento de una clase, es decir, funciona como un molde o como una plantilla. Al ser sus métodos abstractos estos no tienen funcionalidad alguna, sólo se definen su tipo, argumento y tipo de retorno.
Ej:
public Interfaz NombreInterfaz{
//Código
}

Clase: Una clase es la estructura de un objeto, es decir, la definición de todos los elementos de que está hecho un objeto. Un objeto es, por lo tanto, el "resultado" de una clase. En realidad, un objeto es una instancia de una clase, por lo que se pueden intercambiar los términos objeto o instancia (o incluso evento).



Atributos: un atributo es una especificación que define una propiedad de un objeto, elemento o archivo. También puede referirse o establecer el valor específico para una instancia determinada de los mismos.
Ej:
Del ejemplo anterior está el material, tamaño llanta, entre otros que puede haber como color, etc.

Métodos: Un método consiste generalmente de una serie de sentencias para llevar a cabo una acción, un juego de parámetros de entrada que regularán dicha acción y, posiblemente, un valor de salida.
Ej:
Del ejemplo de clase, podemos encontrar los ejemplos de métodos como cambio, mover, frenar.

Instancia: Una Instancia es una ocurrencia de la clase y un Objeto es una instancia de una Clase específica.
Ej:
Supongamos que existe una clase Silla. La silla del comedor que yo utilizo, es una instancia de esa clase, y, por lo tanto, un objeto de tipo Silla. La silla que utiliza mi hermana es otra instancia de la misma clase y, en consecuencia, otro objeto del mismo tipo.

Composición: 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.
Ej:
En esta situación, la frase “Tiene un”, debe tener sentido:
-El auto tiene llantas.
-La portátil tiene un teclado.

Concurrencia: Es la propiedad que distingue un objeto activo de uno no activo. Permite que diferentes objetos actúen al mismo tiempo usando distintos threads de control.
Ej: Distintas tareas del sistema ejecutándose al mismo tiempo.

Visibilidad: Capacidad de restringir el acceso a atributos y servicios de un objeto. Particularmente importante en el diseño e implementación.
Ej:
-Public: Cuando una Clase, Método o Atributo es Visible y Accesible desde cualquier Clase en cualquier Paquete.
-Private: Cuando un Método o Atributo es Visible y Accesible solo en su propia clase. Las Clases nunca pueden ser declaradas como Privadas.
-Protected: Si un Atributo o Método es visible en la Clase, también en las clases del mismo paquete y en las Subclases de la Clase Principal en otros paquetes.

2. Qué es el Lenguaje de programación JAVA?: Es un lenguaje de programación de propósito general, concurrente, orientado a objetos y basado en clases que fue diseñado específicamente para tener tan pocas dependencias de implementación como fuera posible. Su intención es permitir que los desarrolladores de aplicaciones escriban el programa una vez y lo ejecuten en cualquier dispositivo.

3. Qué es JDK?: es un software que provee herramientas de desarrollo para la creación de programas en Java. Puede instalarse en una computadora local o en una unidad de red.En la unidad de red se pueden tener las herramientas distribuidas en varias computadoras y trabajar como una sola aplicación.

4. Qué es JIT?: la compilación en tiempo de ejecución (también conocida por sus siglas inglesas, JIT, just-in-time), también conocida como traducción dinámica, es una técnica para mejorar el rendimiento de sistemas de programación que compilan a bytecode, consistente en traducir el bytecode a código máquina nativo en tiempo de ejecución. La compilación en tiempo de ejecución se construye a partir de dos ideas anteriores relacionadas con los entornos de ejecución: la compilación a bytecode y la compilación dinámica.

5. Qué es JVM?: es una máquina virtual de proceso nativo, es decir, ejecutable en una plataforma específica, capaz de interpretar y ejecutar instrucciones expresadas en un código binario especial (el bytecode Java), el cual es generado por el compilador del lenguaje Java.

6. Qué es JRE?: es una máquina virtual de Java y su función es hacer de intermediario entre una aplicación programada en Java y el sistema operativo que se esté usando. De este modo, cualquier aplicación puede funcionar en cualquier sistema operativo que disponga del JRE.

7. Qué es el API de Java?: LA API ó Application Programming Interface de Java, son clases importantes ó código preexistente que forman parte del propio lenguaje, algunas de ellas las han podido desarrollar los propios usuarios, otras pueden ser comerciales.

8. Qué es el Garbage Collector?: Es un mecanismo implícito de gestión de memoria implementado en algunos lenguajes de programación de tipo interpretado o semiinterpretado. En los lenguajes orientados a objetos: se reserva memoria cada vez que el programador crea un objeto, pero éste no tiene que saber cuánta memoria se reserva ni cómo se hace esto.

9. Qué es IDE? y cuales son los IDE´s mas populares para programar en Java:
Un ambiente de desarrollo integrado o entorno de desarrollo interactivo, en inglés Integrated Development Environment (IDE), es una aplicación informática que proporciona servicios integrales para facilitarle al desarrollador o programador el desarrollo de software.

Normalmente, un IDE consiste de un editor de código fuente, herramientas de construcción automáticas y un depurador
IDE’s más populares:
- Netbeans
- Eclipse
- Visual Studio
- JDeveloper
- IntelliJ Idea.