Java. Clases y Objetos. H. Tejeda V. Universidad Michoacana Facultad de Ciencias Físico-Matemáticas. Java p.

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

Download "Java. Clases y Objetos. H. Tejeda V. Universidad Michoacana Facultad de Ciencias Físico-Matemáticas. Java p."

Transcripción

1 Java Clases y Objetos H. Tejeda V. htejeda@fismat.umich.mx Universidad Michoacana Facultad de Ciencias Físico-Matemáticas Java p. 1

2 Introducción La unidad fundamental del lenguaje de programación Java es la clase. Las clases proporcionan la estructura de los objetos y los mecanismos para fabricar objetos a partir de una definición de clase. Las clases definen métodos. Un método es una colección de código ejecutable y que manipula los datos almacenados en los objetos. Los métodos proporcionan el comportamiento de los objetos de una clase. Java p. 2

3 Programación orientada a objetos Separa estrictamente la noción de qué se va a hacer y de cómo se va a hacer. El que está descrito por un conjunto de métodos y su semántica asociada. La combinación de métodos, datos y semántica se describe como un contrato en el diseñador de la clase y el programador que la utiliza. El contrato define un tipo, de forma que todos los objetos que sean instancias de ese tipo respetan el contrato. Java p. 3

4 Semántica No es suficiente suponer que los métodos declarados en una clase son su contrato completo, la semántica de esas operaciones es también parte del contrato. Dos métodos pueden tener el mismo nombre y los mismos parámetros y lanzar las mismas excepciones, pero no son equivalentes si tienen diferente semántica. El contrato del método, que incluye su signatura y su semántica, define lo que significa. Por ejemplo, no se puede suponer que cualquier método denominado print imprimirá una copia del objeto, ya que alguien puede definirlo con la semántica procesar intervalo o dar prioridad a las no terminales. Java p. 4

5 Acerca del Como El como de un objeto está definido por su clase. La clase define la implementación de los métodos que tiene el objeto. Cada objeto es una instancia de la clase. Cuando se invoca a un método sobre un objeto, se examina la clase para obtener el código que se debe ejecutar. Un objeto puede utilizar a otros objetos para realizar su trabajo. Java p. 5

