Tema 7.- Fundamentos de la Programación Orientada a Objetos

Tamaño: px
Comenzar la demostración a partir de la página:

Download "Tema 7.- Fundamentos de la Programación Orientada a Objetos"

Transcripción

1 Tema 7.- Fundamentos de la Programación Orientada a Objetos 7 de enero de 2014 Objetivos Saber definir clases propias. Saber crear objetos de una clase determinada e interactuar con ellos (Problema 1). Saber añadir constructores a nuestras clases y saber instanciar objetos de acuerdo a los constructores existentes (Problema 2). Entender el mecanismo de la encapsulación, saber ocultar métodos y/o atributos mediante el modificador private y saber añadir métodos get y set para acceder a atributos privados (Problema 2). Entender las diferencias entre variables básicas y variables referencia. Saber comparar objetos de un mismo tipo (Problemas 3, 5 y 6). Saber implementar métodos que reciban o devuelvan objetos (Problemas 4, 5, 6 y 7). Saber trabajar con vectores de objetos (Problema 7). Entender la sobrecarga de métodos y constructores (Problema 8). Entender los conceptos básicos de la herencia y la sobreescritura de métodos. Problemas resueltos A continuación se muestran algunos problemas resueltos en Java que cubren los objetivos anteriores. 1. Escribe una clase que permita representar números complejos y realizar operaciones básicas con ellos (mostrarlos por pantalla, cálcular el módulo y la fase). Escribe a continuación un programa principal que cree dos objetos de tipo Complejo, les asigne valores, los muestre por pantalla, y obtenga el módulo y la fase de cada uno de ellos. 1 import java. u t i l. Scanner ; 2 import java. u t i l. Locale ; 3 4 public class Complejo { 5 // Atributos 6 public double r e a l ; 7 public double imag ; 8 9 // Metodos 10 public double modulo ( ) { 11 return Math. s q r t ( r e a l r e a l + imag imag ) ; 12 } 1

2 13 14 public double f a s e ( ) { 15 return Math. atan ( imag/ r e a l ) ; 16 } public void mostrar ( ) { 19 System. out. p r i n t l n ( r e a l + " + " + imag + "i" ) ; 20 } 21 } public c l a s s EjemploComplejo { 24 public static void main ( S t r i n g [ ] args ) { // Creamos l o s o b j e t o s c1 y c2 27 Complejo c1 = new Complejo ( ) ; 28 Complejo c2 = new Complejo ( ) ; // Pedimos v a l o r e s y l o s almacenamos en l o s o b j e t o s 31 System. out. p r i n t ( " Introduce parte real del primer numero complejo: " ) ; 32 c1. r e a l = t e c. nextdouble ( ) ; 33 System. out. p r i n t ( " Introduce parte imaginaria del primer numero complejo: " ) ; 34 c1. imag = t e c. nextdouble ( ) ; // Pedimos v a l o r e s para c2 y creamos e l o b j e t o 37 System. out. p r i n t ( " Introduce parte real del segundo numero complejo: " ) ; 38 c2. r e a l = t e c. nextdouble ( ) ; 39 System. out. p r i n t ( " Introduce parte imaginaria del segundo numero complejo: " ) ; 40 c2. imag = t e c. nextdouble ( ) ; // Mostrar c1, su modulo y su f a s e 43 c1. mostrar ( ) ; 44 System. out. p r i n t l n ( "Modulo = " + c1. modulo ( ) ) ; 45 System. out. p r i n t l n ( "Fase = " + c1. f a s e ( ) ) ; // Mostrar c2, su modulo y su f a s e 48 c2. mostrar ( ) ; 49 System. out. p r i n t l n ( "Modulo = " + c2. modulo ( ) ) ; 50 System. out. p r i n t l n ( "Fase = " + c2. f a s e ( ) ) ; 51 } 52 } 2. Realiza las modificaciones necesarios en el programa anterior para que: Los atributos real y imag no puedan ser accedidos directamente desde el programa principal. El acceso a los atributos se pueda hacer a través de métodos públicos get y set. En la instanciación (creación) del objeto se pueda especificar el valor de los atributos real y imag (esto es, que exista un constructor adecuado que pueda recibir como parámetro estos valores). 2

3 1 import java. u t i l. Scanner ; 2 import java. u t i l. Locale ; 3 4 public class Complejo { 5 // Atributos 6 private double r e a l ; 7 private double imag ; 8 9 // Constructor 10 public Complejo ( double r, double i ) { 11 r e a l = r ; 12 imag = i ; 13 } // Metodos 16 public void s e t R e a l ( double r ) { r e a l = r ; } public double getreal ( ) { return r e a l ; } public void setimag ( double i ) { imag = i ; } public double getimag ( ) { return imag ; } public double modulo ( ) { 25 return Math. s q r t ( r e a l r e a l + imag imag ) ; 26 } public double f a s e ( ) { 29 return Math. atan ( imag/ r e a l ) ; 30 } public void mostrar ( ) { 33 System. out. p r i n t l n ( r e a l + " + " + imag + "i" ) ; 34 } 35 } public c l a s s EjemploComplejo { 38 public static void main ( S t r i n g [ ] args ) { 39 Scanner t e c = new Scanner ( System. in ). uselocale ( Locale. US) ; // Pedimos v a l o r e s para c1 y creamos e l o b j e t o 42 System. out. p r i n t ( " Introduce parte real del primer numero complejo: " ) ; 43 double r = t e c. nextdouble ( ) ; 44 System. out. p r i n t ( " Introduce parte imaginaria del primer numero complejo: " ) ; 45 double i = t e c. nextdouble ( ) ; 46 Complejo c1 = new Complejo ( r, i ) ; // Pedimos v a l o r e s para c2 y creamos e l o b j e t o 49 System. out. p r i n t ( " Introduce parte real del segundo numero complejo: " ) ; 50 r = t e c. nextdouble ( ) ; 3

4 51 System. out. p r i n t ( " Introduce parte imaginaria del segundo numero complejo: " ) ; 52 i = t e c. nextdouble ( ) ; 53 Complejo c2 = new Complejo ( r, i ) ; // Mostrar c1, su modulo y su f a s e 56 c1. mostrar ( ) ; 57 System. out. p r i n t l n ( "Modulo = " + c1. modulo ( ) ) ; 58 System. out. p r i n t l n ( "Fase = " + c1. f a s e ( ) ) ; // Mostrar c2, su modulo y su f a s e 61 c2. mostrar ( ) ; 62 System. out. p r i n t l n ( "Modulo = " + c2. modulo ( ) ) ; 63 System. out. p r i n t l n ( "Fase = " + c2. f a s e ( ) ) ; 64 } 65 } 3. Indicar lo que mostraría por pantalla la ejecución del siguiente programa: 1 public class Contacto { 2 private S t r i n g nombre ; 3 private S t r i n g ; 4 private S t r i n g t e l e f o n o ; 5 6 // Constructor 7 public Contacto ( S t r i n g nom, S t r i n g em, S t r i n g t e l ) { 8 nombre = nom ; 9 = em ; 10 t e l e f o n o = t e l ; 11 } // Metodos get y s e t 14 public void setnombre ( S t r i n g nom ) { nombre = nom ; } 15 public S t r i n g getnombre ( ) { return nombre ; } 16 public void set ( S t r i n g em ) { = em ; } 17 public S t r i n g get ( ) { return ; } 18 public void s e t T e l e f o n o ( S t r i n g t e l ) { t e l e f o n o = t e l ; } 19 public S t r i n g g e t T e l e f o n o ( ) { return t e l e f o n o ; } // Metodo mostrar 22 public void mostrar ( ) { 23 System. out. p r i n t l n ( "Nombre: " + nombre ) ; 24 System. out. p r i n t l n ( " " + ) ; 25 System. out. p r i n t l n ( "Telefono: " + t e l e f o n o ) ; 26 System. out. p r i n t l n ( "======================" ) ; } 29 } public c l a s s EjemploContactos { 32 public static void main ( S t r i n g [ ] args ) { 33 Contacto c1 = new Contacto ( " Luis Garcia", " lgarcia@gmail. com", " " ) ; 4

5 34 Contacto c2 = c1 ; 35 c2. setnombre ( "Jose Luis Garcia" ) ; 36 c2. set ( "jlgarcia@gmail.com" ) ; System. out. p r i n t l n ( "Contacto 1" ) ; 39 c1. mostrar ( ) ; 40 System. out. p r i n t l n ( "Contacto 2" ) ; 41 c2. mostrar ( ) ; 42 i f ( c1 == c2 ) 43 System. out. p r i n t l n ( "Los contactos 1 y 2 son iguales" ) ; 44 else 45 System. out. p r i n t l n ( "Los contactos 1 y 2 son distintos" ) ; Contacto c3 = new Contacto ( " Jose Luis Garcia", " jlgarcia@gmail.com", " " ) ; 48 System. out. p r i n t l n ( "Contacto 3" ) ; 49 c3. mostrar ( ) ; 50 i f ( c2 == c3 ) 51 System. out. p r i n t l n ( "Los contactos 2 y 3 son iguales" ) ; 52 else 53 System. out. p r i n t l n ( "Los contactos 2 y 3 son distintos" ) ; 54 } 55 } SOLUCIÓN: Contacto 1 Nombre: Jose Luis Garcia jlgarcia@gmail.com Telefono: ====================== Contacto 2 Nombre: Jose Luis Garcia jlgarcia@gmail.com Telefono: ====================== Los contactos 1 y 2 son iguales Contacto 3 Nombre: Jose Luis Garcia jlgarcia@gmail.com Telefono: ====================== Los contactos 2 y 3 son distintos 4. Tenemos definida la clase Punto del siguiente modo: public class Punto { private int x, y; public Punto (int coordx, int coordy) { x = coordx; y = coordy; } public int getx() { return (x); } public int gety() { return (y); } } 5

6 Se pretende definir una clase que trabaje con rectas. Como sabemos, una recta r puede representarse mediante la ecuación Ax + By + C = 0, donde, en nuestro problema, los coeficientes A, B y C serán números enteros. La pendiente de la recta r se define como m r = A/B. Se pide crear la clase Recta con los atributos necesarios y las siguientes operaciones: El constructor, que recibirá como parámetros los coeficientes que definen una recta. Un método que calcule la pendiente. Un método que permita saber si dos rectas son paralelas (dos rectas son paralelas si sus pendientes son iguales). Un método que permita saber si dos rectas son perpendiculares (dos rectas r y s son perpendiculares si m r = 1/m s ). Un método que permita saber si un punto (representado mediante un objeto de la clase Punto) pertenece a una recta (un punto (x, y) pertenece a una recta si Ax + Bx + C = 0). 1 public class Recta { 2 // Atributos 3 private int A, B, C; 4 5 // Constructor 6 public Recta ( int a, int b, int c ) { 7 A = a ; B = b ; C = c ; 8 } 9 10 // Metodos 11 double pendiente ( ) { return (A/B) ; } boolean contienepunto ( Punto p ) { 14 int r ; 15 r = A p. getx ( ) + B p. gety ( ) + C; 16 return ( r==0) ; 17 } boolean p a r a l e l a ( Recta otra ) { 20 return ( pendiente ( ) == otra. pendiente ( ) ) ; 21 } boolean p e r p e n d i c u l a r ( Recta otra ) { 24 return ( pendiente ( ) == (1/ otra. pendiente ( ) ) ) ; 25 } 26 } 5. Añadir un método a la clase Complejo del problema 2 que permita comparar si dos números complejos son iguales, y otro que permita realizar la suma entre complejos. Los métodos deberán ser compatibles con el siguiente programa principal: public static void main(string [] args) { Complejo c1 = new Complejo(2,3); Complejo c2 = new Complejo(2,3); Complejo c3 = c1.suma(c2); // Suma de complejos if( c1.equlas(c2) ) // Comparación de complejos System.out.println("Los complejos c1 y c2 son iguales"); } 6

7 1 public class Complejo { 2 // Atributos 3 private double r e a l ; 4 private double imag ; 5 6 // Constructor 7 public Complejo ( double r, double i ) { 8 r e a l = r ; 9 imag = i ; 10 } // Metodo para comparar dos complejos 13 public boolean e q u a l s ( Complejo c ) { 14 i f ( r e a l == c. r e a l && imag == c. imag ) 15 return true ; 16 else 17 return f a l s e ; 18 } // Metodo para sumar dos complejos 21 public Complejo suma ( Complejo c ) { 22 Complejo r e s = new Complejo ( r e a l+c. r e a l, imag+c. imag ) ; 23 return r e s ; 24 } 25 } 6. Añadir un método a la clase Contacto del problema 3 que permita comparar si dos contactos son iguales. 1 public class Contacto { 2 private S t r i n g nombre ; 3 private S t r i n g ; 4 private S t r i n g t e l e f o n o ; 5 6 // Constructor 7 public Contacto ( S t r i n g nom, S t r i n g em, S t r i n g t e l ) { 8 nombre = nom ; 9 = em ; 10 t e l e f o n o = t e l ; 11 } // Metodos para comparar dos c o n t a c t o s 14 public boolean e q u a l s ( Contacto c ) { 15 i f ( nombre. e q u a l s ( c. nombre ) && e q u a l s ( c. ) && 17 t e l e f o n o. e q u a l s ( c. t e l e f o n o ) ) 18 return true ; 19 else 20 return f a l s e ; 21 } 22 } 7

8 7. Partiendo de la clase Contacto definida en el problema 3, crear una clase Agenda que permita almacenar un conjunto de contactos. La clase Agenda deberá disponer de métodos ue nos permitan: Añadir un nuevo contacto. Buscar un contacto (a partir del nombre). Modificar el de un contacto. Modificar el telefono de un contacto. Borrar un contacto. Mostrar todos los contactos de la agenda. La clase Agenda deberá ser compatible con el sigiente programa: 1 public class Agenda { 2 // Atributos 3 private Contacto [ ] v ; // Vector que almacena l o s c o n t a c t o s 4 5 // Constructores 6 public Agenda ( ) { 7 // Crea una agenda con capacidad para 1000 c o n t a c t o s 8 // I n i c i a l m e n t e todas l a s r e f e r e n c i a s contienen e l v a l o r n u l l 9 v = new Contacto [ ] ; 10 } public Agenda ( int maxcontactos ) { 13 // Crea una agenda con capacidad para maxcontactos 14 // I n i c i a l m e n t e todas l a s r e f e r e n c i a s contienen e l v a l o r n u l l 15 v = new Contacto [ maxcontactos ] ; 16 } // Metodos 19 / 20 Busca una p o s i c i o n l i b r e ( n u l l ) en e l v e c t o r y devuelve dicha p o s i c i o n, 21 o 1 s i e s t a todo ocupado 22 / 23 private int buscarhueco ( ) { 24 int pos = 0 ; 25 while ( pos < v. l e n gth && v [ pos ]!= null ) 26 pos++; 27 i f ( pos < v. l e n g t h ) 28 return pos ; 29 else 30 return 1; 31 } / 34 I n s e r t a un nuevo contacto en l a agenda. La i n s e r c i o n se r e a l i z a en l a primera 35 p o s i c i o n l i b r e que se encuentre en e l v e c t o r 36 / 37 public boolean i n s e r t a r ( Contacto c ) { 8

9 38 int hueco = buscarhueco ( ) ; 39 i f ( hueco!= 1 ) { 40 v [ hueco ] = c ; 41 return true ; 42 } 43 else 44 return f a l s e ; 45 } / 48 Busca un contacto a p a r t i r d e l nombre 49 / 50 public Contacto buscar ( S t r i n g nombre ) { 51 for ( int i = 0 ; i < v. length ; i++) { 52 i f ( v [ i ]!= null ) 53 i f ( nombre. e q u a l s ( v [ i ]. getnombre ( ) ) ) 54 return v [ i ] ; // Devuelve e l contacto de l a p o s i c i o n i 55 } 56 return null ; // No se ha encontrado e l contacto 57 } / 60 Dado e l nombre de un contacto, modifica su 61 / 62 public boolean modificar ( S t r i n g nom, S t r i n g em ) { 63 Contacto c = buscar (nom) ; 64 i f ( c!= null ) { 65 c. set (em) ; 66 return true ; 67 } 68 else 69 return f a l s e ; 70 } / 73 Dado e l nombre de un contacto, modifica su t e l e f o n o 74 / 75 public boolean m o d i f i c a r T e l e f o n o ( S t r i n g nom, S t r i n g t e l ) { 76 Contacto c = buscar (nom) ; 77 i f ( c!= null ) { 78 c. s e t T e l e f o n o ( t e l ) ; 79 return true ; 80 } 81 else 82 return f a l s e ; 83 } / 86 Borra de l a agenda todos l o s c o n t a c t o s con e l nombre dado. 87 / 88 public boolean borrar ( S t r i n g nom ) { 89 boolean borrado = f a l s e ; 90 for ( int i = 0 ; i < v. length ; i++) { 9

10 91 i f ( v [ i ]!= null && nom. e q u a l s ( v [ i ]. getnombre ( ) ) ) { 92 v [ i ] = null ; // Borra e l contacto 93 borrado = true ; 94 } 95 } 96 return borrado ; 97 } / 100 Muestra todos l o s c o n t a c t o s de l a agenda 101 / 102 public void mostrar ( ) { 103 for ( int i = 0 ; i < v. length ; i++) { 104 i f ( v [ i ]!= null ) 105 v [ i ]. mostrar ( ) ; 106 } 107 } 108 } SOLUCIÓN: 1 import java. u t i l. Scanner ; 2 3 public c l a s s EjemploAgenda { 4 static Scanner t e c = new Scanner ( System. in ) ; 5 public static void main ( S t r i n g [ ] args ) { 6 S t r i n g nom, em, t e l ; 7 Contacto cont ; 8 int opc ; 9 boolean ok ; // Creamos nuestra agenda 12 Agenda ag = new Agenda ( ) ; do { 15 opc = menu ( ) ; 16 switch ( opc ) { 17 case 1 : 18 System. out. p r i n t ( "Nombre: " ) ; 19 nom = t e c. nextline ( ) ; 20 System. out. p r i n t ( " " ) ; 21 em = t e c. nextline ( ) ; 22 System. out. p r i n t ( "Telefono: " ) ; 23 t e l = t e c. nextline ( ) ; 24 cont = new Contacto (nom, em, t e l ) ; 25 ok = ag. i n s e r t a r ( cont ) ; 26 i f (! ok ) 27 System. out. p r i n t l n ( "Agenda llena" ) ; 28 break ; 29 case 2 : 30 System. out. p r i n t ( "Nombre: " ) ; 31 nom = t e c. nextline ( ) ; 32 cont = ag. buscar (nom) ; 10

11 33 i f ( cont!= null ) 34 cont. mostrar ( ) ; 35 else 36 System. out. p r i n t l n ( "No se ha encontrado ningun contacto con nombre " + nom) ; 37 break ; 38 case 3 : 39 System. out. p r i n t ( "Nombre del contacto a modificar: " ) ; 40 nom = t e c. nextline ( ) ; 41 System. out. p r i n t ( "Nuevo " ) ; 42 em = t e c. nextline ( ) ; 43 ok = ag. modificar (nom, em) ; 44 i f (! ok ) 45 System. out. p r i n t l n ( "No se ha encontrado ningun contacto con nombre " + nom) ; 46 break ; 47 case 4 : 48 System. out. p r i n t ( "Nombre del contacto a modificar: " ) ; 49 nom = t e c. nextline ( ) ; 50 System. out. p r i n t ( "Nuevo telefono: " ) ; 51 t e l = t e c. nextline ( ) ; 52 ok = ag. m o d i f i c a r T e l e f o n o (nom, t e l ) ; 53 i f (! ok ) 54 System. out. p r i n t l n ( "No se ha encontrado ningun contacto con nombre " + nom) ; 55 break ; 56 case 5 : 57 System. out. p r i n t ( "Nombre del contacto a borrar: " ) ; 58 nom = t e c. nextline ( ) ; 59 ok = ag. b orrar (nom) ; 60 i f (! ok ) 61 System. out. p r i n t l n ( "No se ha encontrado ningun contacto con nombre " + nom) ; 62 break ; 63 case 6 : 64 ag. mostrar ( ) ; 65 break ; 66 case 7 : 67 System. out. p r i n t l n ( "Adios" ) ; 68 break ; 69 default : System. out. p r i n t l n ( "Opcion incorrecta" ) ; 70 } 71 } while ( opc!= 7 ) ; 72 } public static int menu ( ) { 75 System. out. p r i n t l n ( "1. Insertar contacto" ) ; 76 System. out. p r i n t l n ( "2. Buscar contacto" ) ; 77 System. out. p r i n t l n ( "3. Modificar " ) ; 78 System. out. p r i n t l n ( "4. Modificar telefono" ) ; 79 System. out. p r i n t l n ( "5. Borrar contacto" ) ; 80 System. out. p r i n t l n ( "6. Mostrar todos los contactos" ) ; 81 System. out. p r i n t l n ( "7. Salir" ) ; 82 int opc = t e c. nextint ( ) ; 11

12 83 t e c. nextline ( ) ; // Vaciamos b u f f e r de t e c l a d o 84 return opc ; 85 } 86 } 8. Modificar la clase Complejo del problema 2 para que permita: Sobrecargar el constructor para que permita crear complejos con valores inicializados por defecto a 1,0 y crear complejos a partir de otro número complejo. Sobrecargar el método suma para que permita sumar un escalar al número complejo. 1 public class Complejo { 2 // Atributos 3 private double r e a l ; 4 private double imag ; 5 6 // Constructores 7 public Complejo ( double r, double i ) { 8 r e a l = r ; 9 imag = i ; 10 } 11 public Complejo ( ) { 12 r e a l = 1 ; 13 imag = 0 ; 14 } 15 public Complejo ( Complejo c ) { 16 r e a l = c. r e a l ; 17 imag = c. imag ; 18 } // Metodo para sumar dos complejos 21 Complejo suma ( Complejo c ) { 22 Complejo r e s = new Complejo ( r e a l+c. r e a l, imag+c. imag ) ; 23 return r e s ; 24 } // Metodo para sumar un e s c a l a r a un complejo 27 Complejo suma ( double x ) { 28 Complejo r e s = new Complejo ( r e a l+x, imag+x ) ; 29 return r e s ; 30 } 31 } 12

Ejercicios de Programación Tema 7. Programación Orientada a Objetos

Ejercicios de Programación Tema 7. Programación Orientada a Objetos Ejercicios de Programación Tema 7. Programación Orientada a Objetos 22 de diciembre de 2013 1. Haz una clase llamada Agenda para manejar una agenda de teléfonos. Los objetos instanciados a partir de esa

Más detalles

1. Cuántas sentencias hay en la secuencia principal del siguiente programa?

1. Cuántas sentencias hay en la secuencia principal del siguiente programa? 1. Cuántas sentencias hay en la secuencia principal del siguiente programa? public class PruebaSwitch { System.out.print ("Opcion: "); case 3: System.out.println ("miércoles "); A. 1. B. 4. C. Más de 10.

Más detalles

Unidad Didáctica 2. Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones

Unidad Didáctica 2. Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones Unidad Didáctica 2 Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión 1.0.3 Índice

Más detalles

Tema 2. El lenguaje JAVA

Tema 2. El lenguaje JAVA Tema 2. El lenguaje JAVA Nomenclatura habitual Variables Tipos de variables Tipos primitivos Referencias Arrays Operadores Operadores de Java Precedencia de operadores Sentencias de control Sentencias

Más detalles

Carlos Montenegro. Programación Orientada a Objetos Proyecto Curricular de Ingeniería de Sistemas

Carlos Montenegro. Programación Orientada a Objetos Proyecto Curricular de Ingeniería de Sistemas 2 - Introducción al lenguaje Java, identificadores y comentarios. Carlos Montenegro Programación Orientada a Objetos Proyecto Curricular de Ingeniería de Sistemas 1. Introducción: Java tiene como todos

Más detalles

Variables. Una variable no es más que un nombre simbólico que identifica una dirección de memoria: vs.

Variables. Una variable no es más que un nombre simbólico que identifica una dirección de memoria: vs. Variables Una variable no es más que un nombre simbólico que identifica una dirección de memoria: Suma el contenido de la posición 3001 y la 3002 y lo almacenas en la posición 3003 vs. total = cantidad1

Más detalles

PROGRAMACIÓN EN C#.NET Programación Orientada a Objetos en C# Ing. Bruno López Takeyas

PROGRAMACIÓN EN C#.NET Programación Orientada a Objetos en C# Ing. Bruno López Takeyas PROGRAMACIÓN EN C#.NET Programación Orientada a Objetos en C# Ing. Bruno López Takeyas Instituto Tecnológico de Nuevo Laredo 1 Qué es UML? UML = Unified Modeling Language Un lenguaje de propósito general

Más detalles

TECNICAS DE PROGRAMACION Universidad Católica Los Angeles de Chimbote METODOS CONSTRUCTORES Y LA REFERENCIA THIS

TECNICAS DE PROGRAMACION Universidad Católica Los Angeles de Chimbote METODOS CONSTRUCTORES Y LA REFERENCIA THIS METODOS CONSTRUCTORES Y LA REFERENCIA THIS Un Constructor es una función, método, etc, de las clases, la cual es llamada automáticamente cuando se crea un objeto de esa clase. Por ser métodos, los constructores

Más detalles

Tema: Arreglos de Objetos en C++.

Tema: Arreglos de Objetos en C++. Programación II. Guía 5 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación II Tema: Arreglos de Objetos en C++. Objetivos Específicos Describir la implementación de arreglos de Objetos.

Más detalles

PROGRAMACIÓN ORIENTADA A OBJETOS (L40629) Sabino Miranda-Jiménez

PROGRAMACIÓN ORIENTADA A OBJETOS (L40629) Sabino Miranda-Jiménez PROGRAMACIÓN ORIENTADA A OBJETOS (L40629) Sabino Miranda-Jiménez Elementos de lenguaje: Identificadores Tipos de datos 2 Tipos de datos primitivos 3 Tipos de datos referenciados Clases Interfaces Arrays

Más detalles

Ficheros de acceso aleatorio

Ficheros de acceso aleatorio Ficheros de acceso aleatorio Los ficheros con los que hemos trabajado hasta ahora (ya sean ficheros de texto o ficheros binarios con objetos serializados) no resultan adecuados para muchas aplicaciones

Más detalles

La sintaxis básica para definir una clase es la que a continuación se muestra:

La sintaxis básica para definir una clase es la que a continuación se muestra: DEFINICIÓN DE CLASES Y OBJETOS EN C# Sintaxis de definición de clases La sintaxis básica para definir una clase es la que a continuación se muestra: class nombreclase miembros De este modo se definiría

Más detalles

Tema: Clases y Objetos en C#. Parte II.

Tema: Clases y Objetos en C#. Parte II. Programación II. Guía No. 5 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación II Tema: Clases y Objetos en C#. Parte II. Objetivos Implementar clases, objetos, propiedades, métodos y

Más detalles

Introducción a Java LSUB. 30 de enero de 2013 GSYC

Introducción a Java LSUB. 30 de enero de 2013 GSYC Introducción a Java LSUB GSYC 30 de enero de 2013 (cc) 2013 Laboratorio de Sistemas, Algunos derechos reservados. Este trabajo se entrega bajo la licencia Creative Commons Reconocimiento - NoComercial

Más detalles

CLASES QUE UTILIZAN OBJETOS. RELACIÓN DE USO ENTRE CLASES JAVA. CONCEPTO DE DIAGRAMA DE CLASES. (CU00641B)

CLASES QUE UTILIZAN OBJETOS. RELACIÓN DE USO ENTRE CLASES JAVA. CONCEPTO DE DIAGRAMA DE CLASES. (CU00641B) APRENDERAPROGRAMAR.COM CLASES QUE UTILIZAN OBJETOS. RELACIÓN DE USO ENTRE CLASES JAVA. CONCEPTO DE DIAGRAMA DE CLASES. (CU00641B) Sección: Cursos Categoría: Curso Aprender programación Java desde cero

Más detalles

Conceptos a tratar. Fundamentos de la Programación Orientada a Objetos Ampliación sobre clases y objetos

Conceptos a tratar. Fundamentos de la Programación Orientada a Objetos Ampliación sobre clases y objetos Fundamentos de la Programación Orientada a Objetos Ampliación sobre clases y objetos Programación Orientada a Objetos Facultad de Informática Dep. Ingeniería del Software e Inteligencia Artificial Universidad

Más detalles

Centro Asociado Palma de Mallorca. Antonio Rivero Cuesta

Centro Asociado Palma de Mallorca. Antonio Rivero Cuesta Centro Asociado Palma de Mallorca Antonio Rivero Cuesta La Sintaxis de Java I... 5 Tipos de datos... 6 Tipos de datos simples... 7 Operadores... 11 Operadores Aritméticos... 12 Operadores relacionales...

Más detalles

Derechos de Acceso: COMPOSICION

Derechos de Acceso: COMPOSICION CLASES Una clase es un tipo definido por el usuario que describe los atributos y los métodos de los objetos que se crearan a partir de la misma. class nombre_clase cuerpo de la clase Derechos de Acceso:

Más detalles

FACULTAD DE INGENIERÍA

FACULTAD DE INGENIERÍA NOMBRE DEL PROFESOR: Ing. Héctor Manuel Quej Cosgaya NOMBRE DE LA PRÁCTICA: Estructuras de decisión PRÁCTICA NÚM. [ 5 ] LABORATORIO: MATERIA: UNIDAD: TIEMPO: Centro de Ingeniería Computacional Lenguaje

Más detalles

LA ESTRUCTURA DE DATOS PILA EN JAVA. CLASE STACK DEL API JAVA. EJEMPLO Y EJERCICIOS RESUELTOS. (CU00923C)

LA ESTRUCTURA DE DATOS PILA EN JAVA. CLASE STACK DEL API JAVA. EJEMPLO Y EJERCICIOS RESUELTOS. (CU00923C) APRENDERAPROGRAMAR.COM LA ESTRUCTURA DE DATOS PILA EN JAVA. CLASE STACK DEL API JAVA. EJEMPLO Y EJERCICIOS RESUELTOS. (CU00923C) Sección: Cursos Categoría: Lenguaje de programación Java nivel avanzado

Más detalles

Unidad II. Fundamentos de programación en Java. Ing. José Luis Llamas Cárdenas

Unidad II. Fundamentos de programación en Java. Ing. José Luis Llamas Cárdenas Unidad II Fundamentos de programación en Java Ing. José Luis Llamas Cárdenas En java para poder escribir se emplea el objeto System.out, t pero para leer del teclado es necesario emplear System.in Et Este

Más detalles

INTELIGENCIA EN REDES DE COMUNICACIONES PRÁCTICA FINAL. Ignacio Ribas Ramos Miguel Flecha Lozano Ingeniería de Telecomunicaciones

INTELIGENCIA EN REDES DE COMUNICACIONES PRÁCTICA FINAL. Ignacio Ribas Ramos Miguel Flecha Lozano Ingeniería de Telecomunicaciones INTELIGENCIA EN REDES DE COMUNICACIONES PRÁCTICA FINAL BLACKJACK Ignacio Ribas Ramos Miguel Flecha Lozano Ingeniería de Telecomunicaciones 1. Explicación del juego de cartas del Blackjack El Blackjack

Más detalles

Clase adicional 2. Estructuras básicas de control. Temas

Clase adicional 2. Estructuras básicas de control. Temas Clase adicional 2 Temas Estructuras de control Sentencia condicional Iteración Clases Definir una clase Crear una instancia de una clase Campos estáticos Problemas de la clase adicional Problema de diseño

Más detalles

Ejercicios de evaluación de fundamentos de programación en Java

Ejercicios de evaluación de fundamentos de programación en Java Ejercicios de evaluación de fundamentos de programación en Java Jorge Martínez Ladrón de Guevara Editorial EME ISBN 978-84-96285-40-8 Contenido 1. Introducción a Java... 1 Test de evaluación...1 Ejercicios...4

Más detalles

Tema 9. Algoritmos sobre listas. Programación Programación - Tema 9: Algoritmos sobre listas

Tema 9. Algoritmos sobre listas. Programación Programación - Tema 9: Algoritmos sobre listas Tema 9 Algoritmos sobre listas Programación 2015-2016 Programación - Tema 9: Algoritmos sobre listas 1 Tema 9. Algoritmos sobre listas Algoritmos sobre Arrays. Búsqueda. Inserción. Ordenación. Programación

Más detalles

Test : Conteste exclusivamente en una HOJA DE LECTURA ÓPTICA, no olvidando marcar que su tipo de examen es A.

Test : Conteste exclusivamente en una HOJA DE LECTURA ÓPTICA, no olvidando marcar que su tipo de examen es A. SISTEMAS INFORMÁTICOS I Junio 2003 INGENIERÍA EN INFORMÁTICA - Código Carrera 55 - Código Asignatura 077 Tipo de Examen: A NO SE PERMITE EL USO DE NINGÚN MATERIAL Tiempo: 2 horas Apellidos: Nombre: DNI:

Más detalles

Java Básico. Métodos estáticos

Java Básico. Métodos estáticos Java Básico Métodos estáticos Agregando métodos estáticos En un programa es deseable separar los algoritmos y asignarles un nombre. Cada algoritmo separado será llamado método. Cuando no necesitamos crear

Más detalles

TEMA 3. CLASES. EJERCICIOS

TEMA 3. CLASES. EJERCICIOS TEMA 3. CLASES. EJERCICIOS EJERCICIO 1 Considere la siguiente clase: public class IdentifyMyParts { public static int x = 7; public int y = 3; a. Cuáles son las variables de clase? b. Cuáles son las variables

Más detalles

Tema 6. Gestión dinámica de memoria

Tema 6. Gestión dinámica de memoria Tema 6. Gestión dinámica de memoria http://aulavirtual.uji.es José M. Badía, Begoña Martínez, Antonio Morales y José M. Sanchiz {badia, bmartine, morales, sanchiz@icc.uji.es Estructuras de datos y de la

Más detalles

Boletín 7 Herencia. String Titular; Nombre del dueño de la cuenta double Saldo: Dinero disponible en la cuenta

Boletín 7 Herencia. String Titular; Nombre del dueño de la cuenta double Saldo: Dinero disponible en la cuenta Boletín 7 Herencia Ejercicio 1: Dentro de un sistema bancario que ya está funcionando disponemos de una clase CUENTA, los datos que guarda dicha clase son los siguientes: String Titular; Nombre del dueño

Más detalles

Arreglos Unidimensionales En este tipo de arreglo se hace uso de un índice solamente para hacer referencia a una posición particular del arreglo.

Arreglos Unidimensionales En este tipo de arreglo se hace uso de un índice solamente para hacer referencia a una posición particular del arreglo. Arreglos (Arrays) en Java Definición: Un arreglo es un objeto contenedor que consiste de una cantidad fija de posiciones o celdas para almacenar valores del mismo tipo en ellas. Cada posición o celda del

Más detalles

RESUMEN DE CONCEPTOS BASICOS DE PROGRAMACION JAVA

RESUMEN DE CONCEPTOS BASICOS DE PROGRAMACION JAVA UNED Centro Asociado de Cádiz RESUMEN DE CONCEPTOS BASICOS DE PROGRAMACION JAVA 1. OBJETOS Cualquier elemento del programa es un objeto. Un programa es un conjunto de objetos que se comunican entre sí

Más detalles

5. Sentencias selectivas o condicionales

5. Sentencias selectivas o condicionales 60 A. García-Beltrán y J.M. Arranz 5. Sentencias selectivas o condicionales Objetivos: a) Describir el funcionamiento de las sentencias selectivas o condicionales (if-else y switch) b) Interpretar el resultado

Más detalles

Metodología y Tecnología de la Programación

Metodología y Tecnología de la Programación Tema 4. Abstracción procedimental y de datos 1. Cuál es el error del siguiente programa? import java.util.scanner; class Respuesta{ static Scanner leer=new Scanner(System.in); int valor = lectura(); System.out.println(valor);

Más detalles

Para leer la entrada de consola, lo primero que se hace es construir un Scanner que este asociado al flujo de entrada estándar System.

Para leer la entrada de consola, lo primero que se hace es construir un Scanner que este asociado al flujo de entrada estándar System. CICLO: 01/2010 Universidad Don Bosco Materia: Lenguaje de Programación III Contenido: 1-Lectura de Datos de entrada. 2-Introduccion a JOPTIONPANE. 3-Estructuras de Control. ->LECTURA DE DATOS DE ENTRADA

Más detalles

Prof. Dr. Paul Bustamante

Prof. Dr. Paul Bustamante Carnet Nombre: Examen C++ Grupo A Informática II Fundamentos de Programación Prof. Dr. Paul Bustamante Pág.1 Índice 1. INTRODUCCIÓN... 1 2. EJERCICIO 1: AGENDA TELEFÓNICA (4.0 PTOS.)...1 3. EJERCICIO 2:

Más detalles

Elementos de un programa en C

Elementos de un programa en C Elementos de un programa en C Un programa en C consta de uno o más archivos. Un archivo es traducido en diferentes fases. La primera fase es el preprocesado, que realiza la inclusión de archivos y la sustitución

Más detalles

Métodos, clases, y objetos

Métodos, clases, y objetos Métodos, clases, y objetos H. Tejeda Febrero 2016 Índice 1. Llamada a métodos y colocación 2 2. Diseño de un método 3 3. Parámetros en los métodos 4 4. Métodos que devuelven un valor 6 5. Clases y objetos

Más detalles

Apunte JAVA + SVN. Emi Höss

Apunte JAVA + SVN. Emi Höss Apunte JAVA + SVN Emi Höss Instalando Eclipse y Java VM Eclipse es la IDE que utilizaremos para programar los TP s de la materia. Puede descargarse de la siguiente página: https://www.eclipse.org/downloads/index.php

Más detalles

TEMA 1. Introducción a la programación. CONSIDERACIONES GENERALES.

TEMA 1. Introducción a la programación. CONSIDERACIONES GENERALES. TEMA 1 Introducción a la programación. CONSIDERACIONES GENERALES. EJERCICIOS AreaTriangulo Escriba un programa que calcule el área de un triángulo rectángulo dadas la altura y la base. El área de un triángulo

Más detalles

Clases en Java. Declaración de clases en Java 02/09/16. Ing. Roberto Martínez Román - public class Alumno { private int matricula;

Clases en Java. Declaración de clases en Java 02/09/16. Ing. Roberto Martínez Román - public class Alumno { private int matricula; Clases en Java ESCRIBIENDO CLASES rmroman@itesm.mx Declaración de clases en Java public class Alumno private int matricula; public void mostrardatos() System.out.println("Matrícula: " + matricula); Firma

Más detalles

Java para programadores

Java para programadores Java para programadores Java y Servicios Web I Master en Ingeniería Matemática Manuel Montenegro Dpto. Sistemas Informáticos y Computación Desp. 467 (Mat) montenegro@fdi.ucm.es Contenidos Variables. Tipos

Más detalles

Práctica 3 mtp. metodoloxía e tecnoloxía da programación. Presentar detalles básicos sobre la sintaxis del lenguaje de programación Java.

Práctica 3 mtp. metodoloxía e tecnoloxía da programación. Presentar detalles básicos sobre la sintaxis del lenguaje de programación Java. Práctica 3 mtp metodoloxía e tecnoloxía da programación Objetivos: Duración: Presentar detalles básicos sobre la sintaxis del lenguaje de programación Java. 1 semana 1.- Identificadores Los identificadores

Más detalles

INICIACIÓN A LA PROGRAMACIÓN LENGUAJE JAVA

INICIACIÓN A LA PROGRAMACIÓN LENGUAJE JAVA INICIACIÓN A LA PROGRAMACIÓN LENGUAJE JAVA Introducción Qué es programar? Idear y ordenar las acciones necesarias para realizar un proyecto (R.A.E) En nuestro contexto: Resolver problemas, Automatizar

Más detalles

Unidad Nº V Listas Enlazadas

Unidad Nº V Listas Enlazadas Instituto Universitario Politécnico Santiago Mariño Unidad Nº V Listas Enlazadas Lista Enlazadas Es una colección o secuencia de elementos dispuestos uno detrás de otro, en la que cada elemento se conecta

Más detalles

Curso Fundamentos de Informática Lección 7. Programación Orientada a Objetos

Curso Fundamentos de Informática Lección 7. Programación Orientada a Objetos Fundamentos de Informática Lección 7. Programación Orientada a Objetos Curso 2010-2011 José Ángel Bañares y Pedro Álvarez 2/11/2010. Dpto. Informática e Ingeniería de Sistemas. Índice de contenidos Implementación

Más detalles

Tutorial básico del entorno de desarrollo Eclipse.

Tutorial básico del entorno de desarrollo Eclipse. Tutorial básico del entorno de desarrollo Eclipse. Arrancar Eclipse. Después de descomprimir la aplicación, dar doble clic sobre el ícono ejecutable para arrancar la aplicación. En caso de que se presente

Más detalles

Lenguajes de Programación Curso 04-05. Práctica 4. Herencia. Utilización de interfaces y clases abstractas. 1. Interfaces 1. 2. Clases abstractas 2

Lenguajes de Programación Curso 04-05. Práctica 4. Herencia. Utilización de interfaces y clases abstractas. 1. Interfaces 1. 2. Clases abstractas 2 Objetivos Herencia. Utilización de interfaces y clases abstractas. Índice 1. Interfaces 1 2. Clases abstractas 2 3. Collections Framework 3 3.1. Collection........................................... 3

Más detalles

La clase estándar Scanner

La clase estándar Scanner La clase estándar Scanner La clase Scanner de Java provee métodos para leer valores de entrada de varios tipos y está localizada en el paquete java.util. Los valores de entrada pueden venir de varias fuentes,

Más detalles

Aplicaciones de Escritorio

Aplicaciones de Escritorio Aplicaciones de Escritorio Introducción n a la Programación Orientada a Objetos con Java Disertantes: Ing. Rasjido, Jose. AdeS Montenegro, Cristian. Agenda Clases y Paquetes. Clases y Paquetes. Modificadores

Más detalles

Lo que necesitaremos para programar en Java, será un editor de texto o IDE y la JDK.

Lo que necesitaremos para programar en Java, será un editor de texto o IDE y la JDK. Introducción Java surgió en 1991 dentro de la empresa Sun Microsystems como un lenguaje de programación sencillo y universal destinado a electrodomésticos. La reducida potencia de cálculo y memoria de

Más detalles

Introducción a Java (II) Dr. (c) Noé Alejandro Castro Sánchez

Introducción a Java (II) Dr. (c) Noé Alejandro Castro Sánchez Introducción a Java (II) Dr. (c) Noé Alejandro Castro Sánchez Sintaxis de Java Sintaxis Define las reglas que determinar el uso de palabras clave, operadores y variables para construir y evaluar expresiones.

Más detalles

Programación Orientada a Objetos con Java. Elementos Básicos del Lenguaje Java. Creación de un objeto. Creación de un objeto. Creación de un objeto

Programación Orientada a Objetos con Java. Elementos Básicos del Lenguaje Java. Creación de un objeto. Creación de un objeto. Creación de un objeto Programación Orientada a Objetos con Java Rafael Rivera López Elementos Básicos del Lenguaje Java II Ingeniería en Sistemas Computacionales Agosto-Diciembre de 24 Veracruz, Ver. Creación de un objeto Una

Más detalles

Conexión SQL Server y C# (Consola)

Conexión SQL Server y C# (Consola) Conexión SQL Server y C# (Consola) Objetivo: Manejar bases de datos usando SQL Server, creando tablas dentro una base de datos y esto a su vez enlazarlo a una aplicación de C#, haciendo uso del método

Más detalles

15. Parámetros o argumentos

15. Parámetros o argumentos Programación orientada a objetos con Java 161 15. Parámetros o argumentos Objetivos: a) Profundizar en el concepto de parámetro de una clase e indicar su mecanismo de funcionamiento. b) Interpretar el

Más detalles

TEMA 8: Gestión dinámica de memoria

TEMA 8: Gestión dinámica de memoria TEMA 8: Gestión dinámica de memoria 8.1.-Tipo de datos puntero Hasta ahora, los tipos de datos que hemos visto (a excepción de strings y ficheros) eran estructuras de datos estáticas, es decir, estructuras

Más detalles

PROBLEMAS DEL TEMA 7: Subprogramas y Modularidad

PROBLEMAS DEL TEMA 7: Subprogramas y Modularidad PROBLEMAS DEL TEMA 7: Subprogramas y Modularidad EJERCICIOS RESUELTOS 1. Escribe una función que calcule el factorial de un número, dado como parámetro. A continuación realiza un programa que lea por teclado

Más detalles

Ejercicios del tema 7: Clases y objetos

Ejercicios del tema 7: Clases y objetos Metodología y Tecnología de la Programación ESI-UCLM Ejercicios del tema 7: Clases y objetos 1. a) Diseñe e implemente en Java una clase para trabajar con triángulos isósceles. Para ello, defina las variables

Más detalles

/) 0! () 5!2 /)( 1! "!"# 2 ()/ $% $!" !! " #!!!$!!% &!!' ' ' "! ()()/ & $!" ()()(' (!(

/) 0! () 5!2 /)( 1! !# 2 ()/ $% $! !!  #!!!$!!% &!!' ' ' ! ()()/ & $! ()()(' (!( !! " #!!!$!!%!!' ' ' "! ) *)+#)))!(---) ) (. /) 0! /)/#"!"# /)( 1! "!"# /)3 1' 40 () 5! ()/ $% $!" ()(4 ()()/ $!" ()()(' (!( package ejemplos.tema.gestiondefigurasinexcepciones; public class TestituacionesInesperadas

Más detalles

PROGRAMACION ORIENTADA A OBJETOS EN C++

PROGRAMACION ORIENTADA A OBJETOS EN C++ PROGRAMACION ORIENTADA A OBJETOS EN C++ 1- INTRODUCCIÓN El lenguaje C++ representa el resultado de los esfuerzos realizados para proporcionar las ventajas de la programación Orientada a Objetos a un lenguaje

Más detalles

Programación Orientada a Objetos con Java. Elementos Básicos del Lenguaje Java. Relación entre clases. Ejemplo de Clase: Punto !

Programación Orientada a Objetos con Java. Elementos Básicos del Lenguaje Java. Relación entre clases. Ejemplo de Clase: Punto ! Programación Orientada a Objetos con Java Rafael Rivera López Elementos Básicos del Lenguaje Java II Ingeniería en Sistemas Computacionales Agosto-Diciembre de 2004 Veracruz, Ver. Relación entre clases

Más detalles

PRÁCTICA No 4 POO Encapsulación. El alumno conocerá los principios de la encapsulación, y el uso de constructores para la inicialización de datos

PRÁCTICA No 4 POO Encapsulación. El alumno conocerá los principios de la encapsulación, y el uso de constructores para la inicialización de datos Objetivos El alumno conocerá los principios de la encapsulación, y el uso de constructores para la inicialización de datos Introducción En esta práctica se abarcará el concepto de la encapsulación, así

Más detalles

Escuela Politécnica Superior de Elche

Escuela Politécnica Superior de Elche EXAMEN DE SISTEMAS INFORMÁTICOS INDUSTRIALES ((SOLUCIÓN) (TEORÍA)jUJ jhshshs SEPTIEMBRE 2015 1. Indicar si las siguientes afirmaciones son verdaderas o falsas: (a) En C++, una clase derivada puede acceder

Más detalles

FUNDAMENTOS DE PROGRAMACIÓN Curso: 2013/14 EXAMEN PARA ALUMNOS PRESENTADOS AL PRIMER PARCIAL PRIMERA PARTE. EJERCICIO 1 Cuestiones (1 punto)

FUNDAMENTOS DE PROGRAMACIÓN Curso: 2013/14 EXAMEN PARA ALUMNOS PRESENTADOS AL PRIMER PARCIAL PRIMERA PARTE. EJERCICIO 1 Cuestiones (1 punto) EXAMEN PARA ALUMNOS PRESENTADOS AL PRIMER PARCIAL PRIMERA PARTE EJERCICIO 1 Cuestiones (1 punto) 1 2 3 4 5 6 7 8 9 10 Seleccione la opción correcta en cada caso, teniendo en cuenta que tan sólo puede marcar

Más detalles

INTRODUCCIÓN...9 CAPÍTULO 1. ELEMENTOS DE UN PROGRAMA INFORMÁTICO...11

INTRODUCCIÓN...9 CAPÍTULO 1. ELEMENTOS DE UN PROGRAMA INFORMÁTICO...11 Índice INTRODUCCIÓN...9 CAPÍTULO 1. ELEMENTOS DE UN PROGRAMA INFORMÁTICO...11 1.1 PROGRAMA Y LENGUAJESDE PROGRAMACIÓN...12 1.1.1 EL LENGUAJE JAVA...13 1.1.2 EL JDK...15 1.1.3 LOS PROGRAMAS EN JAVA...16

Más detalles

Modulo 11. Clases y Objetos en Java

Modulo 11. Clases y Objetos en Java El siguiente texto es una traducción no oficial del documento publicado por el grupo JEDI, Introduction to Programming 1, no pretende en ningún momento reemplazar los contenidos generados por este grupo.

Más detalles

James Gosling, creador de Java

James Gosling, creador de Java Lo que Java intenta hacer y lo hace con bastante éxito, es abarcar dominios diferentes. De esa forma le permite efectuar trabajos para de aplicaciones del lado del servidor, del lado del cliente, para

Más detalles

EXAMEN PROGRAMACIÓN 21 de Septiembre de 2007 INGENIERÍA INFORMÁTICA Primera parte: Cuestiones 1,5 horas

EXAMEN PROGRAMACIÓN 21 de Septiembre de 2007 INGENIERÍA INFORMÁTICA Primera parte: Cuestiones 1,5 horas Apellidos Nombre Firma NIA Grupo EXAMEN PROGRAMACIÓN 21 de Septiembre de 2007 INGENIERÍA INFORMÁTICA Primera parte: Cuestiones 1,5 horas Pregunta 1 (0,5 puntos).- Indicar si las siguientes afirmaciones

Más detalles

Prácticas de Programación

Prácticas de Programación Prácticas de Programación Tema 1. Introducción al análisis y diseño de programas Tema 3. Herencia y Polimorfismo Tema 4. Tratamiento de errores Tema 5. Aspectos avanzados de los tipos de datos Tema 6.

Más detalles

Partes de un programa en Java. A. Ejemplo de un Programa en Java /* Programa Ejemplo de Java: Muestra una Ventana Archivo: Ejemplo1.

Partes de un programa en Java. A. Ejemplo de un Programa en Java /* Programa Ejemplo de Java: Muestra una Ventana Archivo: Ejemplo1. Partes de un programa en Java A. Ejemplo de un Programa en Java /* class Ejemplo1 { //comienza la clase Ejemplo1. public static void main(string[] args) { // comienza el método main. JFrame miventana;

Más detalles

Java Avanzado Facultad de Ingeniería. Escuela de computación.

Java Avanzado Facultad de Ingeniería. Escuela de computación. 2 Java Avanzado Facultad de Ingeniería. Escuela de computación. Java Avanzado. Guía 5 3 Introducción Este manual ha sido elaborado para orientar al estudiante de Java Avanzado en el desarrollo de sus prácticas

Más detalles

Programa Java. El lenguaje de programación Java. Comentarios. Programa Java. Palabras reservadas. Identificadores

Programa Java. El lenguaje de programación Java. Comentarios. Programa Java. Palabras reservadas. Identificadores El lenguaje de programación Java Programa Java Un programa Java está formado por un conjunto de clases que interactúan entre sí La clase es la unidad básica de programación La ejecución depende de la clase

Más detalles

INTRODUCCIóN A LA PROGRAMACIóN APUNTES DE JAVA APUNTES DE JAVA

INTRODUCCIóN A LA PROGRAMACIóN APUNTES DE JAVA APUNTES DE JAVA APUNTES DE JAVA FUNCIONAMIENTO DE UN PROGRAMA Assembler Ensamblador Ejecuta Programador Programa fuente BASIC Interprete Ejecuta C, C++, Pascal Compilador Compila Ejecuta Programa fuente Programa Objeto

Más detalles

FUNDAMENTOS DE PROGRAMACIÓN. SEPTIEMBRE 2005

FUNDAMENTOS DE PROGRAMACIÓN. SEPTIEMBRE 2005 Dpto. de Ingeniería de Sistemas Telemáticos E.T.S.I. Telecomunicación Universidad Politécnica de Madrid FUNDAMENTOS DE PROGRAMACIÓN. SEPTIEMBRE 2005 Normas de examen: Con libros y apuntes Duración: 2 horas

Más detalles

Introducción al lenguaje Java

Introducción al lenguaje Java Tipo de entrega: Fecha límite: Lugar: Introducción al lenguaje Java por grupos de prácticas sesión de laboratorio Atenea Objetivos de la práctica: Escribir aplicaciones simples en Java Utilizar el entorno

Más detalles

Programación Avanzada para Sistemas de Telecomunicación. Objetos y clases. J.C. Cruellas. Objetos y clases

Programación Avanzada para Sistemas de Telecomunicación. Objetos y clases. J.C. Cruellas. Objetos y clases Programación Avanzada para Sistemas de Telecomunicación Objetos y clases Juan Carlos Cruellas cruellas@ac.upc.es Objetos y clases Concepto de objeto. Concepto de clase. Clases, objetos y programas. Clases

Más detalles

1. Manejo de memoria estática 2. Manejo de memoria dinámica

1. Manejo de memoria estática 2. Manejo de memoria dinámica 1. Manejo de memoria estática 2. Manejo de memoria dinámica *La administración de memoria de una computadora es una tarea fundamental debido a que la cantidad de memoria es limitada. *El sistema operativo

Más detalles

2. Estructura de un programa en Java

2. Estructura de un programa en Java 24 A. García-Beltrán y J.M. Arranz 2. Estructura de un programa en Java Objetivos: a) Describir la estructura del código fuente de una aplicación Java b) Presentar los conceptos de comentario y de identificador

Más detalles

Curso de Java POO: Programación orientada a objetos

Curso de Java POO: Programación orientada a objetos Curso de Java POO: Programación orientada a objetos Luis Guerra l.guerra@upm.es Curso INEM. Programación en Java Marzo 2011 Índice Previo Repaso y encapsulación Empaquetado Relaciones entre clases Herencia

Más detalles

Primer Parcial Septiembre 5 de 2009

Primer Parcial Septiembre 5 de 2009 Primer Parcial Septiembre 5 de 2009 Algoritmos y Lenguajes II Reglas del juego Tal como se le dijo antes, durante este examen usted no puede pedir ABSOLUTAMENTE nada prestado a sus compañeros, ni hablar

Más detalles

class Nombre_Clase extends Nombre_SuperClase { cuerpo de la clase extendida }

class Nombre_Clase extends Nombre_SuperClase { cuerpo de la clase extendida } REUTILIZACIÓN DE CLASES:MODELO DE HERENCIA EN JAVA Java soporta herencia simple pero no múltiple. Lo hace mediante el mecanismo de extensión de clase. A partir de él, una subclase se extiende (hereda)

Más detalles

Destrucción de objetos (I)

Destrucción de objetos (I) Clases y Objetos (3) Presentación basada en: 1. Como Programar en Java. Deitel y Deitel. Ed. Prentice-Hall. 1988 2. Java 2., Curso de programación. Fco. Javier Ceballos. Ed. Alfoomega&RA-MA, 2003. 3. Apuntes

Más detalles

POO en Java IV: Herencia (Parte 1)

POO en Java IV: Herencia (Parte 1) Herencia POO en Java IV: Herencia (Parte 1) Escuela de Ingeniería Industrial Pontificia Universidad Católica de Valparaíso, Chile fguidi@ucv.cl Es la derivación de una clase a partir de otra existente.

Más detalles

11. Algunas clases estándar de Java (II)

11. Algunas clases estándar de Java (II) 122 A. García-Beltrán y J.M. Arranz 11. Algunas clases estándar de Java (II) Objetivos: a) Presentar la clase predefinida en Java para trabajar con arrays b) Interpretar el código fuente de una aplicación

Más detalles

Lección 2: Creando una Aplicación en Java. 1. Estructura del archivo de una clase. 3. Definiendo clases fundamentos

Lección 2: Creando una Aplicación en Java. 1. Estructura del archivo de una clase. 3. Definiendo clases fundamentos Lección 2: Creando una Aplicación en Java 1. Estructura del archivo de una clase 2. Usando una clase 3. Definiendo clases fundamentos Objetivos Conocer: La forma en la cual está se está estructurado el

Más detalles

4. Operadores Operador asignación

4. Operadores Operador asignación Programación orientada a objetos con Java 43 4. Operadores Objetivos: a) Describir los operadores (aritméticos, incrementales, de relación, lógicos y de asignación) y los tipos de dato primitivos sobre

Más detalles

Aquí se declaran los. Aquí se declaran los métodos de la clase. *Atributos de la clase

Aquí se declaran los. Aquí se declaran los métodos de la clase. *Atributos de la clase Programación Orientada a Objetos Implementación en Java Angela C. Carrillo Ramos Agenda Implementación y uso de clases en Java Ejemplo clase CuentaBancaria 1 Ejemplo Diseño Cuenta Bancaria (1) Diseñar

Más detalles

Guía - Taller # 2 (JAVA)

Guía - Taller # 2 (JAVA) CEET - Distrito Capital Programa de Formación: ADSI 150752 TRIMESTRE VI Conocimiento de Conocimiento: Aplicar diversos estilos de Programación usando herramientas para Desarrollo Web Instructor: Ing. Espec.

Más detalles

GENERAR NÚMEROS ALEATORIOS EN JAVA. CLASE RANDOM Y MÉTODO NEXTINT. EJERCICIO EJEMPLO RESUELTO. (CU00672B)

GENERAR NÚMEROS ALEATORIOS EN JAVA. CLASE RANDOM Y MÉTODO NEXTINT. EJERCICIO EJEMPLO RESUELTO. (CU00672B) APRENDERAPROGRAMAR.COM GENERAR NÚMEROS ALEATORIOS EN JAVA. CLASE RANDOM Y MÉTODO NEXTINT. EJERCICIO EJEMPLO RESUELTO. (CU00672B) Sección: Cursos Categoría: Curso Aprender programación Java desde cero Fecha

Más detalles

Universidad Autónoma de Tlaxcala. M.C. José Juan Hernández Mora. Primera Sesión

Universidad Autónoma de Tlaxcala. M.C. José Juan Hernández Mora. Primera Sesión Universidad Autónoma de Tlaxcala Introducción al lenguaje JAVA Primera Sesión 1. Introducción a la programación orientada a objeto 2. Introducción al lenguaje Java 3. Primer programa en Java 4. Primer

Más detalles

Agradecimientos. Nota de los autores. 1 Problemas, algoritmos y programas 1

Agradecimientos. Nota de los autores. 1 Problemas, algoritmos y programas 1 Prologo Agradecimientos Nota de los autores Índice general I III V VII 1 Problemas, algoritmos y programas 1 1.1 Programas y la actividad de la programación.................... 4 1.2 Lenguajes y modelos

Más detalles

16. Herencia Definición de herencia. 168 A. García-Beltrán y J.M. Arranz

16. Herencia Definición de herencia. 168 A. García-Beltrán y J.M. Arranz 168 A. García-Beltrán y J.M. Arranz 16. Herencia Objetivos: a) Definir el concepto de herencia entre clases b) Interpretar el código fuente de una aplicación Java donde aparecen clases relacionadas mediante

Más detalles

Programación orientada a objetos

Programación orientada a objetos Repaso Programación orientada a objetos Curso INEM. Programación en Java Santiago Muelas Pascual smuelas@fi.upm.es! Clase! Objeto! Atributo o variable de instancia! Método! Instanciar/crear un objeto!

Más detalles

INDICE DEL CURSO APRENDER PROGRAMACIÓN JAVA DESDE CERO. PROGRAMACIÓN ORIENTADA A OBJETOS (CU00601B)

INDICE DEL CURSO APRENDER PROGRAMACIÓN JAVA DESDE CERO. PROGRAMACIÓN ORIENTADA A OBJETOS (CU00601B) APRENDERAPROGRAMAR.COM INDICE DEL CURSO APRENDER PROGRAMACIÓN JAVA DESDE CERO. PROGRAMACIÓN ORIENTADA A OBJETOS (CU00601B) Sección: Cursos Categoría: Curso Aprender programación Java desde cero Fecha revisión:

Más detalles

Ficheros y streams. Desde el punto de vista de Java, cada fichero no es más que una secuencia o flujo de bytes [stream].

Ficheros y streams. Desde el punto de vista de Java, cada fichero no es más que una secuencia o flujo de bytes [stream]. Ficheros y streams Desde el punto de vista de Java, cada fichero no es más que una secuencia o flujo de bytes [stream]. Los streams pueden ser de entrada () de salida (). Los ficheros pueden almacenar

Más detalles

www.aprendoencasa.com Curso Introducción JAVA Pág.: 1

www.aprendoencasa.com Curso Introducción JAVA Pág.: 1 www.aprendoencasa.com Curso Introducción JAVA Pág.: 1 Introducción Java es un lenguaje basado en la programación orientada a objetos (POO), este tipo de programación va más allá del tipo de programación

Más detalles

Programación Orientada a Objetos. Java: Excepciones

Programación Orientada a Objetos. Java: Excepciones Programación Orientada a Objetos Java: Excepciones Eduardo Mosqueira Rey Laboratorio de Investigación y desarrollo en Inteligencia Artificial Departamento de Computación Universidade da Coruña, España

Más detalles

PROGRAMACIÓN ORIENTADA A OBJETOS

PROGRAMACIÓN ORIENTADA A OBJETOS PROGRAMACIÓN ORIENTADA A OBJETOS GRADO EN INGENIERÍA INFORMÁTICA SEGUNDO CURSO DEPARTAMENTO DE INFORMÁTICA Y ANÁLISIS NUMÉRICO ESCUELA POLITÉCNICA SUPERIOR UNIVERSIDAD DE CÓRDOBA CURSO ACADÉMICO: 2011

Más detalles

1. Sobrecarga de operadores. 2. Métodos operadores unarios Operador de incremento (prefijo)

1. Sobrecarga de operadores. 2. Métodos operadores unarios Operador de incremento (prefijo) . Sobrecarga de operadores. unarios Operador de incremento (prefijo). Devolución de objetos en los métodos. Retorno por referencia Sobrecarga de operadores Los operadores aceptan uno o varios operandos

Más detalles

TEMA 7: Ficheros. TEMA 7: Ficheros. 7.1.-Concepto de fichero

TEMA 7: Ficheros. TEMA 7: Ficheros. 7.1.-Concepto de fichero TEMA 7: Ficheros 7.1.-Concepto de fichero Todas las estructuras de datos que hemos visto hasta ahora utilizan memoria principal. Esto tiene dos limitaciones importantes: 1. Los datos desaparecen cuando

Más detalles