java

Post on 26-May-2015

5.093 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Java

Orientación a Objetos

• OO es un paradigma de modelación y programación

• Idea principal: modelar los problemas lo mas cercanos al contexto en el que ocurren y

• Hacer un programa siguiendo esta modelación.• Conceptos fundamentales (iniciales):

– Clases– Objetos

Clases y Objetos

• Lo más simple es verlo con ejemplos:

• Clase: Persona

• Objetos: Juan, Alberto, Julia

• Clase: Perro

• Objetos: Boby, Lazy, Benji

• Clase: País

• Objetos: Chile, Australia, Afganistán

• Clase: Computador• Objetos: ....• Clase: Automóvil• Objetos: ....• Clase: Figura Geométrica• Objetos: .....• Clase: Animal• Objetos: ....

Clases y propiedades

• Un objeto que pertenece a una clase se llama instancia de esa clase.

• Si un objeto A es una instancia de la clase C diremos que A es de• tipo C.• Todos los objetos (o instancias) de una misma clase comparten• ciertos atributos.• Clase: Persona• Atributos: nombre, sexo, fecha de nacimiento, estatura ....• Clase: Perro• Atributos: raza, color de pelo, sexo, ....• Clase: País• Atributos: nombre, área, número de habitantes, ...

Distintos objetos (de una misma clase) pueden tener distintos valores en estos atributos:

• Clase: Persona• Objeto: Iván Zamorano (el ex-futbolista)• Atributos:• nombre: Iván Zamorano• sexo: masculino• estatura: 1,80 metros• ....• Clase: Perro• Objeto: Cachupín (el perro de mi vecino)• Atributos:• raza: no definida• color de pelo: negro • sexo: macho• ....

• Dos objetos de una misma clase pueden tener exactamente los mismos valores para todos sus atributos pero ser objetos distintos.

• Por ejemplo pueden existir dos personas distintas que se llamen Iván Zamorano, de sexo masculino, que midan 1,80

• mts, ....• Los valores de los atributos NO definen la identidad de

un Objeto.• Los valores de los atributos definen el estado del objeto

Ejercicios: Objetos y Atributos

• Clase: Curso

• Clase: Alumno

• Clase: Universidad

• Clase: Computadora

• Clase: Automóvil

• Clase: Figura Geométrica

• Clase: Animal

Operaciones, métodos sobre objetos

• Se pueden realizar operaciones o métodos sobre objetos (instancias) de una clase, para modificar su estado.

• Por ejemplo:

• Cambiarle el nombre a una persona

• Asignar un nuevo curso a un alumno

• Eliminar a un alumno un curso que tenia asignado

• Estos métodos son intrínsecos a la Clase, o sea, pueden ser• aplicadas a cualquier objeto de la clase.

• Note que estos métodos deben recibir parámetros (el nuevo• nombre, el nuevo curso, el curso a eliminar)

• Existen otros métodos que nos permiten consultar por el• estado de un objeto

• o por cierta información que puede ser derivada de los• atributos...

• Por ejemplo:• Cuál es el nombre de una persona• Cuál es la edad de una persona• Tiene un alumno algún curso asignado• Cuántos cursos tiene asignado un alumno• Cuántos créditos en total tiene un alumno• Estas operaciones son intrínsecas a la Clase, o sea, pueden ser• aplicadas a cualquier objeto de la clase.

• Note que estos métodos entregan resultados.

Clases en Java

• class NombreClase• {• Atributos de la clase• ...• Metodo Constructor de la clase• Metodos de la clase• ...• }

• En JAVA todas las clases comienzan su definición con la palabra reservada class seguido del nombre de la clase

• Le siguen los atributos de la clase (que tendrán valores para las distintas instancias)

• El constructor (o constructores)

• Los métodos de la clase.

Atributos de la clase

• class Pais

• {

• String nombre;

• double area;

• int cantidadHabitantes;

• ....

• }

Métodos

• public valor_retorno nombre_metodo(...parametros...)

• {

• código del método

• .....

• }

• MUY IMPORTANTE: el nombre del método constructor debe ser el mismo nombre del la clase y NO se debe especificar valor de retorno para el constructor.

Comentarios

• Comentarios

• 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 */

Tipos de elementos en Java

• Enteros:

• byte 8 bits

• short 16 bits

• int 32 bits

• long 64 bits

• Reales en coma flotante:

• float 32 bits

• double 64 bits

• Booleanos:– true – False

• Caracteres: a \t

• Cadenas:

• Por ejemplo: "Esto es una cadena literal"

Iniciando Java

• En su forma más simple, una aplicación en Java es una definición de clase, que se ejecuta del primer { al último }

class Nombre{   public static void main (String [] args)   {       enunciados   }}

• Los métodos están hechos de instrucciones y expresiones, que están hechas de operadores.

Una instrucción es un comando que hace que algo ocurra. Ejemplos:

int age = 30;System.out.println (“Hola”);

Una instrucción finaliza con el carácter ;

Primer programa en Java

