Вы находитесь на странице: 1из 6

Introducción a la Programación en Java

Unidad I Conceptos Básicos de la Programación Orientada a Objetos

1.1 Paradigma de la Programación Orientada a Objetos

Paradigma. Según el Diccionario de la Real Academia de la Lengua Española, paradigma se define


como “Cada uno de los esquemas formales en que se organizan las palabras nominales y verbales para
sus respectivas flexiones.” . En el ámbito de la programación paradigma es una técnica de programación.

Paradigma de la Programación Estructurada


En los años sesenta, Edsger Dijkstra demostró que todo programa podía escribirse correctamente
combinando tres bloques de control: bloques secuenciales, el bloque de selección if y el bloque de
repetición. En la programación estructurada un problema se divide en tareas más pequeñas llamadas
procesos, los cuales se pueden distribuir varios programadores para llegar a una solución de forma
rápida y eficiente. La programación estructurada es un mecanismo para hacer programas más
comprensibles, evitando hacer saltos de una parte del programa a otra, lo que facilita la lectura del
código en forma continua.

Entrada Datos Datos


de Datos parciales Parciales

La Programación estructurada se concentra en las acciones que controlan el flujo de datos.

Paradigma de la Programación Orientada a Objetos

Es un modelo de programación cuya idea principal es mediante descomponer un problema en entidades


de software llamadas objetos. La Programación Orientada a Objetos trata de aproximar la programación
a la vida real.

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.

Comparación entre Programación Estructurada y Programación Orientada a Objetos

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.

Ing. Alma Leticia Palacios Guerrero 3


Introducción a la Programación en Java

Ventajas de la Programación Orientada a Objetos.

• Los datos estan encapsulados y no pueden ser accesados por funciones externas al objeto.

• Los objetos pueden comunicarse entre sí a través de funciones.

• Pueden agregarse nuevos datos y funciones fáilmente cuando se requiera.

1.2 Conceptos Básicos de Programación Orientada a Objetos.

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

Ing. Alma Leticia Palacios Guerrero 4


Introducción a la Programación en Java

Unidad 2. Introducción a Java

2.1 Historia de Java

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++.

Ing. Alma Leticia Palacios Guerrero 5


Introducción a la Programación en Java

2.2. Características de Java

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).

Interpretado. La ejecución de un programa en Java pasa a través de dos fases.


1. El compilador de java convierte el código fuente en un tipo de lenguaje de bajo nivel llamado
bytecode.
2. Para correr el programa se usa un interprete que ejecuta el bytecode compilado. Este
interprete es conocido como la JVM (Java Virtual Machine).

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.

Ing. Alma Leticia Palacios Guerrero 6


Introducción a la Programación en 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.

Dinámico. Java es un lenguaje dinámico porque puede adaptarse a un ambiente cambiante y en


desarrollo. Java no intenta conectar todos los módulos que conforman una aplicación hasta el tiempo de
ejecución. Las librerías nuevas o actualizadas no paralizarán las aplicaciones actuales

Arquitectura Neutral : La internet es la composición de muchas computadoras interconectadas con


procesadores y sistemas operativos diferentes. Java fue desarrollado con la meta de ser capaz de correr
en cualquier tipo de computadora sin tener que recompilar el código. Por esta razón, cuando se compila
un programa fuente de Java, el resultado no es un código nativo sino un bytecode de arquitectura neutral
de bajo nivel que representa los datos en un formato independiente de la máquina objeto. El interprete de
Java puede más tarde, leer este bytecode y traducirlo a llamadas de sistema dependientes de máquina.
Esta combinación de características es la razón por la que las aplicaciones de Java pueden correr en
cualquier computadora que implementa la Java Virtual Machine.

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.
.

Ing. Alma Leticia Palacios Guerrero 7


Introducción a la Programación en Java

2.3. Componentes de Java

La plataforma de Java tiene dos componentes: La máquina virtual de Java y el API de Java.

El API (Application Programming Interface) es un conjunto de componentes de software, está agrupado


en paquetes o librerías de clases.

programa.java

API de Java

Máquina Virtual
de Java

Plataforma
de Hardware

2.4 Tipos de Programas en Java

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.

Aplicación Standalone: Es un programa independiente que corre directamente en plataforma Java.

Ing. Alma Leticia Palacios Guerrero 8

Вам также может понравиться