Академический Документы
Профессиональный Документы
Культура Документы
Nombre Linea
Atributos Tamaño
Orientación
Tipo
Color
Grosor
Métodos Dibujar
Borrar
Rotar
Mover
La POO se centra en la interrelación que existe entre los datos y las acciones.
Tradicionalmente el código y los datos se han mantenido separados. Por ejemplo, en lenguaje C, a los
bloques de código se le conoce como funciones, mientras a las unidades de datos se les conoce como
estructuras; en C, las funciones y las estructuras no están formalmente conectadas. Una función en C
puede operar sobre más de un tipo de estructura y más de una función puede operar sobre la misma
estructura. En la programación orientada a objetos el código y los datos estan fusionadas en algo
indivisible: un objeto. En la POO los datos son tratados como elementos críticos y no fluyen libremente,
sino que se limitan a las funciones donde operan, lo que los protege de una modificación accidental.
• Los datos estan encapsulados y no pueden ser accesados por funciones externas al objeto.
Clase: Una clase es una agrupación de datos (variables o campos) y de funciones (métodos) que operan
sobre esos datos. A estos datos y funciones pertenecientes a una clase se les denomina variables y
métodos o funciones miembro. La clase es el patrón o modelo para crear objetos.
Objeto: Es un paquete de variables y métodos relacionados. Los objetos en software frecuentemente son
la abstracción de las propiedades y comportamientos de una entidad del mundo real.
Mensaje: Los mensajes son simples llamadas a las funciones o métodos del objeto con el se quiere
comunicar para decirle que haga cualquier cosa.
Herencia: La herencia permite que se pueden definir nuevas clases basadas en clases existentes, lo cual
facilita reutilizar código previamente desarrollado. Si una clase deriva de otra (extends) hereda todas sus
variables y métodos. La clase derivada puede añadir nuevas variables y métodos y/o redefinir las
variables y métodos heredados. En Java, a diferencia de otros lenguajes orientados a objetos, una clase
sólo puede derivar de una única clase, con lo cual no es posible realizar herencia múltiple en base a
clases.
Encapsulación: Es el proceso de ocultar todos los detalles de un objeto que no contribuyen a sus
características esenciales. Esto significa que aquello que está en interior de la clase está oculto, solo las
[1]
interfaces externas pueden ver otros objetos.
Polimorfismo: Es una propiedad que permite enviar el mismo mensaje a objetos de diferentes clases, de
forma que cada uno de ellos responde a ese mismo mensaje de modo distinto dependiendo de su
[1]
implementación.
Interface: Una interface es un conjunto de declaraciones de funciones. Si una clase implementa una
interface, debe definir todas las funciones especificadas por la interface. Una clase puede implementar
más de una interface, representando una forma alternativa de la herencia múltiple. A su vez, una
interface puede derivar de otra o incluso de varias interfaces, en cuyo caso incorpora todos los métodos
de las interfaces de las que deriva.
Package: Un package (paquete) es una agrupación de clases
Java inició su vida bajo un nombre y un propósito diferente a los actuales. El lenguaje de programación
original fue escrito para aparatos electrodomésticos como tostadores, hornos de microondas, etc. A
principios de los 90’s la incorporación de los microprocesadores a los objetos de la vida diaria, fue vista
como el inicio de una nueva era. En 1991 Sun MicroSystems fundó un proyecto de investigación interno
llamado “Green”. El equipo de Green, encabezado por James Gosling, rápidamente se dio cuenta de que
lenguajes como C y C++ no eran adecuados para la gama de tareas que los dispositivos necesitaban
ejecutar. Uno de los problemas anticipados por “Green” era la dificultad de proveer software para nuevos
dispositivos ya que cada vez que aparecía un nuevo chip, se tenía que recompilar el programa escrito en
C o C++ para el chip en particular.
A mediados de 1991, James Gosling empezó a trabajar en un nuevo lenguaje apropiado, el nombró al
lenguaje “Oak” (Roble) por un roble que veía desde su oficina en Sun. Gosling diseñó el nuevo lenguaje
para ser pequeño, confiable e independiente de arquitectura. El equipo de desarrollo fue incorporado a la
nueva compañía FirstPerson. Desafortunadamente, FirstPerson, se vió en una serie de dificultades
principalmente porque el mercado para el consumo de dispositivos electrónicos inteligentes no estaba
desarrollado como lo había anticipado Sun
La liberación de NCSA Mosaic y la explosión de la World Wide Web en 1993 salvaron el proyecto. Los
desarrolladores de OAK vieron que un lenguaje de arquitectura neutral sería ideal para programar en
Internet porque el programa podría correr en cualquier parte. Los desarrolladores hicieron cambios
menores al diseño y cambiaron el nombre a “Java”.
Habiendo desarrollado Java para productos electrónicos de consumo este resultó ser un lenguaje
robusto. Cuando el equipo de Java decidió que sería particularmente apropiado para Internet debido a su
independencia de plataforma, agregaron funciones para el manejo de red. Así fue como Java se convirtió
en la nueva elección de lenguaje para desarrollar aplicaciones cliente/servidor o de red.
Sun anunció formalmente Java en la conferencia SunWorld en mayo de 1995. Inmediatamente generó
interés porque no era un lenguaje académico como Pascal ni diseñado por un pequeño grupo para uso
local como C o C++.
Sun describe Java como un lenguaje simple, orientado a objetos, distribuido, interpretado, robusto,
seguro, de arquitectura neutral, portable, de alto desempeño y multihilos. Cada una de estas palabras es
una característica del lenguaje Java. Mientras muchas de estas características pueden usarse para
describir otros lenguajes, esta combinación en particular es única en Java y su ambiente.
Simple: Se dice que Java es simple porque aunque tiene todas las características de un lenguaje
potente, descarta las características menos usadas y más confusas de éstos. C y C++ son lenguajes muy
conocidos, por eso Java se diseñó para ser parecido a C++ y así facilitar su aprendizaje. En Java no es
necesario liberar memoria, no se usan la aritmética de punteros, las referencias, registros, definición de
tipos (typedef) ni macros.
Orientado a objetos: Desde el punto de vista del usuario la orientación a objetos no cambia nada. Al
correr un programa no importa si está escrito en programación convencional o en lenguaje orientado a
objetos. Pero si se está acostumbrado a programar en lenguajes convencionales como Pascal y C,
entonces “orientado a objetos” significa que serán necesarios mayores ajustes en la planeación e
implementación de las aplicaciones. Este ajuste es probablemente la parte más díficil en el aprendizaje
de Java.
Distribuido: Java viene con una completa biblioteca de aplicaciones de red que facilita al programador el
trabajar con protocolos desde bajo nivel como TCP/IP (Transport Control Protocol and Internet Protocol) o
alto nivel como HTTP (Hyper Text Transfert Protocol) y FTP (File Transfer Protocol).
Compilador Intérprete
Robusto: Java no solo verifica el código para encontrar problemas en tiempo de compilación, también
busca errores que se puedan presentar en tiempo de ejecución. La comprobación de tipos en Java ayuda
a detectar errores, lo antes posible, en el ciclo de desarrollo. Entre otras cosas proporciona la
comprobación de punteros, límites de arreglos, y manejo de excepciones, etc.
Seguro: Debido a que Java fue diseñado para correr en un ambiente de red tienes restricciones de
seguridad. Además durante la ejecución el intérprete usa un mecanismo para verificar que el bytecode
cargado a través de la red no viola ninguna restricción del lenguaje Java.
Multihilos: En la actualidad muchas aplicaciones permiten al usuario realizar múltiples tareas en forma
simultánea. La capacidad para ejecutar varios procesos al mismo tiempo se conoce como multihilo. Java
proporciona paquetes para implementar y aplicaciones multihilo.
Compilador
Intérprete Intérprete
Intérprete
Portable: Ser de arquitectura neutral es sólo una parte de ser portable. Java además implementa otros
estándares de portabilidad para facilitar el desarrollo, por ejemplo los enteros son siempre de 32 bits, la
construcción de interfaces de usuarios se realiza utilizando las clases del paquete awt (abstract window
toolkit) de forma que las ventanas puedan ser implantadas en cualquier entorno.
.
La plataforma de Java tiene dos componentes: La máquina virtual de Java y el API de Java.
programa.java
API de Java
Máquina Virtual
de Java
Plataforma
de Hardware
Los tipos de programas más comunes en Java son los applets y las aplicaciones standalone.
Applet: Es un programa que se apega a ciertas convenciones que le permiten correr en un browser
habilitado para Java.