• public class Hola{   public static void main (String [] args)   {       System.out.println ("Hola");       System.out.println ("Bienvenidos a Java");   }}

Declaración del método main

• public : Define alcance público. static : Quiere decir que no necesita instancia de clase. void : El método principal main no retorna valor (numérico). main : Nombre por defecto del programa principal (obligatorio). String arg[ ] : Parámetro opcional para pasar argumentos (datos) desde la línea de comandos.

• System : Colección (paquete) de clases out : Clase de salida estándar de datos println : Método que escribe en pantalla y luego hace un salto de línea

Creando el primer programa

• Deberá guardar este archivo con el mismo nombre de la clase y terminación .java.

• Por ejemplo la primera clase se llama Hola, por lo tanto deberá guardarse en el archivo:

Hola.java• Se sugiere que la primera letra sea mayúscula

para distinguir las clases.

• Para compilar un programa fuente escriba el comando javac seguido del nombre del archivo del programa fuente. Continuando con el ejemplo anterior deberá escribir el siguiente comando en el prompt de la máquina:

javac Hola.java

• Si el compilador detecta algún error deberá de editar el archivo fuente, corregir el error y nuevamente compilar. Podría suceder que este proceso de edición y compilación se tenga que repetir en más de una ocasión.

• Durante la compilación se genera un archivo que contiene el código de bytes y que se llama igual que la clase pero con terminación .class. Así, si no existe un error de compilación en el ejemplo anterior se generará el siguiente archivo:

Hola.class

Diferencia entre print y println

• import java.io.*;• public class Diferencia• // Clase Programa que muestra la diferencia entre print y println• {• public static void main (String [] args)• {• System.out.print ("En sus marcas ...");• System.out.print ("Listos ...");• System.out.println ("Fuera ...");• System.out.println ("");• System.out.println ("El ganador es ....");• }• }

String

• Una cadena de caracteres es un objeto en Java, definido en la clase String y está delimitado por comillas (“ ...”)El operador de concatenación es +.Las cadenas también pueden concatenarse con números.Debido a que el operador + también es de adición aritmética, si uno o dos de los operandos del + son cadenas, se realiza la concatenación.

• import java.io.*;

• public class Hechos• {• public static void main (String [] args)• {• int edad2, edad = 22;• • System.out.println ("Algunos hechos cotidianos\n"+"que pueden servir para su conocimiento

extracurricular");• System.out.println ();

• // cadena que contiene dígitos numéricos• System.out.println ( "Numero de letras en el alfabeto hawaiano: 12");• //cadenas concatenadas con valores numéricos• System.out.println ("Codigo LADA de la Antartida " + 672);• System.out.println ("A/o en que Leonardo da Vinci invento el paracaidas: " +1515);• System.out.println(“La edad es: ” + edad);• edad2=++edad;• System.out.println(“La edad 2 es: “ + edad2); • }//fin main• }// fin Hechos

• Secuencias de escapeSirven para representar caracteres especialesInician con \ que indica debe tener una interpretación especial

Secuencia de Escape Significado

\b backspace

\t tab

\n new line

\" doble comilla

\' comillasencilla

\\ backslash

• public class Naranjas• {• public static void main (String [] args)• {• System.out.println ("\"¿Quien me compra una naranja\n\t para

mi consolacion\n" +• "una naranja madura\n\ten forma de corazon? \"" +• "\n\t\t\t Jose Gorostiza");• }• }

• public class Shirt{

• public int codigoshirt=0;• public String descripcion="Camisa blanca manga corta";

• …• public void desplegarinfo(){

• System.out.println("Codigo camisa: " + codigoshirt);• System.out.println("Descripcion camisa: " + descripcion);

• …• }// Fin metodo desplegarinfo

• }// Fin class shirt

• public class TestShirt{

• public static void main (String Args []){

• Shirt myshirt= new Shirt();

• myshirt.desplegarinfo();

• }• }

Ejercico

• 1) Traducir a Java el siguiente algoritmo

• a) Se quiere determinar si un número es par o impar

• Para ello asignar valores enteros a una variable num

• ALGORITMO• ---------• FUNCION par(num :

entero) : boolean• INICIO• SI (MOD(num/2) == 0)

ENTONCES• RETORNAR true• SINO• RETORNAR false• FIN SI• FIN //fin par

• INICIO• Inicializar num de tipo entero a 23• • SI (par(num) == true)

ENTONCES• escribir “El numero: “ + num +

“es par”• SINO• escribir “El numero: “ + num +

“es impar”• FIN SI• FIN// ALGORITMO

• public class NumeroPar {

• public static boolean par(int num)• {• if (num % 2 == 0)• {• return true;• }• else• {• return false;• }• }// Fin metodo par

• public static void main(String[] args) {

• int num=23;

• • if ( par(num))• • System.out.println(" El número: " + num + " es par");• else • System.out.print(" El número: " + num + " es impar"+ "\n");• • } // Fin metodo main

• } // Fin class

top related