oob

50
ESTRUCTURA DE UN PROGRAMA ORIENTADO A OBJETOS

Upload: henry-pautrat-e

Post on 22-Oct-2015

13 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: OOB

ESTRUCTURA DE UNPROGRAMA

ORIENTADO A OBJETOS

Page 2: OOB

Java implementa la tecnología básica de C++ con algunas mejoras y eliminaalgunas cosas para mantener el objetivo de la simplicidad del lenguaje. Javatrabaja con sus datos como objetos y con interfaces a esos objetos. Soporta lastres características propias del paradigma de la orientación a objetos:encapsulación, herencia y polimorfismo.Las aplicaciones de Java resultan extremadamente seguras, ya que no acceden azonas delicadas de memoria o de sistema, con lo cual evitan la interacción deciertos virus. Java no posee una semántica específica para modificar la pila deprograma, la memoria libre o utilizar objetos y métodos de un programa sin losprivilegios del kernel del sistema operativo. Además, para evitar modificacionespor parte de los crackers de la red, implementa un método ultraseguro deautentificación por clave pública. El Cargador de Clases puede verificar una firmadigital antes de realizar una instancia de un objeto. Por tanto, ningún objeto secrea y almacena en memoria, sin que se validen los privilegios de acceso. Es decir,la seguridad se integra en el momento de compilación, con el nivel de detalle y deprivilegio que sea necesario

Page 3: OOB

El SDK de Java (JSDK) se proporciona gratuitamente desde la web de SUN.

http://java.sun.com/j2se/1.4.2/download.html

Las herramientas que trae el SDK y que más utilizaremos son:• java (ejecutable): Ejecuta cualquier programa compilado de Java• javac (compilador): Compilará el código fuente escrito en Java.

Una vez hecho esto, abrimos la consola, Inicio > Ejecutar > cmd y ya deberían estardisponibles los comandos "java" y "javac".

Page 4: OOB

/** Ejemplo de estructura en Java *Mostramos en pantalla la palabra HOLA ALUMNOS**/