6 Una Clase Simple Se presenta una clase simple denominada Cuerpo que puede usarse para almacenar datos sobre cuerpos celestes, como cometas, asteroides, planetas y estrellas. class Cuerpo { public long numid; public String nombre; public Cuerpo orbita; public static long sigid = 0; Java p. 6

7 Descripción de Cuerpo Para declarar una clase se usa class, un nombre y proporcionando una lista entre llaves de los miembros de la clase. Una declaracion de clase crea un nombre de tipo por lo que las referencias a objetos de ese tipo se declaran como: Cuerpo mercurio; Con la declaración se indica que mercurio es una variable que puede almacenar una referencia a un objeto de tipo Cuerpo La declaración no crea un objeto. Durante la existencia de mercurio se puede referir a diversos objetos Cuerpo. Java p. 7

8 Miembros de una clase Una clase puede tener tres clases de miembros: Los campos son las variables de datos asociados con una clase y sus objetos. Almacenan el estado de una clase u objeto. Los métodos contienen el código ejecutable de una clase y definen el comportamiento de los objetos. Las clases anidadas e interfaces anidadas son declaraciones de clases o interfaces que aparecen anidadas dentro de la declaración de otra clase o interfaz. Java p. 8

9 Modificadores de clase Una declaración de clase puede estar precedida de modificadores que otorgan ciertas propiedades. public Es públicamente accesible, es decir, cualquiera puede declarar referencias a objetos de la clase o acceder a sus miembro públicos. Sin este modificador, una clase sólo es accesible dentro de su propio paquete. abstract Se emplea para clases incompletas, y de la cual no se pueden crear instancias de dicha clase, lo anterior obedece a que la clase contiene métodos abstract, los cuales deben ser implementados por una subclase. final Se usa cuando no se derivarán clases. punto flotante estricta (strictfp) Evalúa estrictamente toda la aritmética de punto flotante definida dentro de dicha clase. Java p. 9

10 T A R E A 1. Escriba una clase simple denominada Vehiculo que tenga campos para la velocidad actual, la dirección actual en grados y el nombre del propietario. 2. Escriba una clase ListaEnlazada con un campo tipo Object y una referencia al siguiente elemento ListaEnlazada de la lista. Java p. 10

11 Una Clase Simple Se presenta una clase simple denominada Cuerpo que puede usarse para almacenar datos sobre cuerpos celestes, como cometas, asteroides, planetas y estrellas. class Cuerpo { public long numid; public String nombre; public Cuerpo orbita; public static long sigid = 0; Java p. 11

12 Campos Las variables de una clase se denominan campos. Las variables nombre y orbita de la clase Cuerpo son ejemplos de campos. La declaración de un campo consiste en un nombre de tipo seguido del nombre del campo y opcionalmente de una cláusula de inicialización, para dar al campo un valor inicial. Cada objeto Cuerpo tiene sus propias instancias específicas de los tres campos: Un long para diferenciar de forma única el cuerpo celeste de otros. Un String para el nombre del cuerpo. Una referencia tipo Cuerpo para indicar a que cuerpo orbita. Al dar a cada objeto diferente una instancia diferente de sus campos, cada objeto tiene su propio estado único. Los campos se conocen como variables de instancia. Al cambiar los campos de algún objeto no se afecta a otros cuerpos. Java p. 12

13 Modificadores de los campos Las declaraciones de los campos pueden precederse de modificadores que controlan ciertas propiedades del campo. modificadores de acceso: private, package, protected, public static Para tener sólo una instancia de un campo compartida por todos los objetos de una clase. final Para cuando se quiere que una variable no pueda cambiarse después de haber sido inicializada. transient relacionado con la serialización de objetos. volatile relacionado con aspectos del modelo de memoria y de sincronización Un campo no puede ser a la vez final y volatile. Java p. 13

14 Inicialización de campos Cuando se declara un campo, se puede inicializar asignando un valor del tipo correspondiente. En el ejemplo Cuerpo, el campo sigid se inicializa con el valor cero. La expresión de inicialización o inicializador no necesita ser una constante, puede ser otro campo, una invocación a un método o una expresión donde se involucren las anteriores. Se requiere que el inicializador sea del tipo correcto. double cero = 0.0; // constante double suma = ; // expresión constante double copiacero = cero; // campo double raizdos = Math.sqrt(2); // invocación a un método double algunval = sum + 2*Math.sqrt(raizDos); // combinación Java p. 14

15 Inicialización cont. Los inicializadores proporcionan una gran flexibilidad en la forma de inicializar los campos, pero sólo son adecuados en esquemas simples de inicialización. Si un campo no se inicializa se le asigna un valor inicial por defecto como se muestra a continuación Tipo Valor inicial boolean char byte, short, int, long 0 float false \u f double +0.0 referencia a objeto null Java p. 15

16 Campos estáticos Cuando se desea tener sólo una instancia de un campo compartida por todos los objetos de una clase, el campo se declara como static. Se conocen también como campos estáticos o variables de clase. Al declarar un campo static sólo existe una copia de ese campo, independientemente del número de instancias de la clase que se creen. En el ejemplo sigid es un campo estático, el cual se inicializa con un valor de cero cuando se inicializa la clase. Se pretende que cada objeto Cuerpo que se crea tenga asignado como identificador el valor en curso de sigid y realice el incremento, por lo tanto sólo se desea tener una copia. Un campo static puede ser referido directamente dentro de su propia clase, pero cuando se accede externamente hay que utilizar el nombre de la clase. System.out.println(Cuerpo.sigID); También se puede acceder a un miembro estático mediante una referencia a un objeto de la clase, pero se recomienda no hacerlo y hacerlo sólo con campo no estáticos. Java p. 16

17 T A R E A 3. Añada un campo estático a su clase Vehiculo para almacenar el siguiente número de identificación del vehículo, y un campo no estático para almacenar el número de identificación de cada coche. Java p. 17

18 Campos final Una variable final es aquella cuyo valor no se puede cambiar después de ser inicializada. Si se intenta asignar a este tipo de variable se produce un error de compilación. Se usan para definir constantes con nombre, es decir, propiedades inmutables. Si un campo final no tiene un inicializador se denomina final en blanco, y se usa cuando no se puede inicializar el campo de forma simple. Java p. 18

19 Qué considerar para tener un campo final? Representa el campo una propiedad inmutable del objeto? Se conoce siempre el valor del campo cuando se crea el objeto? Es siempre práctico y apropiado establecer el valor del campo cuando se crea el objeto? Java p. 19

20 T A R E A 4. Respecto al ejercicio 3, consideras que el campo de número de identificación debería ser final? Java p. 20

21 Control de acceso Para que la comprensión, depuración y mantenimiento de los programas sea posible se requiere que sólo algunos miembros de una clase u objeto sean accesibles. En la programación orientada a objetos se proporciona soporte para el encapsulado y la ocultación de datos. Se requiere de un mecanismo para controlar quién accede a qué miembros de una clase o interfaz, e incluso quién accede a la propia clase o interfaz. El control se especifica usando modificadores de acceso en las declaraciones de clases, interfaces y miembros. Java p. 21

22 Modificadores de acceso Todos los miembros de una clase son siempre accesibles al código de la propia clase. Para controlar el acceso desde otras clases, los miembros de una clase tiene cuatro posibles modificadores. private los miembros sólo son accesibles en la propia clase protected los miembros son accesibles en las subclases de la clase, en las clases del mismo paquete y en la propia clase. package los miembros son accesibles en todas las clases del mismo paquete, así como en la propia clase. Es el modificador de acceso por defecto, es decir, si no se indica modificador es el que será usado. public los miembros son accesibles en cualquier parte donde la clase sea accesible. Los modificadores de acceso private y protected se aplican sólo a miembros, no a las propias clases o interfaces a menos que sean anidadas. Java p. 22

23 Creación de objetos Los objetos que representan los cuerpos celestes particulares se crean e inicializan de la siguiente forma: Cuerpo sol = new Cuerpo(); sol.numid = Cuerpo.sigID++; sol.nombre = "Sol"; sol.orbita = null; // el sol es el centro del sistema solar Cuerpo tierra = new Cuerpo(); tierra.numid = Cuerpo.sigID++; tierra.nombre = "Tierra"; tierra.orbita = sol; Observar que primero se declara o define una variable de referencia la cual se puede referir a objetos de tipo Cuerpo. El objeto al que se refiere se debe crea explícitamente utilizando new, indicando el tipo de objeto que se crea y los parámetros que se utilizarán para su construcción. Java p. 23

24 Creación de objetos (continuación) El sistema en tiempo de ejecución reserva espacio suficiente para almacenar los campos del objeto y lo inicializa. Si el sistema no consigue espacio suficiente para crear el objeto, puede usar el recogedor de basura para intentar obtener espacio. En el ejemplo, cada nuevo objeto Cuerpo obtiene un identificador único a través del campo estático sigid de Cuerpo. También se realiza un incremento del campo anterior para que el siguiente Cuerpo obtenga un identificador único. En el ejemplo se construye un modelo del sistema solar, por lo tanto el sol está en el centro, y el campo orbita de sol es null. Java p. 24

25 Recogedor de basura Los objetos se crean utilizando new, pero nunca se borran explícitamente, la máquina virtual se encarga de la recogida de basura. Cuando no se necesita más un objeto dejamos de referirnos a él, puede ser tan sencillo como retornar de algún método, o en el caso de referencias más perdurables, como los campos de objetos, se pueden poner a null. Java p. 25

26 T A R E A 5. Escriba un método main para la clase Vehiculo que cree unos cuantos vehículos e imprima los valores de sus campos. 6. Escriba un método main para la clase ListaEnlazada que cree unos cuantos objetos de tipo Vehiculo y los sitúe en nodos sucesivos de la lista. Java p. 26

27 Construcción e inicialización Un objeto de nueva creación recibe un estado inicial. Los campos se pueden inicializar dándoles un valor cuando se declaran o pueden aceptar un valor por defecto. El código de creación del objeto puede suministrar datos iniciales o realizar operaciones que no se puedan expresar mediante una simple asignación. Java p. 27

28 Constructores Son bloques de sentencias que se usan para inicializar un objeto antes de que se devuelva una referencia a dicho objeto mediante new. Tienen el mismo nombre de la clase que inicializan. Pueden admitir cero o más parámetros. No tienen tipo de retorno. Se invocan después de que las variables de instancia del objeto de nueva creación tengan asignados sus valores iniciales por defecto y después de que sus inicializadores explícitos se hayan ejecutado. Java p. 28

29 Constructor e inicialización para Cuerpo La declaración de un constructor consiste en el nombre de la clase seguido por una lista de parámetros y un cuerpo de sentencias encerradas entre llaves. class Cuerpo { public long numid; public String nombre = " SIN NOMBRE"; public Cuerpo orbita = null; private static long sigid = 0; Cuerpo () { numid = sigid++; Como el constructor de Cuerpo es el único que asigna el valor de numid y también la única entidad que accede a sigid, se puede hacer que sigid sea privado, para que sólo se pueda acceder dentro de la clase Cuerpo. Java p. 29

30 Creación de objetos con el constructor Se muestran ejemplos del uso del constructor de la clase Cuerpo. Cuerpo sol = new Cuerpo(); // numid vale 0 sol.nombre = "Sol"; sol.orbita = null; Cuerpo tierra = new Cuerpo(); // numid vale 1 tierra.nombre = "Tierra"; tierra.orbita = sol; El constructor de Cuerpo se invoca cuando new crea el objeto pero después de que nombre y orbita han tomado sus valores iniciales por defecto. Java p. 30

31 Constructores Adicionales Se pueden tener varios constructores para una clase. Cuerpo(String nombrecuerpo,cuerpo orbitaalrededorde){ this(); nombre = nombrecuerpo; orbita = orbitaalrededorde; El constructor puede invocar a otro constructor de la misma clase usando this, lo que se conoce como invocación explícita a un constructor. Con lo anterior no se tiene que duplicar el código de inicialización. Cuerpo sol = new Cuerpo( "Sol", null ); Cuerpo tierra = new Cuerpo ( "Tierra", sol ); Constructor de un parámetro para construir un objeto Cuerpo que no gire alrededor de ningún otro. Cuerpo ( String nombrecuerpo ) { this( nombrecuerpo, null ); Java p. 31

32 Razones para tener constructores especializados Algunas clases no tienen un estado inicial razonable sin parámetros. Un estado inicial puede ser conveniente y razonable al construir ciertas clases de objetos. La construcción de un objeto puede ser una operación costosa, como por ejemplo una tabla. Un constructor que no es public pone restricciones sobre quién puede crear objetos utilizándolo. Java p. 32

33 Bloques de inicialización Se usan para realizar inicializaciones más complejas de campos. Es un bloque de sentencias que aparece dentro de la declaración de la clase y fuera de la declaración de cualquier miembro o constructor. Se ejecuta como si estuviera situado al principio de cada constructor de la clase. Puede lanzar una excepción comprobada sólo si se declara que todos los constructores lanzan esa excepción. Java p. 33

34 Bloques de inicialización Ejemplo class Cuerpo { public long numid; public String nombre = " SIN NOMBRE"; public Cuerpo orbita = null; private static long sigid = 0 ; { numid = sigid++; public Cuerpo ( String nombrecuerpo, Cuerpo orbitaalrededorde ) { nombre = nombrecuerpo; orbita = orbitaalrededorde; Java p. 34

35 Métodos Contienen generalmente el código que maneja el estado de un objeto. Diversos objetos tienen tareas que no se pueden representar como la lectura o modificación de un simple valor. class ImprimeCuerpo { public static void main ( String[] args ) { Cuerpo sol = new Cuerpo ( "Sol", null ); Cuerpo tierra = new Cuerpo ( "Tierra", sol ); System.out.println( " Cuerpo " + tierra.nombre + " gira alrededor de " + tierra.orbita.nombre + " y tiene como ID " + tierra.numid ); Java p. 35

36 Partes del Método Cabecera del método Modificadores Tipo de retorno Signatura (nombre del método y lista de parámetros (que puede estar vacía) encerrados por paréntesis). Cuerpo del método. Sentencias encerradas entre llaves. Java p. 36

37 Modificadores de un método modificadores de acceso Puede ser private, package, protected, public abstract. Método en el cual no se ha definido el cuerpo. La subclase será responsable de proporcionar un cuerpo. static. Se emplea para realizar una tarea general para todos los objetos de la clase. final. El método no puede ser modificado por una subclase. syncronized Tiene código adicional que se relaciona con el control de hilos concurrentes. native Permite implementar un método que se puede usar desde Java pero escrito con otro lenguaje como C o C++ strictfp La aritmética de punto flotante se evalúa estrictamente en el método. Un método abstracto no puede ser estático, final, sincronizado, nativo ni estricto. Java p. 37

38 Métodos estáticos Se invoca en nombre de una clase completa y no sobre un objeto específico instanciado a partir de alguna clase. Se conocen también como métodos de clase. Se puede usar para hacer una tarea general para todos los objetos de la clase. Un método static puede acceder sólo a campos static o a otros métodos static de la clase. Java p. 38

39 T A R E A 7. Añada un método estático a Vehiculo que devuelva el número de identificación más alto utilizado hasta el momento. Java p. 39

40 Invocaciones de métodos Los métodos se invocan como operaciones sobre objetos, mediante referencias usando el operador punto. referencia.metodo ( parámetros ); Cada método se declara con un número específico de parámetros, cada uno de ellos de un tipo específico: un tipo primitivo o un tipo de referencia. No se pueden declarar métodos con un número variable de parámetros. Los métodos tienen un tipo de retorno, primitivo o de referencia. Si no devuelve ningún valor, se debe poner void en el lugar correspondiente. Java p. 40

41 Ejemplo El ejemplo tostring ilustra un caso donde se desea examinar el estado de un objeto. El método devuelve una representación de cadena de texto del estado del objeto, en vez de acceder y proguntar por todos los campos de un objeto. Se emplea + y += para concatenar objetos String. Observar que si el cuerpo gira alrededor de otro cuerpo, se añade a la cadena de cuerpo que describe ese cuerpo invocando el método tostring. La cadena de texto resultante se devuelve con la sentencia return public String tostring() { String desc = numid + " (" + nombre + ")"; if ( orbita!= null ) desc += " gira alrededor de " + orbita.tostring(); return desc; Java p. 41

42 Ejecución de un método y retorno Al ser invocado un método el flujo de control pasa del método que invoca al método invocado, y se ejecutan las sentencias en secuencia de acuerdo con su semántica. Un método completa su ejecución y retorna al que lo llama cuando sucede alguna de las 3 siguientes causas: Se ejecuta una sentencia return Se llega al final del método Se lanza una excepción no capturada. Cuando un método devuelve un resultado deberá ser único, ya sea como un valor primitivo o como una referencia a un objeto. Si se requiere devolver más de un resultado se puede: devolver una referencia de un objeto que almacene los resultados como campos. Usar uno o más parámetros que se refieran a objetos en los que se almacenen resultados. Java p. 42

43 Ejemplo public class Permisos { public boolean puededepositar, puederetirar, puedecerrar; public class CuentaBancaria { private long numero; private long balance; public Permisos permisosde ( Persona quien ) { Permisos perm = new Permisos(); perm.puededepositar = puededepositar(quien); perm.puederetirar = puederetirar(quien); perm.puedecerrar = puedecerrar(quien); return perm; //... definir puededepositar, puederetirar, puedecerrar Java p. 43

44 T A R E A 8. Añada un método tostring a la clase Vehiculo. 9. Añada un método tostring a la clase ListaEnlazada. Java p. 44

45 Valores de parámetros Los parámetros de métodos se pasan por valor, es decir, son copias de los valores con los que fue invocado el método. Si el método cambia el valor del parámetro no se afectan los valores en el código que lo invocó. Cuando el parámetro es una referencia a un objeto, la referencia al objeto (no el objeto en sí) es lo que se pasa por valor, con lo anterior es posible cambiar a qué objeto se refiere un parámetro. Pero si se cambian campos del objeto o se invocan métodos que cambian el estado del objeto, el objeto quedará modificado. Java p. 45

46 Ejemplo - Paso por valor class PasaPorValor { public static void main( String[] args ) { double uno = 1.0; System.out.println( " Antes: uno = " + uno); calculamitad(uno); System.out.println( "después: uno = " + uno); public static void calculamitad(double arg) { arg /= 2.0; // se divide arg por 2 System.out.println( "mitad: arg = " + arg); Java p. 46

47 Ejemplo - Paso por referencia class PasoRef { public static void main ( String[] args ) { Cuerpo sirio = new Cuerpo( "Sirio", null); System.out.println( " Antes: " + sirio ); nombrecomun(sirio); System.out.println( "después: " + sirio ); public static void nombrecomun(cuerpo refcuerpo) { refcuerpo.nombre = " Estrella del Perro"; System.out.println( "nombrecomun: " + refcuerpo ); Java p. 47

48 Uso de métodos para control de acceso Los datos de sólo lectura son comunes en los objetos, pero no existe alguna palabra clave para aplicarla a un campo. Se puede forzar que el acceso sea de sólo lectura usando final, o bien ocultando el campo usando private y proporcionando un nuevo método para leer su valor. class Cuerpo { private long numid; // ahora "private" public String nombre = " SIN NOMBRE"; public Cuerpo orbita = null; private static long sigid = 0; Cuerpo () { NumId = sigid++; public long getid() { return numid; //... Java p. 48

49 Uso de métodos para control de acceso (cont.) Los métodos que regulan el acceso a los datos internos se denominan algunas veces métodos accesores. No se debe confundir inmutabilidad con accesibilidad. Si un campo es inmutable se debe declarar como final independientemente de su accesibilidad. Si no se desea que un campo forme parte del contrato de una clase se debe ocultar tras un método, independientemente de si el campo es de sólo lectura o modificable. El control de acceso se realiza por clase y no por objeto. Java p. 49

50 T A R E A 10. Haga que los campos de su clase Vehiculo sean private, y proporcione métodos de acceso para dichos campos. Qué campos deberían tener métodos para cambiarlos, y cuáles no? 11. Haga que los campos de su clase ListaEnlazada sean private, y proporcione métodos de acceso para dichos campos. Qué campos deberían tener métodos para cambiarlos, y cuáles no? 12. Añada un método denominado cambiarvelocidad que cambie el valor actual de la velocidad del vehículo con un valor que se proporciona y añada un método denominado parar que ponga la velocidad a cero. 13. Añada un método a ListaEnlazada que devuelva el número de elementos de la lista. Java p. 50

51 this Con los constructores se dió un ejemplo donde se usa la invocación explícita a un constructor para invocar a otro constructor al principio de un constructor. Se puede usar la referencia especial a un objeto this dentro de un método no estático. No existe referencia this en un método estático ya que no opera sobre ningún objeto específico. Se utiliza comúnmente para pasar una referencia del objeto actual como parámetro para otros métodos. Se muestra un método que requiere añadir el objeto actual a una lista de objetos que esperan recibir algún servicio: servicio.agregar ( this ); Java p. 51

52 this (cont.) Se puede usar un this explícito al principio de cualquier acceso a un campo o invocación de método del objeto actual, pero convencionalmente se usará sólo cuando sea necesario. public Cuerpo ( String nombre, Cuerpo orbita ) { this(); this.nombre = nombre; this.orbita = orbita; Los campos nombre y orbita están ocultos para el constructor por los parámetros del mismo nombre. Java p. 52

53 Sobrecarga de métodos Todos los métodos tienen una signatura, que consiste en su nombre junto con el número y tipo de parámetros. Dos métodos pueden tener el mismo nombre si tienen diferente número o tipo de parámetros, y por lo tanto diferente signatura. Esta característica se denomina sobrecarga, ya que el nombre simple del método tiene más de un significado. Se muestran algunos métodos orbitaalrededorde de la clase Cuerpo que devuelven true si el cuerpo actual gira alrededor del cuerpo inidicado, o de un cuerpo con el indicador especificado. public boolean orbitaalrededorde ( Cuerpo otro ) { return ( orbita == otro ); public boolean orbitaalrededorde ( long id ) { return ( orbita!= null && orbita.numid == id ); Java p. 53

54 T A R E A 14. Añada dos métodos giro a Vehiculo, don uno de ellos tome un número de grados de giro otro que tome una de las constantes Vehiculo.GIRO_IZQUIERDA o Vehiculo.GIRO_DERECHA. Java p. 54

55 El método main Siempre se debe proporcionar el nombre de una clase que conduzca la aplicación. Al ejecutar un programa, el sistema localiza y ejecuta el método main de esa clase. El método main debe ser public, static y void y debe aceptar un único parámetro de tipo String []. El siguiente ejemplo imprime sus parámetros: class Eco { public static void main ( String[] args ) { for ( int i = 0; i < args.length; i++ ) System.out.print(args[i] + " " ); System.out.println(); Java p. 55

56 T A R E A 15. Cambie Vehiculo.main para que cree coches con propietarios cuyos nombres se especifiquen en la línea de comandos, y después los muestre. Java p. 56

57 Métodos nativos Se usan cuando se tiene un código que no está escrito en Java, o bien cuando se tienen que manejar elementos de hardware directamente. Se declaran usando el modificador native. El cuerpo del método se especifica con un punto y coma, ya que el método está implementado en otro lenguaje. public native int getidcpu(); Los métodos nativos son como como los otros métodos, se pueden sobrecargar, anular y pueden ser final, static, synchronized, public, protected o private. No puden ser declarado como abstract o strictfp. Con los métodos nativos se pierde la portabilidad y seguridad del código. Java p. 57

Tema 2: Programación basada en Objetos

Tema 2: Programación basada en Objetos Tema 2: Programación basada en Objetos Programación Orientada a Objetos Marcos López Sanz Máster en Informática Gráfica, Juegos y Realidad Virtual Índice Objetivos Introducción Vista Pública Clases Objetos

Más detalles

12. Tipos de atributos

12. Tipos de atributos Programación orientada a objetos con Java 135 12. Tipos de atributos Objetivos: a) Profundizar en el concepto de atributo de una clase e indicar los tipos de atributos en Java b) Interpretar el código

Más detalles

3.4 Clases y Objetos 05/04/2004. Conceptos Generales. Modificadores de la Clase. Estructura de una Clase. Variables Miembros

3.4 Clases y Objetos 05/04/2004. Conceptos Generales. Modificadores de la Clase. Estructura de una Clase. Variables Miembros Conceptos Generales 3.4 Clases y Objetos Clases, miembros, constructores, control de acceso Las clases contienen los métodos que definen la computación Los campos (fields) o variables miembros definen

Más detalles

Programación Tema 4: Métodos. Programación DIT-UPM

Programación Tema 4: Métodos. Programación DIT-UPM Programación Tema 4: Métodos 1 Contenidos! 1. El concepto de método! 2. Definición: cabecera! 3. Definición: cuerpo! 4. Uso de métodos! 5. Métodos útiles 2 Métodos! Un método es un bloque de código con

Más detalles

Clases y Objetos en C++

Clases y Objetos en C++ Informática II Clases y Objetos en C++ Introducción Las variables de los tipos fundamentales de datos no son suficientes para modelar adecuadamente objetos del mundo real. alto, ancho y longitud para representar

Más detalles

Programación Orientada a Objetos en C++

Programación Orientada a Objetos en C++ Unidad I Programación Orientada a Objetos en C++ Programación Orientada a Objetos en C++ Programación I - 0416202 Contenido Esta lección abarca los siguientes temas: Estructura y declaración de una clase

Más detalles

POO: Clases y objetos

POO: Clases y objetos POO: Clases y objetos Programación de aplicaciones 1 Introducción En los lenguajes de programación orientados a objetos, tenemos la posibilidad de extender el lenguaje mediante la creación de nuevo tipos,

Más detalles

Tema 6: Clases. Índice

Tema 6: Clases. Índice Tema 6: Clases Antonio J. Sierra Índice 1. Fundamentos. 2. Declaración de objetos. 3. Asignación de objetos a variables referencia. 4. Métodos. 5. Constructores. 6. this. 7. Recogida de basura. 8. Modelado

Más detalles

Principios de Computadoras II

Principios de Computadoras II Departamento de Ingeniería Electrónica y Computadoras Ing. Ricardo Coppo rcoppo@uns.edu.ar Qué es un Objeto? Un objeto es una instancia de una clase Las clases actuán como modelos que permiten la creación

Más detalles

Clases y Objetos en Java. ELO329: Diseño y Programación Orientados a Objetos

Clases y Objetos en Java. ELO329: Diseño y Programación Orientados a Objetos Clases y Objetos en Java ELO329: Diseño y Programación Orientados a Objetos Construyendo clases nuevas La forma más simple de una clase en Java es: Class Nombre_de_la_Clase { } /* constructores */ /* métodos

Más detalles

! Qué es la POO?! Un paradigma de programación. ! No hay paradigmas mejores ni peores! Todos tienen sus ventajas e inconvenientes

! Qué es la POO?! Un paradigma de programación. ! No hay paradigmas mejores ni peores! Todos tienen sus ventajas e inconvenientes Introducción Programación orientada a objetos Curso INEM. Programación en Java Santiago Muelas Pascual smuelas@fi.upm.es! Qué es la POO?! Un paradigma de programación! Un paradigma es una forma de afrontar

Más detalles

Unidad Didáctica 3. Tipos genéricos. Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos

Unidad Didáctica 3. Tipos genéricos. Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Unidad Didáctica 3 Tipos genéricos Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Definición de tipo genérico Hablamos de un tipo genérico cuando el tipo en cuestión depende

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

TECNICAS DE PROGRAMACION Universidad Católica Los Angeles de Chimbote MODIFICADORES DE ACCESO A LOS MIEMBROS DE UNA CLASE

TECNICAS DE PROGRAMACION Universidad Católica Los Angeles de Chimbote MODIFICADORES DE ACCESO A LOS MIEMBROS DE UNA CLASE MODIFICADORES DE ACCESO A LOS MIEMBROS DE UNA CLASE Los modificadores de acceso, como su nombre indica, determinan desde qué clases se puede acceder a un determinado elemento. En Java tenemos 4 tipos:

Más detalles

Estructura de datos y Programación

Estructura de datos y Programación Estructura de datos y Programación Tema: Conceptos Básicos- Estructuras de control - Arreglos Ing. Analia Méndez Ing. Raquel Zarco Año: 2012 ELEMENTOS DE UN PROGRAMA EN JAVA El programa Java consta de

Más detalles

Programación Orientada a Objetos. Resumen de Temas Unidad 3: Constructores y destructores

Programación Orientada a Objetos. Resumen de Temas Unidad 3: Constructores y destructores Programación Orientada a Objetos Resumen de Temas Unidad 3: Constructores y destructores 3.1 Conceptos de métodos constructor y destructor Java inicializa siempre con valores por defecto las variables

Más detalles

Tema 2: EL TIPO DE DATOS ENTERO. INSTRUCCIÓN DE ASIGNACIÓN Y DE COMPOSICIÓN SECUENCIAL

Tema 2: EL TIPO DE DATOS ENTERO. INSTRUCCIÓN DE ASIGNACIÓN Y DE COMPOSICIÓN SECUENCIAL Tema 2: EL TIPO DE DATOS ENTERO. INSTRUCCIÓN DE ASIGNACIÓN Y DE COMPOSICIÓN SECUENCIAL Cualquier duda sobre el contenido de este tema se puede enviar al foro TEORIA2. 2.1.- El tipo de datos entero (byte,

Más detalles

Práctica 2. Reutilización de código Elementos básicos del lenguaje Java Definición de variables, expresiones y asignaciones

Práctica 2. Reutilización de código Elementos básicos del lenguaje Java Definición de variables, expresiones y asignaciones Práctica 2 Reutilización de código Elementos básicos del lenguaje Java Definición de variables, expresiones y asignaciones Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos

Más detalles

Estructura de Datos Unidad 1: Repaso del Lenguaje Java

Estructura de Datos Unidad 1: Repaso del Lenguaje Java Estructura de Datos Unidad 1: Repaso del Lenguaje Java Introducción Java es un lenguaje de programación orientado a objetos, desarrollado por Sun Microsystems a principios de 1991, con el que se van a

Más detalles

Introducción a la Programación Métodos

Introducción a la Programación Métodos Introducción a la Programación Métodos Curso de Programación en Java Luis Guerra l.guerra@upm.es Enero 2012 Introducción La mayor parte de los programas que resuelven problemas reales confenen un alto

Más detalles

Introducción a Java. Fernando Cerezal López. 24 Noviembre 2005

Introducción a Java. Fernando Cerezal López. 24 Noviembre 2005 24 Noviembre 2005 disponibles de acceso public private protected de tipo static abstract final modificadores más avanzados que no vamos a ver... Clase Sintaxis modificadores class nombreclase{} Tipos primitivos

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

Qué es Java? Un lenguaje de programación Un entorno de desarrollo Un entorno de aplicación Un entorno de despliegue Es similar en sintaxis de C + +.

Qué es Java? Un lenguaje de programación Un entorno de desarrollo Un entorno de aplicación Un entorno de despliegue Es similar en sintaxis de C + +. APUNTES DE JAVA Agenda Bienvenida Conociendo Java La Maquina Virtual Descargar e instalar el compilador El entorno de trabajo El paradigma de la programación orientada a objetos Qué es Java? Un lenguaje

Más detalles

CAPITULO 2: VARIABLES Y CONSTANTES

CAPITULO 2: VARIABLES Y CONSTANTES CAPITULO 2: VARIABLES Y CONSTANTES 1. TIPOS DE DATOS. Existen cinco tipos de datos atómicos en C; char: carácter, int: entero, float: real coma flotante, double: real de doble precisión y void: sin valor.

Más detalles

Programación orientada a objetos. Resumen de Temas Unidad 5: Herencia

Programación orientada a objetos. Resumen de Temas Unidad 5: Herencia Programación orientada a objetos Resumen de Temas Unidad 5: Herencia 5.1 Introducción a la Herencia La herencia es el mecanismo fundamental de relación entre clases en la orientación a objetos. Relaciona

Más detalles

abril de 2017 Desarrollo de aplicaciones en Java Tipos de datos primitivos Tipos de datos Elementos de aplicaciones simples

abril de 2017 Desarrollo de aplicaciones en Java Tipos de datos primitivos Tipos de datos Elementos de aplicaciones simples Desarrollo de aplicaciones en Java Generación de código fuente Compilación Ejecución Elementos de aplicaciones simples EII147-01-02 Introducción a las tecnologías de información Escuela de Ingeniería Industrial

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

IMPLEMENTACIÓN DE CONCEPTOS P.O.O. EN JAVA

IMPLEMENTACIÓN DE CONCEPTOS P.O.O. EN JAVA IMPLEMENTACIÓN DE CONCEPTOS P.O.O. EN JAVA Implementación de conceptos P.O.O. en Java Temario 2. Conceptos de Programación Orientada a Objetos 1. Conceptos de P.O.O. 2. Implementación de conceptos P.O.O

Más detalles

Unidad V. Ya veremos qué poner en "algunas_palabras" y "algo_más", por ahora sigamos un poco más.

Unidad V. Ya veremos qué poner en algunas_palabras y algo_más, por ahora sigamos un poco más. Implementación Orientada a Objetos. Unidad V 5.1 Estructura de una clase. Una clase consiste en: algunas_palabras class nombre_de_la_clase [algo_más] { [lista_de_atributos] [lista_de_métodos] Lo que está

Más detalles

Programación Orientada a Objetos. Orientación a Objetos en Java

Programación Orientada a Objetos. Orientación a Objetos en Java Programación Orientada a Objetos Orientación a Objetos en Java Agenda Creación de Clases Tipo de datos Variables Operaciones aritméticas Objetos Objeto: entidad física o abstracta. Valores (datos): definen

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

INDICE Prologo 1 Recorrido rápido de java 2 Clases y objetos 3 Extensión de clases

INDICE Prologo 1 Recorrido rápido de java 2 Clases y objetos 3 Extensión de clases INDICE Prologo XIII 1 Recorrido rápido de java 1.1. Para empezar 1 1.2. Variables 2 1.3. Comentarios en el condigo 1.4. Constantes con nombre 5 1.4.1. Caracteres Unicode 6 1.5. Flujo de control 7 1.6.

Más detalles

Introducción a Java. Introducción a Java. Programación I

Introducción a Java. Introducción a Java. Programación I Introducción a Java Introducción a Java Programación I Como Funciona Tipos de Datos TIPO TAMAÑO RANGO byte 8 bits Valores numéricos de 128 a 127 short 16 bits Valores numéricos de 32.768 a 32.767 int 32

Más detalles

Centro Asociado Palma de Mallorca. Antonio Rivero Cuesta

Centro Asociado Palma de Mallorca. Antonio Rivero Cuesta Centro Asociado Palma de Mallorca Introducción Práctica de Programación Java Antonio Rivero Cuesta Sesión I Introducción... 7 Java Development Kit... 8 Bibliografía... 11 Clases y Objetos... 12 Estructura

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

Docente: Juan Carlos Pérez P. Alumno : Fecha : Nota:

Docente: Juan Carlos Pérez P. Alumno : Fecha : Nota: Docente: Juan Carlos Pérez P. Alumno : Fecha : Nota: Justificación: Se pretende con éste contribuir a que el alumno se inicie y conozca el entorno del IDE en la creación de pequeños programas en java Objetivos:

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

Unidad IV. Este tipo de codificación nos es permitido gracias a la sobrecarga, la cual se aplica a métodos y constructores.

Unidad IV. Este tipo de codificación nos es permitido gracias a la sobrecarga, la cual se aplica a métodos y constructores. Unidad IV Métodos. 4.1 Definición de un método. El polimorfismo, en programación orientada a objetos, se refiere a la posibilidad de acceder a un variado rango de funciones distintas a través del mismo

Más detalles

En Java, un arreglo es un grupo de variables (llamados elementos o componentes) que contienen valores, todos del mismo tipo.

En Java, un arreglo es un grupo de variables (llamados elementos o componentes) que contienen valores, todos del mismo tipo. Arreglos Los arreglos son estructuras de datos que consisten de elementos de datos relacionados, del mismo tipo. Los arreglos son entidades son entidades de longitud fija: conservan la misma longitud una

Más detalles

class identificador{ //Bloque de propiedades (datos miembro, atributos, propiedades) //Bloque de métodos (comportamientos) }

class identificador{ //Bloque de propiedades (datos miembro, atributos, propiedades) //Bloque de métodos (comportamientos) } Programación Basada en Objetos Lectura 2 Clases en Java Definición class identificador{ //Bloque de propiedades (datos miembro, atributos, propiedades) //Bloque de métodos (comportamientos) class Tiempo{

Más detalles

Estructura de un programa en Java. Tipos de datos básicos. class miprimerprograma{ // comentario, no es parte del programa

Estructura de un programa en Java. Tipos de datos básicos. class miprimerprograma{ // comentario, no es parte del programa Contenido Estructura de un programa en Java... 2 Tipos de datos básicos... 2 Operadores... 3 Literales... 4 Entrada / Salida... 4 Sentencias condicionales... 5 Funciones... 5 Ejercicios... 6 Variables,

Más detalles

Desde los programas más simples escritos en un lenguaje de programación suelen realizar tres tareas en forma secuencial.

Desde los programas más simples escritos en un lenguaje de programación suelen realizar tres tareas en forma secuencial. Tipos de Datos Desde los programas más simples escritos en un lenguaje de programación suelen realizar tres tareas en forma secuencial. Entrada de datos Procesamientos de datos Salida de resultados Los

Más detalles

Los Constructores(1)

Los Constructores(1) Java: Definición de Clases y Objetos 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,

Más detalles

Datos Elementales y formato de un programa en Java

Datos Elementales y formato de un programa en Java Datos Elementales y formato de un programa en Java PROGRAMACION I Grado en Matematicas Informática Programación I - 2015/2016 Datos, variables y mi primer programa 1 Introducción a la programación o Programa:

Más detalles

Sebastián García Galán

Sebastián García Galán Universidad de Jaén E.U.P. Linares Dpto. Telecomunicaciones Área de Ingeniería Telemática Sebastián García Galán sgalan@ujaen.es Variables y tipos de datos Operaciones y operadores Clases y objetos Tipos

Más detalles

Tema 2: Clases y Objetos en Java. Programación Orientada a Objetos Curso 2010/2011

Tema 2: Clases y Objetos en Java. Programación Orientada a Objetos Curso 2010/2011 Tema 2: Clases y Objetos en Java Programación Orientada a Objetos Curso 2010/2011 Contenido Clases. Objetos. Tipos del lenguaje. Relación de clientela. Semántica referencia. Métodos y mensajes. Instancia

Más detalles

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

Introducción a Java. Dr. (c) Noé Alejandro Castro Sánchez Introducción a Java Dr. (c) Noé Alejandro Castro Sánchez Programas Java Applets Pueden correr en navegadores Web Agregan funcionalidad a páginas Web Se llega a restringir su funcionalidad (e. g., no pueden:

Más detalles

CAPITULO 2. COMPRENDER LAS DEFINICIONES DE CLASE

CAPITULO 2. COMPRENDER LAS DEFINICIONES DE CLASE CAPITULO 2. COMPRENDER LAS DEFINICIONES DE CLASE 2.3 Campos, constructores y métodos El código de la mayoría de las clases puede descomponerse en dos partes principales: una envoltura exterior pequeña

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

Capítulo 3. Introducción a la programación. Continuar

Capítulo 3. Introducción a la programación. Continuar Capítulo 3 Introducción a la programación Continuar Introducción Java es un lenguaje que tiene muchas ventajas frente a otros lenguajes de programación: es open source (código abierto), esto permite ver

Más detalles

Centro Asociado Palma de Mallorca. Antonio Rivero Cuesta

Centro Asociado Palma de Mallorca. Antonio Rivero Cuesta Centro Asociado Palma de Mallorca Introducción Práctica de Programación Java Antonio Rivero Cuesta Sesión IX Composición... 4 Herencia... 8 Herencia e Inicialización... 12 Constructor de Superclase...

Más detalles

Tutorial de C# Delegados y Eventos. Por: Óscar López, M.Sc.

Tutorial de C# Delegados y Eventos. Por: Óscar López, M.Sc. Tutorial de C# Delegados y Eventos Por: Óscar López, M.Sc. olopez@uniandino.com.co DELEGADOS Delegados Son unos objetos que implícitamente extienden de System.Delegate y definen un tipo referencia soportado

Más detalles

Centro Asociado Palma de Mallorca. Antonio Rivero Cuesta

Centro Asociado Palma de Mallorca. Antonio Rivero Cuesta Centro Asociado Palma de Mallorca Introducción Práctica de Programación Java Antonio Rivero Cuesta Sesión VIII Composición... 4 Herencia... 8 Herencia e Inicialización... 11 Constructor de Superclase...

Más detalles

Tema 3. Programación orientada a objetos en Java (Parte 1)

Tema 3. Programación orientada a objetos en Java (Parte 1) Programación en Java Tema 3. Programación orientada a objetos en Java (Parte 1) Luis Rodríguez Baena Facultad de Informática Clases y objetos (I) Clase Cojunto de datos (atributos) y funciones (métodos)

Más detalles

Informática Lección 5. Arreglos (vectores) Curso Pedro Álvarez y José Ángel Bañares 2/11/2010. Dpto. Informática e Ingeniería de Sistemas.

Informática Lección 5. Arreglos (vectores) Curso Pedro Álvarez y José Ángel Bañares 2/11/2010. Dpto. Informática e Ingeniería de Sistemas. Fundamentos de Informática Lección 5. Arreglos (vectores) Curso 2010-2011 Pedro Álvarez y José Ángel Bañares 2/11/2010. Dpto. Informática e Ingeniería de Sistemas. Índice de contenidos Arreglos: Concepto

Más detalles

Programación Orientada a Objetos Sentencias Java Parte I Ing. Julio Ernesto Carreño Vargas MsC.

Programación Orientada a Objetos Sentencias Java Parte I Ing. Julio Ernesto Carreño Vargas MsC. Sentencias Java Parte I Ing. Julio Ernesto Carreño Vargas MsC. Variables Conceptos de Memoria Una variable es un espacio en la memoria del PC Cada variable tiene un nombre, un tipo, un tamaño y un valor

Más detalles

Clases y Objetos en Java. ELO329: Diseño y Programación Orientados a Objetos

Clases y Objetos en Java. ELO329: Diseño y Programación Orientados a Objetos Clases y Objetos en Java ELO329: Diseño y Programación Orientados a Objetos Construyendo clases nuevas La forma más simple de una clase en Java es: Class Nombre_de_la_Clase { } /* constructores */ /* métodos

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

Sesión 3. TEMA 5. DEFINICIONES DE CLASES

Sesión 3. TEMA 5. DEFINICIONES DE CLASES Sesión 3. TEMA 5. DEFINICIONES DE CLASES Fundamentos de Informática José Jaime Noguera Noguera 8 de marzo de 2018 Contenidos 1 Definiciones 2 Variables 3 Ejemplo 4 Cuestiones 5 Tareas Campos, constructores

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

Una función es un miniprograma dentro de un programa. Las funciones contienen varias

Una función es un miniprograma dentro de un programa. Las funciones contienen varias TEMA 6. FUNCIONES. Una función es un miniprograma dentro de un programa. Las funciones contienen varias sentencias bajo un solo nombre, que un programa puede utilizar una o más veces para ejecutar dichas

Más detalles

Estructuras de control selectivas

Estructuras de control selectivas Práctica 3 Estructuras de control selectivas Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión 2.0.2 Concepto de sentencia y estructura de control El cuerpo de los métodos

Más detalles

Programación n Orientada a Objetos Sentencias Java Parte I. Ing. Julio Ernesto Carreño o Vargas MsC.

Programación n Orientada a Objetos Sentencias Java Parte I. Ing. Julio Ernesto Carreño o Vargas MsC. Programación n Orientada a Objetos Sentencias Java Parte I Ing. Julio Ernesto Carreño o Vargas MsC. Variables y expresiones aritméticas Variables Conceptos de Memoria Una variable es un espacio en la memoria

Más detalles

Examen Teórico Convocatoria de Junio de 2012

Examen Teórico Convocatoria de Junio de 2012 Examen Teórico Convocatoria de Junio de 2012 Nombre: DNI: Titulación: 1. Sobre el control de errores en Java: a) El siguiente método contiene un error de compilación debido al uso de excepciones. Explica

Más detalles

Sesión 6. TEMA 8 COMPORTAMIENTO AVANZADO CON OBJETOS

Sesión 6. TEMA 8 COMPORTAMIENTO AVANZADO CON OBJETOS Sesión 6. TEMA 8 COMPORTAMIENTO AVANZADO CON OBJETOS Fundamentos de Informática José Jaime Noguera Noguera 18 de marzo de 2018 Contenidos 1 Introducción 2 Conceptos 3 Cuestiones 4 Tareas Temario Recordar

Más detalles

3.3 Conceptos Básicos del Lenguaje Java

3.3 Conceptos Básicos del Lenguaje Java 3.3 Conceptos Básicos del Lenguaje Java Conjunto de Caracteres Java utiliza Unicode, un conjunto de caracteres de 16 bits Java permite leer ASCII de 7-bit o Latin-1, conviertiéndolo a Unicode Son pocos

Más detalles

Definición de clase: Una clase es un prototipo que define las variables y los métodos de todos los objetos con características comunes.

Definición de clase: Una clase es un prototipo que define las variables y los métodos de todos los objetos con características comunes. Clases y Objetos Java es un lenguaje orientado a objetos que incorpora un gran número de clases predefinidas organizadas en paquetes. La programación en Java supone definir clases de forma jerárquica,

Más detalles

Definición de clase: Una clase es un prototipo que define las variables y los métodos de todos los objetos con características comunes.

Definición de clase: Una clase es un prototipo que define las variables y los métodos de todos los objetos con características comunes. Clases y Objetos Java es un lenguaje orientado a objetos que incorpora un gran número de clases predefinidas organizadas en paquetes. La programación en Java supone definir clases de forma jerárquica,

Más detalles

o Una clase en Java se compone de: o A los anteriores se les conoce también como miembros de la clase.

o Una clase en Java se compone de: o A los anteriores se les conoce también como miembros de la clase. Componentes de una clase o Una clase en Java se compone de: Constructor Implementación y uso de clases o A los anteriores se les conoce también como miembros de la clase. EII147-01-02 Introducción a las

Más detalles

Para crear un arreglo de cualquier tipo de elementos la sintaxis es:

Para crear un arreglo de cualquier tipo de elementos la sintaxis es: Arreglos (arrays) Un arreglo es una estructura de datos homogénea o conjunto de elementos del mismo tipo. En Java se pueden manejar arreglos de elementos de tipo primitivo (8 tipos primitivos hay en Java)

Más detalles

Academia de computación de IE, ICA e ISISA. Unidad didáctica Programación Orientada a Objetos

Academia de computación de IE, ICA e ISISA. Unidad didáctica Programación Orientada a Objetos Academia de computación de IE, ICA e ISISA Unidad didáctica Programación Orientada a Objetos Elaboración y diseño de cien reactivos de opción múltiple para la unidad didáctica programación orientada a

Más detalles

! Fundamentos de la POO. ! Comportamiento y estado. ! Clases y objetos en Java

! Fundamentos de la POO. ! Comportamiento y estado. ! Clases y objetos en Java Introducción a la programación orientada a objetos Curso de Programación en Java! Fundamentos de la POO! Comportamiento y estado! Clases y objetos en Java Contenidos Luis Guerra l.guerra@upm.es Enero 2012

Más detalles

Instituto Tecnológico de Celaya

Instituto Tecnológico de Celaya ELEMENTOS BÁSICOS DE C++: DECLARACIÓN DE VARIABLES A través de operaciones aritméticas (suma, resta, etc.) y lógicas (por ejemplo, comparaciones) los programas manipulan datos tales como números y caracteres.

Más detalles

Bloque II. Elementos del lenguaje de programación Java

Bloque II. Elementos del lenguaje de programación Java Bloque II. Elementos del lenguaje de programación Java 1.Introducción a los lenguajes de programación 2. Estructura de un programa 3. Datos y expresiones simples 4. Instrucciones de control 5. Entrada/salida

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

Tema 2: Clases y Objetos. Programación Orientada a Objetos Curso 2015/2016

Tema 2: Clases y Objetos. Programación Orientada a Objetos Curso 2015/2016 Tema 2: Clases y Objetos Programación Orientada a Objetos Curso 2015/2016 Contenido Clases. Objetos. Tipos del lenguaje. Relación de clientela. Semántica referencia. Métodos y mensajes. Instancia actual.

Más detalles

Tema 2.- Objetos y mensajes

Tema 2.- Objetos y mensajes Tema 2.- Objetos y mensajes 1. Objetos y mensajes: mecanismo de envío de mensajes...2 2. SMALLTALK: EXPRESIONES...3 2.1. LITERALES: designan objetos constantes...3 2.2. NOMBRES DE VARIABLES: identifican

Más detalles

Examen Teórico. Convocatoria de Febrero de 2018

Examen Teórico. Convocatoria de Febrero de 2018 Examen Teórico Convocatoria de Febrero de 2018 Nombre: DNI: Grupo: 1. Dado un proyecto Java en Eclipse que tiene como clase principal proyecto.programa y requiere de la librería matemática de Apache commons-math.jar,

Más detalles

REPASO ARRAYS O ARREGLOS UNIDIMENSIONALES EN JAVA. EJEMPLOS DE CÓDIGO. (CU00903C)

REPASO ARRAYS O ARREGLOS UNIDIMENSIONALES EN JAVA. EJEMPLOS DE CÓDIGO. (CU00903C) APRENDERAPROGRAMAR.COM REPASO ARRAYS O ARREGLOS UNIDIMENSIONALES EN JAVA. EJEMPLOS DE CÓDIGO. (CU00903C) Sección: Cursos Categoría: Lenguaje de programación Java nivel avanzado I Fecha revisión: 2039 Resumen:

Más detalles

FACULTAD DE ECONOMIA Y ADMINISTRACION DEPARTAMENTO DE CIENCIAS DE LA COMPUTACION CÁTEDRA PROGRAMACION GENERAL. Trabajo Práctico Nº 4

FACULTAD DE ECONOMIA Y ADMINISTRACION DEPARTAMENTO DE CIENCIAS DE LA COMPUTACION CÁTEDRA PROGRAMACION GENERAL. Trabajo Práctico Nº 4 Trabajo Práctico Nº 4 Ejercicios Teóricos 1. Indique si las siguientes afirmaciones son verdaderas o falsas a. La programación orientada a objetos hace uso de clases y envío de mensajes entre objetos..

Más detalles

Tema 2: Desarrollo de Algoritmos. E.E. de Algorítmica

Tema 2: Desarrollo de Algoritmos. E.E. de Algorítmica Tema 2: Desarrollo de Algoritmos E.E. de Algorítmica Temas a tratar Identificadores Variables Constantes Tipos de Datos Separadores Operadores Aritméticos Unarios Relacionales y Condicionales Nivel de

Más detalles

int[] nombrearray1; int nombrearray2[];

int[] nombrearray1; int nombrearray2[]; USANDO ARREGLOS Y STRINGS Arrays unidimensionales Declaración En Java un array se declara de las siguientes formas: int[] nombrearray1; int nombrearray2[]; Ambas declaraciones son equivalentes. La primera

Más detalles

PROGRAMACIÓN EN JAVA. { una línea para definir, crear o ejecutar ; }

PROGRAMACIÓN EN JAVA. { una línea para definir, crear o ejecutar ; } PROGRAMACIÓN EN JAVA { una línea para definir, crear o ejecutar ; } JFC Y API SPECIFICATIONS OBJECT INTERFACE ABSTRACT IMPLEMENTS EXTENDS NEW EXTENDS (Hasta que una clase derivada deje de ser ABSTRACT)

Más detalles

Unidad Didáctica 1. Introducción a la Programación Orientada a Objetos (POO) Conceptos de clase, objeto e interfaz. Atributos y métodos

Unidad Didáctica 1. Introducción a la Programación Orientada a Objetos (POO) Conceptos de clase, objeto e interfaz. Atributos y métodos Unidad Didáctica 1 Introducción a la Programación Orientada a Objetos (POO) Conceptos de clase, objeto e interfaz. Atributos y métodos Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos

Más detalles

Temas. Taller III 2007 Gentile,Vazquez

Temas. Taller III 2007 Gentile,Vazquez Temas Arreglos de Objetos Punteros de Objetos Arreglos de Punteros de Objetos Constructor de Copia Herencia Constructores y Destructores en Herencia Accesibilidad en Herencia 1 Arreglo de objetos Televisor

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

JavaScript Avanzado (I)

JavaScript Avanzado (I) Programación Web Tema 3.3 Java Script Avanzado Miguel Ángel Manso Emerson Castañeda Ramón Alcarria ETSI en Topografía, Geodesia y Cartografía - UPM JavaScript Avanzado (I) Conceptos sobre Objetos En JavaScript

Más detalles

Paradigmas de lenguajes de programación. Introducción a la programación imperativa. Lenguaje C. Programación imperativa

Paradigmas de lenguajes de programación. Introducción a la programación imperativa. Lenguaje C. Programación imperativa Paradigmas de lenguajes de programación Introducción a la programación imperativa Algoritmos y Estructuras de Datos I Paradigma: Definición del modo en el que se especifica el cómputo (que luego es implementado

Más detalles

TEMA 3:Programación con Clases y Objetos.

TEMA 3:Programación con Clases y Objetos. TEMA 3:Programación con Clases y Objetos. Objetivos: Explicar con claridad lo que es una clase como elemento fundamental de la Programación Orientada a Objetos y como se realiza la implementación de una

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

Programación orientada a objetos II

Programación orientada a objetos II Repaso de conceptos Programación orientada a objetos II Curso INEM. Programación en C++ Santiago Muelas Pascual smuelas@fi.upm.es! Clase! Objeto! Atributos! Métodos! Cambio de enfoque! Constructor! Creación

Más detalles

PROGRAMACIÓN ORIENTADA A OBJETOS 1/7/2009. Examen de Java. Nombre: DNI: Titulación:

PROGRAMACIÓN ORIENTADA A OBJETOS 1/7/2009. Examen de Java. Nombre: DNI: Titulación: Examen de Java Nombre: DNI: Titulación: 1. Sea una aplicación Java donde todas las clases están compiladas y empaquetas en un solo fichero JAR (programa.jar). Qué sería necesario para conseguir ejecutar

Más detalles

Curso de Java Introducción a la Programación II

Curso de Java Introducción a la Programación II Curso de Java Introducción a la Programación II Jaime Fernández Martín Curso INEM 02830. Programación en Java Marzo 2010 Índice 1 Tipos Java 2 Decalaración de variables 3 Operadores aritméticos Índice

Más detalles

Introducción a Java 10/02/2011. Tokens. Juan Manuel Fernández Peña Curso Rev Tokens. Tokens

Introducción a Java 10/02/2011. Tokens. Juan Manuel Fernández Peña Curso Rev Tokens. Tokens Introducción a Java Juan Manuel Fernández Peña Curso 2005. Rev 2011 Comentarios: //comentario /* comentario fin de comentario */ /** comentario para javadoc fin */ Palabras reservadas: (como ejemplo) abstract,

Más detalles

Construcciones del Lenguaje Java

Construcciones del Lenguaje Java Construcciones del Lenguaje Java Autor: Juan Alberto López Cavallotti Versión de Java: 5 / 6 Comentarios Comentario de Línea Comentario Multilínea //Esto es un comentario. /* Esto comenta varias lineas.

Más detalles

Tema 4. Control de flujo. Programación Programación - Tema 4: Control de Flujo

Tema 4. Control de flujo. Programación Programación - Tema 4: Control de Flujo Tema 4 Control de flujo Programación 2015-2016 Programación - Tema 4: Control de Flujo 1 Tema 4. Control de flujo Introducción. Estructuras condicionales. Estructuras de repetición. Programación - Tema

Más detalles

Lenguajes de programación. Algoritmos y Estructuras de Datos I. Lenguajes compilados. Lenguajes compilados

Lenguajes de programación. Algoritmos y Estructuras de Datos I. Lenguajes compilados. Lenguajes compilados Lenguajes de programación Algoritmos y Estructuras de Datos I Primer cuatrimestre de 2014 Departamento de Computación - FCEyN - UBA Teórica - clase 3 Introducción a la programación imperativa Las computadoras

Más detalles