Paradigma Orientado a Objetos. Fundamentos y origen de JAVA

La programación orientada a objetos o POO (OOP según sus siglas en inglés) es un paradigma de programación que usa los objetos en sus interacciones, para diseñar aplicaciones y programas informáticos. Está basado en varias técnicas, incluyendo herencia, cohesión, abstracción, polimorfismo, acoplamiento y encapsulamiento. Su uso se popularizó a principios de la década de los años 1990. En la actualidad, existe una gran variedad de lenguajes de programación que soportan la orientación a objetos.


Los conceptos de la programación orientada a objetos tienen origen en Simula 67, un lenguaje diseñado para hacer simulaciones, creado por Ole-Johan Dahl y Kristen Nygaard, del Centro de Cómputo Noruego en Oslo. En este centro se trabajaba en simulaciones de naves, que fueron confundidas por la explosión combinatoria de cómo las diversas cualidades de diferentes naves podían afectar unas a las otras. La idea surgió al agrupar los diversos tipos de naves en diversas clases de objetos, siendo responsable cada clase de objetos de definir sus propios datos y comportamientos. Fueron refinados más tarde en Smalltalk, desarrollado en Simula en Xerox PARC (cuya primera versión fue escrita sobre Basic) pero diseñado para ser un sistema completamente dinámico en el cual los objetos se podrían crear y modificar "sobre la marcha" (en tiempo de ejecución) en lugar de tener un sistema basado en programas estáticos.

Elementos del Lenguaje. Tipos de datos, variables y operadores

TIPOS DE DATOS EN JAVA


Un dato siempre lleva asociado un tipo de dato, que determina el conjunto de valores que puede tomar. En Java toda la información que maneja un programa está representada por dos tipos principales de datos:


A) Datos de tipo básico o primitivo.

B) Referencias a objetos.

Los tipos de datos básicos o primitivos no son objetos y se pueden utilizar directamente en un programa sin necesidad de crear objetos de este tipo. La biblioteca Java proporciona clases asociadas a estos tipos que proporcionan métodos que facilitan su manejo.

Los tipos de datos primitivos que soporta Java son:


Byte: Numérico entero con signo

Short:Numérico entero con signo

Int:Numérico entero con signo, Clase asociada:Integer

Long:Numérico entero con signo

Float:Numérico en Coma flotante de precisión simple

Double:Numérico en Coma flotante de precisión doble

Char:Carácter unicode,Clase asociada:character

Boolean:Dato lógico

void

Volver al principio

Sentencias de Control

Java utiliza sentencias de control para hacer que el flujo de ejecución avance o se bifurque en función de los cambios de estado en el programa. Las sentencias de control se clasifican en los siguientes grupos:


Seleción

Iteración

Salto

Además, para los errores no detectados en la compilación, existe el bloque try{...} catch{...} finally{...} para gestionar todos los posibles errores que aparezcan durante la ejecución del programa.

Selección

Estas sentencias controlan el flujo de ejecución en función de condiciones conocidas durante el tiempo de ejecución.

If

Permite ejecutar un conjunto de sentencias si se cumple la expresión de comparación

Programa que pide una nota por teclado y muestra un mensaje si la nota es mayor o igual que 5

If else

En caso de que la primera expresión de comparación no se cumpla, salta a la siguiente.

If else if

Cada else se corresponde con el if más próximo que no haya sido emparejado.Una vez que se ejecuta un bloque de instrucciones, la ejecución continúa en la siguiente instrucción que aparezca después de las sentencias if .. else anidadas.

Swicht

Se utiliza para seleccionar una de entre múltiples alternativas.

While

Las instrucciones se repiten mientras la condición sea cierta. La condición se comprueba al principio del bucle por lo que las acciones se pueden ejecutar 0 ó más veces.

Do While

Las instrucciones se ejecutan mientras la condición sea cierta.

For

Hace que una instrucción o bloque de instrucciones se repitan un número determinado de veces mientras se cumpla la condición.

Volver al principio

Clase y Objetos en java.Estructura básica.

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

En general, la forma usual de definir una clase es:

La visibilidad es el ámbito en el que es conocida una clase, es decir, determina desde qué paquetes o clases es posible crear objetos de dicha clase y trabajar con ellos. Con public la clase podrá ser vista desde cualquier otro paquete (o clase). Mientras que con package la clase solo podrá ser vista dentro el mismo paquete. Es la opción por defecto si no se especifica nada.

Atributos

Para declarar un atributo de una clase, basta con declararlo como cualquier variable dentro del cuerpo de dicha clase, la forma sería:

Métodos

Los métodos son funciones definidas dentro de una clase, la forma general de declararlos es:

