Download Programación Orientada A Objetos(POO)

Document related concepts

Scala (lenguaje de programación) wikipedia , lookup

Polimorfismo (informática) wikipedia , lookup

Objeto inmutable wikipedia , lookup

Rust (lenguaje de programación) wikipedia , lookup

Common Lisp wikipedia , lookup

Transcript
POO
Poo o programación orientada a objetos más que nada es un modelo o ejemplo de
programación que usa objetos en todas sus acciones, para construir aplicaciones o software.
La programación orientada a objetos se utiliza en objetos como para los elementos
fundamentales en la construcción de la solución. La POO surgió en los años 70. Las
propiedades y los métodos comunes a los objetos se reúnen o se agrupan en clases. Una clase
es una plantilla o un modelo para la creación o elaboración de objetos, por eso se dice que los
objetos son instancias de clases.
Las características que conforman a la Poo son tres la abstracción, el encapsulamiento,
ocultamiento, principios de ocultación y polimorfismo. Lo interesante de la POO es que
proporciona conceptos y herramientas con las cuales se modela y representa el mundo real tal
como sea posible. Las características son las siguientes:
*Abstracción
Consiste en capturar las características esenciales de un objeto, tal como el comportamiento y
las propiedades que lo conforman. Un claro ejemplo seria lo de los perros que vimos en clase,
debemos buscar todas sus características iguales de lo que hacen o tienen cada uno, como
podría ser ladrar, comer , morder, correr, pelo, raza y todo lo similar de lo que hacen.
*Encapsulamiento
Su labor de esta es unir en una misma clase todas las características, propiedades y sus
reacciones, pero también se les denomina o se les conoce como variables y métodos. El
encapsulamiento se logra gracias a la abstracción y el ocultamiento. Porque la abstracción
captura y el ocultamiento oculta el interior.
*Ocultamiento
Es una característica de la POO, su función del ocultamiento es ocultar, cosas internas del
comportamiento de una clase y solo mostrar los detalles necesarios en el sistema. Otra función
del ocultamiento seria que nos permite prohibir y manipular el tipo y uso de la clase. Al
manipular la clase no deja que otras clases accedan a ella y al manipular es porque ella es
quien puede modificar nada más la clase.
*Principio de ocultación
Su labor es que otros objetos no puedan cambiar el estado interno de un objeto de manera
inesperada, eliminando los efectos secundarios e interacciones inesperadas. También algunos
lenguajes permiten un acceso directo a los datos internos del objeto de una manera controlada
y limitando el grado de captura.
*Polimorfismo
Se caracteriza por sus comportamientos diferentes, asociados a objetos distintos, también
pueden compartir el mismo nombre, al llamarlos por ese nombre se utilizará el comportamiento
que le corresponde al objeto que se esté usando. Dicho de otra forma las referencias y las
colecciones de objetos pueden contener objetos de distintos tipos y la invocación de un
comportamiento en una referencia producirá el comportamiento correcto para el tipo real del
objeto seleccionado. Cuando esto ocurre en tiempo de ejecución, esta característica se
llama asignación tardía o asignación dinámica.
Las principales ventajas de la POO son 8 las cuales nos permitirán fomentar la reutilización y
extensión de los códigos, nos permitirá hacer o crear sistemas más complejos, relacionar el
sistema con el mundo real, nos hará más fácil la creación de programas o aplicaciones
visuales, hará mucho más rápido o agilizará el desarrollo del software, también facilitara el
trabajo en equipo, hará que el trabajo sea más fácil.
¿Alguna forma para representar un modelado de clases?
De una computadora que primero van sus atributos y después sus comportamientos que en
pocas palabras los atributos serian lo que tienen en común o los que las conforman como
podría ser numero serie, precio, fabricante, color, tipo de computadora y los comportamientos
son lo que hacen en común como podría ser abrir programas, cerrar programas, apagarse etc.
¿Algún ejemplo del mundo real?
Este ejemplo lo vimos en clase que eran normalmente objetos que tenemos del mismo tipo. Por
ejemplo, nuestra computadora es sólo uno de los miles que hay en el mundo. Si nos referimos
en términos de la POO, podemos estar diciendo que nuestra computadora es una solicitud de
una clase conocida como "computadora" o depende de cual sea su clase. Las computadoras
tienen características (sistema operativo, pantalla, teclado, marca, modelo, etc.) y
comportamientos (abrir programas, transmisión de datos, reproducir sonidos o videos etc.).
Este es uno de los tantos ejemplos que pueden existir.
Lo que necesito aprender seria comprender todas las clases para no tener fallas al momento de
programar con POO, y tratar de entender y aprender todo lo que se vea relacionado con POO
en todos los lenguajes.
Los lenguajes de programación que se utilizan en la POO son los siguientes: lenguaje de
programación C++. En el año de 1995 apareció el lenguaje de Programación más reciente, que
es el lenguaje Java que nosotros utilizamos este mismo fue desarrollado por SUN, que este
tiene algunos conceptos del lenguaje de programación C++. El lenguaje más desarrollado y
que es más extendido para aplicaciones Web, es el PHP 5, el cual trae todas las características
necesarias para poder desarrollar software orientado a objetos.
Ejemplo en código
// metodo normal
Import java.io.*;
class ejemplo1 {
Public static void main(String[ ] args) throws IOException
{
BufferedReader leer = new Buffered (new InputStreamReader [System.in)];
System.out.println(“Escribir el primer numero”);
String a1 = leer.readLine(); //captura
int a2 = Integer.parseInt (a1); //convierte
System.out.println(“Escribe el Segundo numero”);
String b1 = leer.readLine(); //captura
int b2 = Integer.parseInt (b1); //convierte
Int total = a2 + b2 ; //opera
System.out.println(total);
}
}
Referencias:
Programación orientada a objetos. [En línea].
<http://es.wikipedia.org/wiki/Programaci%C3%B3n_orientada_a_objetos [fecha de consulta: 1001-2013].
POO. [En línea]. <http://java.ciberaula.com/articulo/tecnologia_orientada_objetos/ [fecha de
consulta: 10-01-2013].