/*la clase principal llamada ProgramaUno */Public class ProgramaUno{ public static void main(string args[]){//parte que se ejecuta el programaSystem.out.println(“HOLA ALUMNOS”);

Import java.*;

Page 5: OOB

En Java hay tres tipos de comentarios:

// comentarios para una sola línea/* comentarios de una o más líneas *//** comentario de documentación, de una o más líneas */

Los dos primeros tipos de comentarios son los que todo programador conoce y seutilizan del mismo modo. Los comentarios de documentación, colocadosinmediatamente antes de una declaración (de variable o función), indican que esecomentario ha de ser colocado en la documentación que se generaautomáticamente cuando se utiliza la herramienta de Java, javadoc.

Page 6: OOB

Los identificadores nombran variables, funciones, clases y objetos; cualquier cosa que el programador necesite identificar o usar.En Java, un identificador comienza con una letra, un subrayado (_) o un símbolo dedólar ($). Los siguientes caracteres pueden ser letras o dígitos. Se distinguen lasmayúsculas de las minúsculas y no hay longitud máxima.

Serían identificadores válidos:identificador

nombre_usuario Nombre_Usuario _variable_del_sistema $transacciony su uso sería, por ejemplo:int contador_principal; char _lista_de_ficheros; float $cantidad_en_Ptas;

Page 7: OOB

Las siguientes son las palabras clave que están definidas en Java y que no se pueden utilizar como identificadores:abstract continue for new Switch

boolean default goto null synchronizedbreak do if package thisbyte double implements private threadsafebyvalue else import protected throwcase extends instanceof public transientcatch false int return true Char final interface short tryclass finally long static voidConst float native super while

Además, el lenguaje se reserva unas cuantas palabras más, pero que hasta ahora no tienen un cometido específico. Son:Cast future generic inner operator outer rest var

Page 8: OOB

Los separadores admitidos en Java son:

() - paréntesis. Para contener listas de parámetros en la definición y llamada a métodos.También se utiliza para definir precedencia en expresiones, contener expresiones paracontrol de flujo y rodear las conversiones de tipo.{} - llaves. Para contener los valores de matrices inicializadas automáticamente. También seutiliza para definir un bloque de código, para clases, métodos y ámbitos locales.[] - corchetes. Para declarar tipos matriz. También se utiliza cuando se referencian valores dematriz.; - punto y coma. Separa sentencias., - coma. Separa identificadores consecutivos en una declaración de variables. También seutiliza para encadenar sentencias dentro de una sentencia for.. - punto. Para separar nombres de paquete de subpaquetes y clases. También se utiliza paraseparar una variable o método de una variable de referencia.

Page 9: OOB

Todo en Java forma parte de una clase, es una clase o describe como funciona una clase.El conocimiento de las clases es fundamental para poder entender los programas Java.

Todas las acciones de los programas Java se colocan dentro del bloque de una clase o unobjeto. Todos los métodos se definen dentro del bloque de la clase, Java no soportafunciones o variables globales. Así pues, el esqueleto de cualquier aplicación Java se basaen la definición de una clase.

Todos los datos básicos, como los enteros, se deben declarar en las clases antes de haceruso de ellos. De hecho son pocas las sentencias que se pueden colocar fuera del bloquede una clase. La palabra clave import (equivalente al #include) puede colocarse alprincipio de un fichero, fuera del bloque de la clase. Sin embargo, el compiladorreemplazará esa sentencia con el contenido del fichero que se indique, que consistirá,como es de suponer, en más clases.

Page 10: OOB

Los tipos de clases que podemos definir son:

abstract Una clase abstract tiene al menos un método abstracto. Una clase abstracta nose instancia, sino que se utiliza como clase base para la herencia.

final Una clase final se declara como la clase que termina una cadena de herencia. No sepuede heredar de una clase final. Por ejemplo, la clase Math es una clase final.

public Las clases public son accesibles desde otras clases, bien sea directamente o porherencia. Son accesibles dentro del mismo paquete en el que se han declarado. Paraacceder desde otros paquetes, primero tienen que ser importadas.

synchronizable Este modificador especifica que todos los métodos definidos en la claseson sincronizados, es decir, que no se puede acceder al mismo tiempo a ellos desdedistintos threads (hilos); el sistema se encarga de colocar los flags necesarios para evitarlo.Este mecanismo hace que desde threads diferentes se puedan modificar las mismasvariables sin que haya problemas de que se sobreescriban.

Page 11: OOB

Todo programa en Java debe tener al menos una clase (principal) que se declara usandola palabra reservada CLASS y se debe definir un método denominado main. Esto porquecuando se ejecuta el programa primero se ejecuta el método main de la claseProgramaUno.

/*la clase principal llamada ProgramaUno */Public class ProgramaUno{ public static void main(string args[]){//parte que se ejecuta el programaSystem.out.println(“HOLA ALUMNOS”);

La palabra reservada PUBLIC indica que se exporta al exterior. Se debe guardar comoProgramaUno.java

La sintaxis para declarar un método es:

<modificadores><tipo devuelto><nombre del metodo> (<parametros>){<cuerpo del metodo>}

El metodo main llama al metodo que escribe en pantalla

Page 12: OOB

El IDE o Entorno Integrado de Desarrollo es una herramienta que permite elaborar,compilar y ejecutar los programas. Existen varios IDE para JAVA, entre los mas conocidos:JCREATOR , ECLIPSE, etc.Describirémos JCREATOR :

Botón Inicio, luego programasy damos clic a JCREATOR

Page 13: OOB
Page 14: OOB

Escribimos el programa lo compilamos con el comando BUILD. COMPILE FILESi existen errores se muestran en la parte inferior y cuando todo este corregidoSe muestra el mensaje PROCESS COMPLETED.

Page 15: OOB
Page 16: OOB
Page 17: OOB
Page 18: OOB
Page 19: OOB
Page 20: OOB
Page 21: OOB

Para grabar con otro nombre

Para abrir archivos

Page 22: OOB

Existen en todo lenguaje de programación, en java 8 tipos de datos primitivos ointegrados:, por lo general se tiene: Numéricos, tipo carácter y tipo cadena

Los datos numéricos, representan cantidades, se utilizan para operaciones matemáticas,pero con la salvedad que estos tipos incluyen tanto números positivos y negativos. Asítenemos:Tipo de dato : ENTERO - PRIMITIVO• byte, que almacena 1 byte de memoria (8 bits); rango de -127 a 127. tipo de datos byte se puede

utilizar para ahorrar memoria en grandes arrays, donde el ahorro de memoria realmente importa.

• short, que almacena 2 byte de memoria (16 bits); rango de -32 768 a 32 768 . puede utilizarshort para ahorrar memoria en grandes arrays

• int, que almacena 4 byte de memoria (32 bits) rango de -2147683648 a 2147683647. Este tipo dedato normalmente será lo suficiente grande para los números que su programa vaya a utilizar

• long, que almacena 8 byte de memoria (64 bits). De -9223372056859775808 a -9223372056859775807. Utilice este tipo de dato cuando necesite un rango de valores más amplioque el proporcionado por int.

TIPO NUMERICO

Ejemplos: 0 1 -1 29 035 0x1d 29L

Page 23: OOB

Tipo de dato : REALES , COMA FLOTANTE – PRIMITIVO

• Float, que almacena 4 byte de memoria (32 bits); un bit para el signo, 8 para elexponente y 23 para el contenido. , se recomienda usar un float (en vez de un double)si necesita ahorrar memoria en grandes array de números en coma flotante.

• Double, que almacena 8 byte de memoria (64 bits); un bit para el signo, 11 para elexponente y 52 para el contenido. Normalmente este tipo de dato es la elecciónpredeterminada para valores decimales.

TIPO NUMERICO

Ejemplos: 24. 2.4e1 .24e2 0.0

Page 24: OOB

Tipo de dato : CHAR – PRIMITIVO

• Char, que almacena 2 byte de memoria (16 bits); El tipo de dato char es un solocarácter Unicode de 16 bits. Tiene un valor mínimo de '\u0000' (o «0») y un máximo de'\uffff' (o 65.535 inclusive). Sirven para representar letras, dígitos, signos, etc. y vanentre comillas o apostrofes

TIPO CARACTER

Ejemplos: ‘a’ ‘A’ ‘\n’ ‘\t’

Tipo de dato : BOOLEAN – PRIMITIVO

• Boolean, El tipo de dato boolean solamente tiene dos valores posibles: true(verdadero) y false (falso). Utilice este tipo de datos como conmutadores para laevaluación de condiciones verdadero/falso. Este tipo de dato representa un bit deinformación, pero su «tamaño» es algo que no está definido con precisión.

TIPO BOOLEANO

Ejemplos: true false

Page 25: OOB

Las comillas no forman parte de la cadena

Page 26: OOB
Page 27: OOB
Page 28: OOB

Además de los ocho tipos de dato primitivos enumerados más arriba, el lenguaje deprogramación Java también proporciona soporte especial para cadenas de caracteresmediante la clase java.lang.String. Al encerrar una cadena de caracteres entre comillasdobles automáticamente se creará un nuevo objeto de tipo String, por ejemplo:String s = "esto es una cadena";.

Los objetos String son inmutables, lo que significa que, una vez creados, sus valores no sepueden cambiar.La clase String técnicamente no es un tipo de dato primitivo, pero si tenemos en cuenta eltrato especial que le da el lenguaje, probablemente tenderá a pensar en ella como tal.

Page 29: OOB
Page 30: OOB
Page 31: OOB

No siempre es necesario asignar un valor cuando se declara un campo. El compilador fijaun valor predeterminado razonable para los campos que se declaran pero no soninicializados. En general, este valor será cero o null, dependiendo del tipo de dato. Sinembargo, fiarse de estos valores predeterminados se considera una mala costumbre en laprogramación.

Page 32: OOB

Para declarar los datos se requiere utilizar variables que deben ser declaradas al inicio delprograma. Una variable es un nombre que se asocia con una porción de la memoria delordenador, en la que se guarda el valor asignado a dicha variable.Todas las variables han de declararse antes de usarlas, la declaración consiste en unasentencia en la que figura el tipo de dato y el nombre que asignamos a la variable. Unavez declarada se le podrá asignar valores. Java tiene tres tipos de variables:

de instancia - de clase - locales

Las variables de instancia o miembros dato como veremos más adelante, se usan paraguardar los atributos de un objeto particular.Las variables de clase o miembros dato estáticos son similares a las variables deinstancia, con la excepción de que los valores que guardan son los mismos para todos losobjetos de una determinada clase.En el siguiente ejemplo, PI es una variable de clase y radio es una variable de instancia. PIguarda el mismo valor para todos los objetos de la clase Circulo, pero el radio de cadacírculo puede ser diferente.

Page 33: OOB

Las variables locales se utilizan dentro de las funciones miembro o métodos. En elsiguiente ejemplo área es una variable local a la función calcular Area en la que se guardael valor del área de un objeto de la clase Circulo. Una variable local existe desde elmomento de su definición hasta el final del bloque en el que se encuentra.

En el lenguaje Java, las variables locales se declaran en el momento en el que sonnecesarias. Es una buena costumbre inicializar las variables en el momento en el queson declaradas. Veamos algunos ejemplos de declaración de algunas variables

Page 34: OOB

Son las ordenes que se le da a la computadora para realice alguna acción. Todas lasinstrucciones deben terminar con un punto y coma.

instrucción;

Se pueden tener instrucciones compuestas o bloques de instrucciones, los cuales soniniciados y terminados con paréntesis.

{instrucción1;instrucción2;…….instrucciónN;

}

Page 35: OOB

Los operadores aritméticos permiten realizar operaciones entre datos declarados comovariables.

Los operadores unariosLos operadores unarios solamente necesitan un operando; realizan diferentesoperaciones como incrementar o decrementar un valor en una unidad, negar unaexpresión o invertir el valor de un booleano.

Page 36: OOB

Los operadores aritméticos (binarios)

El lenguaje de programación Java proporciona operadores que realizan la suma, resta,multiplicación y división. Probablemente los reconozca por sus homólogos en lamatemática básica. El único símbolo que le podrá parecer nuevo es «%», que divide unoperando por el otro y devuelve el resto como su resultado.

Page 37: OOB

Los operadores de comparación (binarios)

Un operador de comparación compara dos valores y determina la relación existente entreambos. Por ejemplo, el operador != devuelve verdadero (true) si los dos operandos sondistintos. La siguiente tabla resume los operadores de comparación de Java

Ejemplo: A<B será FALSO

Page 38: OOB

Java soporta cinco operadores condicionales, mostrados en la siguiente tabla:

Page 39: OOB

Los operadores de bit (binarios)

Operadores de desplazamiento de bits

Operadores de lógica de bits

Page 40: OOB

La siguiente tabla muestra los operadores de atajo de asignación y sus equivalentes largos:

El operador de asignación sencilloUno de los operadores más habituales que se encontrará es el operador de asignaciónsencillo «=». Ejemplo:

Page 41: OOB

Cuando en una sentencia aparecen varios operadores el compilador deberá de elegir enqué orden aplica los operadores. A esto se le llama precedencia.

Page 42: OOB

Nos permiten mostrar datos por los dispositivos de salida de datos.

System.out

Este objeto implementa la salida estándar. Los métodos que nos proporciona para controlar la salida son:

print(a): Imprime a en la salida, donde a puede ser cualquier tipo básico Java ya que Java hace su conversión automática a cadena. Ejm.

System.out.print("El valor de A es" + A);

println(a): Es idéntico a print(a) salvo que con println() se imprime un salto de línea al final de la impresión de a.Ejm

System.out.println("Hola Mundo");

Page 43: OOB

Se maneja como el ingreso de un flujo de datos desde una fuente como teclado u otroarchivo.

Flujo de datos de entrada se declara asi:InputStreamReader isr= new InputStreamReader(System.in);BufferedReader e= new BufferedReader(isr);

e: Variable que representara el flujo.

Flujo de datos de entrada se declara también de esta forma mas corta.BufferedReader e= new BufferedReader(new InputStreamReader(System.in));

Para evitar errores se manejan excepciones que van al final de la declaración mainpalabras: THROWS IOEXCEPTION

public static void main(String arg[])throws IOException

Page 44: OOB

Los métodos para ingresar datos en java son los siguientes:

var=System.in.read() Ingreso de números enterosvar_byte=Byte.parseByte(e.readLine()); Ingreso de datos Bytevar_short=Short.parseShort(e.readLine()); Ingreso de datos Shortvar_int=Integer.parseInt(e.readLine()); Ingreso de datos Intvar_long=Long.parseLong(e.readLine()); Ingreso de datos Longvar_float=Float.parseFloat(e.readLine()); Ingreso de datos floatvar_doublet=Double.parseDouble(e.readLine()); Ingreso de datos doublevar_string=e.readLine(); Ingreso para cadenas de texto

Page 45: OOB
Page 46: OOB
Page 47: OOB
Page 48: OOB
Page 49: OOB

Se realiza todo el modelaje, especificando desde la ENTRADA a la SALIDA y elALGORITMO y se lleva a código de JAVA para ejecutar el programa.

DATOS SALIDA la Suma de 2 números ingresados, en la variable S

DATOS ENTRADA 2 números enteros con variables A, B ingresados por teclado

EJEMPLO Elaborar un programa para sumar 3 números enteros ingresados por teclado ymostrarlos por pantalla.

ALGORTIMO • Ingresar numero A • Ingresar número B• Sumar ambos números ---- S=A+B• Mostrar el valor S por pantalla

Page 50: OOB

//ingreso de 2 números y mostrar la sumatoriaimport java.io.*;public class programa1 {

public static void main (String[] args) throws IOException{//se declara el flujo de entrada de caracteres para la variable eInputStreamReader isr=new InputStreamReader(System.in);BufferedReader e=new BufferedReader(isr);int A,B,S; //se declaran las variables//Ingreso de los dos númerosSystem.out.print("Ingresar un numero entero: ");A=Integer.parseInt(e.readLine());System.out.print("Ingresar segundo entero: ");B=Integer.parseInt(e.readLine());// Se calcula la SumatoriaS=A+B;//Se muestra por pantalla esta sumatoriaSystem.out.println("La sumatoria de: "+A+" + "+B+" Es: "+S);

}}