Objetos

Los objetos son instancias de las clases, como ya se comentó, cada objeto es diferente de los demás, aunque sean de la misma clase, por lo que tendrá valores propios para sus atributos que determinarán un estado diferente de los demás.

Para crear un objeto basta con declararlo como de una clase y después inicializarlo,por ejemplo:

Para acceder a los atributos y los métodos que tiene el objeto,bastará con usar el operador ' . ', por ejemplo:

Volver al principio

Sistema de Excepciones en Java. Exception.

Definicion Exception

Una excepción es un evento que ocurre durante la ejecución del programa que interrumpe el flujo normal de las sentencias.

Muchas clases de errores pueden utilizar excepciones — desde serios problemas de hardware, como la avería de un disco duro, a los simples errores de programación, como tratar de acceder a un elemento de un array fuera de sus límites. Cuando dicho error ocurre dentro de un método Java, el método crea un objeto 'exception' y lo maneja fuera, en el sistema de ejecución. Este objeto contiene información sobre la excepción, incluyendo su tipo y el estado del programa cuando ocurrió el error.

Un manejador de excepción es considerado adecuado si el tipo de la excepción lanzada es el mismo que el de la excepción manejada por el manejador. Así la excepción sube sobre la pila de llamadas hasta que encuentra el manejador apropiado y una de las llamadas a métodos maneja la excepción, se dice que el manejador de excepción elegido captura la excepción. Mediante el uso de excepciones para manejar errores, los programas Java tienen las siguientes ventajas frente a las técnicas de manejo de errores tradicionales.

Ejemplo de la creacion de una excepción

Volver al principio

Estructuras estáticas: Vectores y Matrices.

Vector y Matriz

En programación, una matriz o vector (llamados en inglés arrays) es una zona de almacenamiento continuo, que contiene una serie de elementos del mismo tipo, los elementos de la matriz. Desde el punto de vista lógico una matriz se puede ver como un conjunto de elementos ordenados en fila (o filas y columnas si tuviera dos dimensiones).

En principio, se puede considerar que todas las matrices son de una dimensión, la dimensión principal, pero los elementos de dicha fila pueden ser a su vez matrices (un proceso que puede ser recursivo), lo que nos permite hablar de la existencia de matrices multidimensionales, aunque las más fáciles de imaginar son los de una, dos y tres dimensiones.

Volver al principio

Clase Object

Definición

Todas las clases son en realidad subclases de una clase más amplia:la clase Object.Esta clase incluye todos los objetos.Por lo tanto siempre es posible colocar cualquier objeto en donde se espera un expresión de tipo Object.Por ejemplo:

Volver al principio

Clase system

Definición

Hay ocasiones en que se necesita acceder a recursos del sistema , como son los dispositivos de entrada/salida, el reloj del sistema, etc. Java dispone de la clase System, que proporciona acceso a estos recursos, independientemente de la plataforma.

El método currentTimeMillis

Fuente:http://www.programacion.com/articulo/tutorjava_nivel_basico_97/57

Volver al principio

Herencia en Java

Definición

La idea de la herencia es permitir la creación de nuevas clases basadas en clases existentes.Cuando heredamos de una clase existente,heredamos métodos y campos,agregamos nuevos campos y métodos para cumplir con la situación nueva. Cada vez que encontremos la relación entre dos clases, estamos ante la presencia de herencia.

Ejemplo de herencia:

Volver al principio

Gestión de cadenas en Java

Definición

Una cadena es una secuencia de caracteres. Las cadenas son una parte fundamental de la mayoría de los programas, así pues Java tiene varias características incorporadas que facilitan la manipulación de cadenas.

Java tiene una clase incorporada en el paquete java.lang que encapsula las estructuras de datos de una cadena. Esta clase, llamada String es la representación como objeto de una matriz de caracteres que no se puede cambiar.

Hay una clase que la acompaóa, llamada StringBuffer, que se utiliza para crear cadenas que pueden ser manipuladas después de ser creadas.

Ejemplo:

Volver al principio

Clase String

Definición

Un String en Java representa una cadena de caracteres no modificable.

Todos los literales de la forma "cualquier texto", es decir, literales entre comillas dobles, que aparecen en un programa java se implementan como objetos de la clase String.

Ejemplo:

Volver al principio

Clase StringBuffer

Definición

La clase StringBuffer dispone de muchos métodos para modificar el contenido de los objetos StringBuffer. Si el contenido de una cadena va a ser modificado en un programa, habrá que sacrificar el uso de objetos String en beneficio de StringBuffer, que aunque consumen más recursos del sistema, permiten ese tipo de manipulaciones.

Ejemplo:

Se puede crear un StringBuffer vacío de cualquier longitud y también se puede utilizar un String como punto de partida para un StringBuffer.

Volver al principio

Clase Math

Definición

La clase Math representa la librería matemática de Java. Las funciones que contiene son las de todos los lenguajes, parece que se han metido en una clase solamente a propósito de agrupación, por eso se encapsulan en Math, y lo mismo sucede con las demás clases que corresponden a objetos que tienen un tipo equivalente (Character, Float, etc.). El constructor de la clase es privado, por los que no se pueden crear instancias de la clase. Sin embargo, Math es public para que se pueda llamar desde cualquier sitio y static para que no haya que inicializarla.

Ejemplo:

Volver al principio

Clase Arrays

Definición

Un array es un medio de guardar un conjunto de objetos de la misma clase. Se accede a cada elemento individual del array mediante un número entero denominado índice. 0 es el índice del primer elemento y n-1 es el índice del último elemento, siendo n, la dimensión del array.

Ejemplo:

Volver al principio

Introducción al tratamiento de ficheros en Java. E/S java.io.

Definición

Define la entrada/salida en términos de streams Un stream es una secuencia ordenada de datos Tienen: una fuente = streams de entrada o un destino = streams de salida El paquete java.io tiene dos partes principales: Stream de caracteres (caracteres Unicode de 16 bits) Stream de bytes (8 bits)

E/S puede estar basada: En texto: streams de caracteres legibles Ejemplo: el código fuente de un programa En datos: streams de datos binarios Ejemplo: patrón de bits de una imagen Los streams de caracteres se utilizan en la E/S basada en texto. Se denominan lectores (reader) y escritores (writer) Los streams de bytes se utilizan en la E/S basada en datos. Se denominan streams de entrada y streams de salida

Ejemplo:

Volver al principio

Introducción a la programación de escritorio. AWT/SWING.

Definición

El Abstract Windows Toolkit es una colección de clases orientadas a la construcción de interfaces gráficas de usuario (GUI) en Java.

Los componentes son aquella serie de objetos que pueden formar parte de nuestra interfaz como botones, menús, barras de desplazamiento, cajas, áreas de texto... Los componentes tienen que estar situados obligatoriamente en un contenedor de componentes (container). Los eventos son una forma de comunicar al programa todo lo que el usuario, mediante el ratón y el teclado, esta realizando sobre los componentes.

Ejemplo:

Volver al principio

Herramientas CASE para el desarrollo de artefactos SW en Java

Definición

Las herramientas CASE son diversas aplicaciones informáticas destinadas a aumentar la productividad en el desarrollo de software reduciendo el costo de las mismas en términos de tiempo y de dinero. Estas herramientas pueden ayudar en todos los aspectos del ciclo de vida de desarrollo del software en tareas como el proceso de realizar un diseño del proyecto, cálculo de costos, implementación de parte del código automáticamente con el diseño dado, compilación automática, documentación o detección de errores entre otras. Existe gran variedad de estas, no siendo unas mejores o peores que otras, simplemente cada aplicación es mas ideal o menos para cada parte del proceso de software. Vamos a hablar un poco sobre algunas de estas herramientas, las más utilizadas hoy en día.

Comunicación

GatherSpace:

Herramienta para la gestión de la fase de análisis del proyecto. El trabajo con ella se realiza a través de su pagina web.

Planeación

Intecplan:

Intecplan® 3 es un software que sirve para Elaborar un "Proyecto de Inversión" o "Plan de Negocios" competitivo, de forma fácil y práctica.

Modelado

CE4WEB:

La herramienta propuesta en este trabajo es un editor UML colaborativo síncrono de diagramas, con una interfaz WYSIWIG. Se trata pues de una aplicación multiusuario para generar diagramas en tiempo real, lo que conlleva una serie de requisitos como: respuesta inmediata, tiempos de notificación cortos y la implementación de un sistema de soporte a la colaboración que proporcione los servicios de comunicación, coordinación, control de concurrencia y consistencia de datos básicos para permitir el proceso de colaboración síncrona.

Construcción

Netbeans:

Es un entorno de desarrollo integrado libre, hecho principalmente para el lenguaje de programación Java. Existe además un número importante de módulos para extenderlo. NetBeans IDE es un producto libre y gratuito sin restricciones de uso.

Despliegue

Jsmooth:

JSmooth es un contenedor de ejecutables de Java. Crea lanzadores nativos de Windows (.exe) para sus aplicaciones realizado en el lenguaje de programación Java. Esto hace que la implementación sea mucho más suave y fácil de usar, ya que es capaz de encontrar cualquier maquina virtual instalado por sí mismo.

Volver al principio

  • Indice

  •