Centro Asociado Palma de Mallorca Tutor: Antonio Rivero Cuesta

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

Download "Centro Asociado Palma de Mallorca Tutor: Antonio Rivero Cuesta"

Transcripción

1 Capítulo 1 Objetos y Clases Centro Asociado Palma de Mallorca Tutor: Antonio Rivero Cuesta 1

2 1.1 Objetos y Clases 1 Objetos y Clases Clase: Una clase es una plantilla donde vamos a definir unos atributos y unos métodos. Una clase es la implementación de un tipo de objeto, considerando los objetos como instancias de las clases. Objeto: Cuando se crea un objeto, se instancia una clase, mediante el operador new. Se ha de especificar de qué clase es el objeto instanciado, para que el compilador comprenda las características del objeto. 1.2 Creación de Objetos Cuando se instancia un objeto el compilador crea en la memoria dinámica un espacio para tantas variables como atributos tenga la clase a la que pertenece el objeto. 1.3 Invocación de métodos Podemos comunicarnos con los objetos invocando sus métodos. Generalmente, los objetos hacen algo cuando invocamos un método. 1.4 Parámetros Los métodos pueden tener parámetros para aportar información adicional para realizar una tarea. El encabezado de un método se denomina signatura, proporciona la información necesaria para invocar dicho método. Los métodos pueden tener cualquier número de parámetro. 1.5 Tipos de dato Los parámetros tienen tipos. El tipo define la clase de valor que un parámetro puede tomar. 1.6 Instancias múltiples Se pueden crear muchos objetos similares a partir de una sola clase. Cada uno de los atributos del objeto tendrá sus propios valores. 1.7 Estado Los objetos tienen un estado. El estado está representado por todos los valores almacenados en los campos o atributos. 1.8 Qué es lo que contiene un objeto? Cuando se crea un objeto, se instancia una clase, mediante el operador new. Todos los objetos de la misma clase tienen los mismos campos. Los valores concretos de cada campo particular de cada objeto pueden ser diferentes. Los métodos se definen en la clase del objeto. Todos los objetos de la misma clase tienen los mismos métodos. 2

3 1.9 Código Java Cuando programamos en Java, escribimos instrucciones para invocar métodos sobre objetos. Tenemos que escribir los comandos correspondientes de forma textual. Cuando creamos un objeto, lo que hacemos es almacenar ese objeto en una variable. Para llamar a un método, escribimos el nombre del objeto seguido de punto y seguido del nombre del método, terminamos con una lista de parámetros o con un par de paréntesis vacíos si no hay parámetros. Todas las instrucciones Java terminan con un punto y coma Interacción entre Objetos Lo normal es crear una clase principal que inicie el resto Código Fuente Cada clase tiene algún código fuente asociado. El código fuente es un texto que define los detalles de la clase. El código fuente es un texto escrito en lenguaje de programación Java y define qué campos y métodos tiene la clase y qué ocurre cuando se invoca un método. El arte de la programación, que no es tarea fácil, consiste en aprender cómo escribir estas definiciones de clases. Cuando realiza algún cambio en el código, la clase necesita ser compilada haciendo clic en el botón Compile. Una vez que una clase ha sido compilada, se pueden crear nuevamente objetos y probar sus cambios Valores de retorno Los métodos que devuelven o retornan valores nos permiten obtener información sobre un objeto mediante una llamada al método. Quiere decir que podemos usar métodos tanto para cambiar el estado de un objeto como para investigar su estado. Con la palabra void indicamos que ese método no retoma ningún resultado Objetos como parámetros Los objetos pueden ser pasados como parámetros a los métodos de otros objetos. En el caso de que un método espere un objeto como parámetro, el nombre de la clase del objeto que espera se especifica como el tipo de parámetro en la signatura de dicho método. 3

4 1 Objetos y Clases Objetos y Clases Creación de Objetos Invocación de métodos Parámetros Tipos de dato Instancias múltiples Estado Qué es lo que contiene un objeto? Código Java Interacción entre Objetos Código Fuente Valores de retorno Objetos como parámetros

5 Capítulo 2 Definiciones de Clases Centro Asociado Palma de Mallorca Tutor: Antonio Rivero Cuesta 1

6 2.3 La cabecera de la clase 2 Definiciones de Clases El código de las clases puede dividirse en dos partes principales: un envoltorio exterior que simplemente da nombre a la clase y una parte interna mucho más grande que hace todo el trabajo. El envoltorio exterior tiene la siguiente apariencia: public class <NombreClase> { <parte interna> } El envoltorio exterior de las diferentes clases es muy parecida, su principal finalidad es proporcionar un nombre a la clase. Por convenio, los nombres de las clases comienzan siempre con una letra mayúscula Palabras clave o reservadas Las palabras reservadas son identificadores predefinidos que tienen un significado para el compilador y por tanto no pueden usarse como identificadores creados por el usuario en los programas. Las palabras reservadas en Java ordenadas alfabéticamente son las siguientes: abstract continue for new switch assert default goto package synchronized boolean do if private this break double implements protected throw byte else import public throws case enum instanceof return transient catch extends int short try char final interface static void class finally long strictfp volatile const float native super while 2.4 Campos, constructores y métodos La parte interna de la clase es el lugar en el que definimos los campos, constructores y métodos que dan a los objetos de la clase sus características particulares y su comportamiento. Podemos resumir las características esenciales de estos tres componentes de una clase como sigue: Los campos almacenan datos para que cada objeto los use. Los constructores permiten que cada objeto se prepare adecuadamente cuando es creado. Los métodos implementan el comportamiento de los objetos. En Java existen muy pocas reglas sobre el orden que se puede elegir para definir los campos, los constructores y los métodos dentro de una clase. Es importante elegir un estilo y luego usarlo de manera consistente, porque de este modo las clases serán más fáciles de leer y de comprender. 2

7 Orden de campos, constructores y métodos: public class NombreDeClase { Campos Constructores Métodos } Campos Los campos almacenan datos de manera persistente dentro de un objeto y son accesibles para todos los métodos del objeto. Los campos también son conocidos como variables de instancia. Como los campos pueden almacenar valores que pueden variar a lo largo del tiempo, podemos llamarlos variables. Los campos son pequeñas cantidades de espacio dentro de un objeto que pueden usarse para almacenar datos de manera persistente. Todos los objetos una vez creados dispondrán de un espacio para cada campo declarado en su clase. Las variables de clase, también se conocen como variables estáticas, siempre tienen el mismo valor para todos los objetos de una determinada clase. En realidad no son variables sino constantes Los comentarios se insertan en el código de una clase para proporcionar explicaciones a los lectores humanos. No tienen ningún efecto sobre la funcionalidad de la clase. Los comentarios de una sola línea van precedidos de los caracteres //. Los comentarios más detallados, que frecuentemente ocupan varias líneas, se escriben generalmente en la forma de comentarios multilínea: comienzan con el par de caracteres /* y terminan con el par */. Para definir una variable de campo dentro de una clase seguiremos el siguiente patrón: Normalmente, comienzan con la palabra clave private. Incluyen un nombre de tipo, int, String, etc. Incluyen un nombre elegido por el usuario para la variable de campo. Terminan en punto y coma. El tipo de un campo especifica la naturaleza del valor que puede almacenarse en dicho campo. Si el tipo es una clase, el campo puede contener objetos de esa clase Constructores Los constructores permiten que cada objeto sea preparado adecuadamente cuando es creado. Esta operación se denomina inicialización. El constructor inicializa el objeto en un estado razonable. Uno de los rasgos distintivos de los constructores es que tienen el mismo nombre que la clase en la que son definidos. El nombre del constructor sigue inmediatamente a la palabra public. Los campos del objeto se inicializan en el constructor, bien con valores fijos, o bien con parámetros del propio constructor. En Java todos los campos son inicializados automáticamente con un valor por defecto, si es que no están inicializados explícitamente. 3

8 El valor por defecto para los campos enteros es 0. Sin embargo, es preferible escribir explícitamente las asignaciones. No hay ninguna desventaja en hacer esto y sirve para documentar lo que está ocurriendo realmente. 2.5 Parámetros: recepción de datos La manera en que los constructores y los métodos reciben valores es mediante sus Parámetros. Los parámetros son otro tipo de variable, igual que los campos, por lo que se utilizan para almacenar datos. Los parámetros se definen en el encabezado de un constructor o un método. Los parámetros transportan datos que tienen su origen fuera del constructor o método y hacen que esos datos estén disponibles en el interior del constructor o método. Puesto que permiten almacenar valores, los parámetros formales constituyen otra clase de variables. Distinguimos entre nombres de los parámetros dentro de un constructor o un método y valores de los parámetros fuera de un constructor o un método. Hacemos referencia a los nombres como parámetros formales y a los valores como parámetros reales. Un parámetro formal está disponible para un objeto sólo dentro del cuerpo del constructor o del método que lo declara. Decimos que el alcance de un parámetro está restringido al cuerpo del constructor o del método en el que es declarado. El tiempo de vida de un parámetro se limita a una sola llamada de un constructor o método. Cuando se invoca un constructor o método, se crea el espacio adicional para las variables de parámetro y los valores externos se copia en dicho espacio. Una vez que completó su tarea, los parámetros formales desaparecen y se pierden los valores que contienen. Por el contrario, el tiempo de vida de un campo es el mismo tiempo de vida que el del objeto al que pertenece Elección de los nombres de variable Es conveniente elegir nombres que proporcionen algo de información al lector. 2.6 Asignación Destacamos la necesidad de almacenar el valor de corta vida de un parámetro dentro de algún lugar más permanente, una variable de campo. Las sentencias de asignación almacenan el valor representado por el lado derecho de la sentencia en una variable nombrada a la izquierda. Una regla sobre las sentencias de asignación es que el tipo de una expresión debe coincidir con el tipo de la variable a la que es asignada. La misma regla se aplica también entre los parámetros formales y los parámetros reales: el tipo de una expresión de un parámetro real debe coincidir con el tipo de una variable parámetro formal. 2.7 Métodos Los métodos se componen de dos partes: una cabecera y un cuerpo. Es importante distinguir entre la cabecera del método y declaración de campos porque son muy parecidos. Podemos decir que algo es un método y no un campo porque está seguido de un par de paréntesis: «(» y «)». Obsérvese también que no hay un punto y coma al final de la signatura. 4

9 El cuerpo del método es la parte restante del método, que aparece a continuación de la cabecera. Está siempre encerrado entre llaves: «{«y»}». Los cuerpos de los métodos contienen las declaraciones y las sentencias que definen qué ocurre dentro de un objeto cuando es invocado ese método. Las declaraciones se utilizan para crear espacio adicional de variables temporales, mientras que las instrucciones describen las acciones del método. Cualquier conjunto de declaraciones y sentencias, ubicado entre un par de llaves, es conocido como un bloque. Por lo que el cuerpo de una clase y los cuerpos de todos los métodos de las clases son bloques. Existen, dos diferencias significativas entre las cabeceras de los constructores de una clase y de los demás métodos: Por un lado los constructores tienen el mismo nombre que la clase en la que están definidos, y por otro los métodos siempre tienen un tipo de retorno (aunque sea void) mientras que el constructor no tiene tipo de retorno. El tipo de retorno se escribe exactamente antes del nombre del método. Es una regla de Java que el constructor no puede tener ningún tipo de retorno. Por otro lado, tanto los constructores como los métodos pueden tener cualquier número de parámetros formales, inclusive pueden no tener ninguno. Los métodos pueden tener una sentencia return y es la responsable de devolver un valor que coincida con el tipo de retorno de la signatura del método. Cuando un método contiene una sentencia return, siempre es la última sentencia que se ejecuta del mismo porque una vez que se ejecutó esta sentencia no se ejecutarán más sentencias en el método. Los tipos de retorno y las instrucciones de retorno funcionan conjuntamente. Podemos decir que una llamada a un método es una especie de pregunta que se la hace el objeto y el valor de retorno proporcionado por el método es la respuesta que el objeto da a esa pregunta. 2.8 Métodos Selectores y Mutadores Los métodos selectores get devuelven información sobre el estado del objeto. Proporcionan acceso a información acerca del estado del objeto. Un método selector contiene generalmente una sentencia return para devolver información de un valor en particular. Devolver un valor significa que se pasa una cierta información internamente entre dos partes diferentes del programa. A los métodos que modifican el estado de su objeto los llamamos métodos mutadores. Los métodos mutadores cambian el estado de un objeto. La forma básica de mutador admite un único parámetro y este valor se utiliza para sobreescribir directamente lo que haya almacenado en uno de los campos del objeto. Los métodos mutadores los denominamos métodos "set". La cabecera de un método de mutador, "set", normalmente tiene tipo de retorno void y un solo parámetro formal, el nuevo valor del campo a modificar. Un tipo de retorno void significa que el método no devuelve ningún valor cuando es llamado; es significativamente diferente de todos los otros tipos de retorno. En el cuerpo de un método void, esta diferencia se refleja en el hecho de que no hay ninguna sentencia return. Los métodos mutadores siempre tienen al menos una sentencia de asignación. El sumar (o restar) una cantidad al valor de una variable es algo tan común que existe un operador de asignación compuesto, especial para hacerlo: «+=». 5

10 2.9 Imprimir desde Métodos El método System.out.println(<parametro>) imprime su parámetro en la terminal de texto. Una sentencia como System.out.println("# Línea BlueJ"); imprime literalmente la cadena que aparece entre el par de comillas dobles. Todas estas sentencias de impresión son invocaciones al método println del objeto System.out que está construido dentro del lenguaje Java. Cuando se usa el símbolo «+» entre una cadena y cualquier otra cosa, este símbolo es un operador de concatenación de cadenas (es decir, concatena o reúne cadenas para crear una nueva cadena) en lugar de ser el operador aritmético de suma. El método println se puede llamar sin contener ningún parámetro de tipo cadena. Esto está permitido y el resultado de la llamada será dejar una línea en blanco entre esta salida y cualquier otra que le siga Tomas de decisión: la instrucción condicional Una sentencia condicional realiza una de dos acciones posibles basándose en el resultado de una prueba. También son conocidas como sentencias if. Se evalúa el resultado de una verificación o prueba, si el resultado es verdadero entonces hacemos una cosa, de lo contrario hacemos algo diferente. Una sentencia condicional tiene la forma general descrita en el siguiente pseudo-código: if (llevar a cabo alguna prueba que dé un resultado verdadero o falso){ Si la prueba dio resultado verdadero, ejecutar estas sentencias } else{ Si el resultado dio falso, ejecutar estas sentencias } La prueba que se usa en una sentencia condicional es un ejemplo de una expresión booleana. Las expresiones booleanas tienen sólo dos valores posibles: verdadero o falso (true o false). Se las encuentra comúnmente controlando la elección entre los dos caminos posibles de una sentencia condicional Variables locales Una variable local es una variable que se declara y se usa dentro de un solo método. Las declaraciones de las variables locales son muy similares a las declaraciones de los campos pero las palabras private o public nunca forman parte de ellas. Es muy común inicializar variables locales cuando se las declara. Se crean cuando se invoca un método y se destruyen cuando el método termina. Los constructores también pueden tener variables locales. Las variables locales se usan frecuentemente como lugares de almacenamiento temporal para ayudar a un método a completar su tarea. Podemos considerarlas como un almacenamiento de datos para un único método. Su alcance y tiempo de vida se limitan a los del método. Un error común es usar una variable local del mismo nombre que un campo evitará que el campo sea accedido dentro de un método. 6

11 2.17 Campos, parámetros y variables locales Las tres clases de variables pueden almacenar un valor acorde a su definición de tipo de dato. Los campos se definen fuera de los constructores y de los métodos. Los campos se usan para almacenar datos que persisten durante la vida del objeto, de esta manera mantienen el estado actual de un objeto. Tienen un tiempo de vida que finaliza cuando termina el objeto. El alcance de los campos es la clase: la accesibilidad de los campos se extiende a toda la clase y por este motivo pueden usarse dentro de cualquier constructor o método de clase en la que estén definidos. Como son definidos como privados (private), los campos no pueden ser accedidos desde el exterior de la clase. Los parámetros formales y las variables locales persisten solamente en el lapso durante el cual se ejecuta un constructor o un método. Su tiempo de vida es tan largo como una llamada, por lo que sus valores se pierden entre llamadas. Por este motivo, actúan como lugares de almacenamiento temporales antes que permanentes. Los parámetros formales se definen en el encabezado de un constructor o de un método. Reciben sus valores desde el exterior, se inicializan con los valores de los parámetros actuales que forman parte de la llamada al constructor o al método. Los parámetros formales tienen un alcance limitado a su definición de constructor o de método. Las variables locales se declaran dentro del cuerpo de un constructor o de un método. Pueden ser inicializadas y usadas solamente dentro del cuerpo de las definiciones de constructores o métodos. Las variables locales deben ser inicializadas antes de ser usadas en una expresión, no tienen un valor por defecto. Las variables locales tienen un alcance limitado al bloque en el que son declaradas. No son accesibles desde ningún lugar fuera de ese bloque. 7

12 Contenido 2 Definiciones de Clases La cabecera de la clase Palabras clave o reservadas Campos, constructores y métodos Campos Constructores Parámetros: recepción de datos Elección de los nombres de variable Asignación Métodos Métodos Selectores y Mutadores Imprimir desde Métodos Tomas de decisión: la instrucción condicional Variables locales Campos, parámetros y variables locales

13 Capítulo 3 Interacción de Objetos Centro Asociado Palma de Mallorca Tutor: Antonio Rivero Cuesta 1

14 3.2 Abstracción y Modularización 3 Interacción de Objetos Cuando un problema se agranda se vuelve más difícil mantener todos los detalles al mismo tiempo, aumenta la complejidad. La solución que usamos para tratar el problema de la complejidad es la abstracción. La abstracción es la habilidad de ignorar los detalles de las partes para centrar la atención en un nivel más alto de un problema. Dividimos el problema en subproblemas, luego en sub-subproblemas y así sucesivamente, hasta que los problemas resultan suficientemente fáciles de tratar. Una vez que resolvemos uno de los subproblemas no pensamos más sobre los detalles de esa parte, pero tratamos la solución hallada como un bloque de construcción para nuestro siguiente problema. Esta técnica se conoce como la técnica del divide y vencerás. La modularización es el proceso de dividir un todo en partes bien definidas que pueden ser construidas y examinadas separadamente, las cuales interactúan entre sí de maneras bien definidas. La modularización y la abstracción se complementan mutuamente. La modularización es el proceso de dividir cosas grandes (problemas) en partes más pequeñas. La abstracción es la habilidad de ignorar los detalles para concentrarse en el cuadro más grande. 3.3 Abstracción en el Software En el caso de programas complejos, para mantener una visión global del problema tratamos de identificar los componentes que podemos programar como entidades independientes, y luego intentamos utilizar esos componentes como si fueran partes simples sin tener en cuenta su complejidad interna. En programación orientada a objetos, estos componentes y subcomponentes son objetos. Las clases definen tipos. El nombre de una clase puede ser usado como el tipo de una variable. Las variables cuyo tipo es una clase pueden almacenar objetos de dicha clase. El tipo de un campo especifica la naturaleza del valor que puede almacenarse en dicho campo. Si el tipo es una clase, el campo puede contener objetos de esa clase. 3.6 Diagramas de Clases con Diagramas de Objetos El diagrama de clases muestra las clases de una aplicación y las relaciones entre ellas. Da información sobre el código. Representa la vista estática de un programa. El diagrama de objetos muestra los objetos y sus relaciones en un instante determinado de la ejecución de una aplicación. Da información sobre los objetos en tiempo de ejecución. Representa la vista dinámica de un programa. a) diagrama de objetos; b) diagrama de clases 2

15 El diagrama de objetos también muestra otro detalle importante, cuando una variable almacena un objeto, éste no es almacenado directamente en la variable sino que en la variable sólo se almacena una referencia al objeto. Referencia a un objeto. Las variables de tipo objeto almacenan referencias a los objetos. 3.7 Tipos Primitivos y Tipos Objeto Java reconoce dos clases de tipos muy diferentes: los tipos primitivos y los tipos objeto. Los tipos primitivos están todos predefinidos en el lenguaje Java Los tipos primitivos en Java son todos los tipos que no son objetos. Los tipos primitivos más comunes son los tipos int, booleano, char, double y long. Los tipos primitivos no poseen métodos. Tanto los tipos primitivos como los tipos objeto pueden ser usados como tipos, pero existen situaciones en las que se comportan de manera muy diferente. Una diferencia radica en cómo se almacenan los valores. Los valores primitivos se almacenan directamente en una variable. Por otro lado, los objetos no se almacenan directamente en una variable sino que se almacena una referencia al objeto. 3.8 El código fuente para ClockDisplay Ver código 3.3, página 71. Operadores Lógicos Los operadores lógicos operan con valores booleanos (verdadero o falso) y producen como resultado un nuevo valor booleano. Los tres operadores lógicos más importantes son «y», «o» y «no». En Java se escriben: && (y), (o) y! (no). La expresión a && b es verdadera si tanto a como b son verdaderas, en todos los otros casos es falsa. La expresión a b es verdadera si alguna de las dos es verdadera, puede ser a o puede ser b o pueden ser las dos; si ambas son falsas el resultado es falso. La expresión!a es verdadera si a es falso, y es falsa si a es verdadera Concatenación de cadenas El operador suma (+) tiene diferentes significados dependiendo del tipo de sus operandos. Si ambos operandos son números, el operador + representa la adición. Si los operandos son cadenas, el significado del signo más es la concatenación de cadenas y el resultado es una única cadena compuesta por los dos operandos. Si uno de los operandos del operador más es una cadena y el otro no, el operando que no es cadena es convertido automáticamente en una cadena y luego se realiza la concatenación correspondiente. Esta conversión funciona para todos los tipos. Cualquier tipo que se «sume» con una cadena, automáticamente es convertido a una cadena y luego concatenado El Operador Módulo El operador módulo (%) calcula el resto de una división entera. (27%4) será 3. 3

16 3.9 Objetos que Crean Objetos Los objetos pueden crear otros objetos usando el operador new. La sintaxis de una operación para crear un objeto nuevo es: new NombreDeClase(lista-de-parámetros) La operación new hace dos cosas: Crea un nuevo objeto de la clase nombrada. Ejecuta el constructor de dicha clase. Si el constructor de la clase tiene parámetros, los parámetros actuales deben ser proporcionados en la sentencia new Constructores Múltiples Es común que las declaraciones de clases contengan versiones alternativas de constructores o métodos que proporcionan varias maneras de llevar a cabo una tarea en particular mediante diferentes conjuntos de parámetros. Este punto se conoce como sobrecarga de un constructor o método. Una clase puede contener más de un constructor o más de un método con el mismo nombre, siempre y cuando tengan distintos conjuntos de parámetros que se diferencien por sus tipos Llamadas a Métodos Llamada a métodos internos Los métodos pueden llamar a otros métodos de la misma clase como parte de su implementación. Se denomina llamada a método interno. Se denomina así porque este método está ubicado en la misma clase en que se produce su llamada. Las llamadas a métodos internos tienen la siguiente sintaxis: nombredelmétodo(lista-de-parámetros) Cuando se encuentra una llamada a un método, se ejecuta este último, y después de su ejecución se vuelve a la llamada al método y se continúa con la sentencia que sigue a la invocación. Para que la llamada a un método coincida con la signatura del mismo, deben coincidir tanto el nombre del método como su lista de parámetros Llamada a métodos externos Los métodos pueden llamar a métodos de otros objetos usando la notación de punto: se denomina llamada a método externo. La sintaxis de una llamada a un método externo es: objeto.nombredelmétodo(lista-de-parámetros) Esta sintaxis se conoce con el nombre de notación con punto. Consiste en un nombre de objeto, un punto, el nombre del método y los parámetros para la llamada Es particularmente importante apreciar que usamos aquí el nombre de un objeto y no el nombre de una clase. El conjunto de métodos de un objeto que está disponible para otros objetos se denomina su interfaz. 4

17 3.12 Otro ejemplo de interacción de objetos La Palabra Clave this Observe la siguiente sentencia con la palabra clave this: this.from = from; La línea en su totalidad es una sentencia de asignación, asigna el valor del lado derecho (from) a la variable que está del lado izquierdo (this.from) del símbolo igual (=). El motivo por el que se usa esta construcción radica en que tenemos una situación que se conoce como sobrecarga de nombres, y significa que el mismo nombre es usado por entidades diferentes. Es importante comprender que los campos de un objeto y los parámetros o variables locales son variables que existen independientemente unas de otras, aun cuando compartan nombres similares. Un parámetro o variable local y un campo que comparten un nombre no representan un problema para Java. La especificación de Java responde a esta pregunta: Java especifica que siempre se usará la declaración más cercana encerrada en un bloque. Dado que el parámetro o variable local from está declarado en el método y el campo from está declarado en la clase, se usará el parámetro pues su declaración es la más cercana a la sentencia que lo usa. Lo que necesitamos es un mecanismo para acceder a un campo cuando existe una variable con el mismo nombre declarada más cerca de la sentencia que la usa. Este mecanismo es justamente lo que significa la palabra clave this. La expresión this hace referencia al objeto actual. Al escribir this.from estamos haciendo referencia al campo del objeto actual, por lo que esta construcción nos ofrece una forma de referirnos a los campos en lugar de a los parámetros cuando tienen el mismo nombre. Ahora podemos leer la sentencia de asignación nuevamente: this.from = from; Como podemos ver, esta sentencia tiene el mismo efecto que la siguiente: campo de nombre "from" = parámetro de nombre "from"; Asigna el valor del parámetro from al campo del mismo nombre y por supuesto, esto es exactamente lo que necesitamos hacer para inicializar el objeto adecuadamente. La razón por lo que hacemos esto radica en la legibilidad del código. Si un nombre describe perfectamente la finalidad, resulta razonable usarlo como nombre de parámetro y de campo y eliminar los conflictos de nombres usando la palabra clave this en la asignación. 5

18 3.13 Uso del depurador, Debugger Un depurador es una herramienta de software que ayuda a examinar cómo se ejecuta una aplicación. Puede usarse para encontrar problemas. Un depurador es un programa que permite que los programadores ejecuten una aplicación paso a paso. Generalmente, ofrece funciones para detener y comenzar la ejecución de un programa en un punto seleccionado del código y para examinar los valores de las variables. 6

19 3 Interacción de Objetos Abstracción y Modularización Abstracción en el Software Diagramas de Clases con Diagramas de Objetos Tipos Primitivos y Tipos Objeto El código fuente para ClockDisplay Concatenación de cadenas El Operador Módulo Objetos que Crean Objetos Constructores Múltiples Llamadas a Métodos Llamada a métodos internos Llamada a métodos externos Otro ejemplo de interacción de objetos La Palabra Clave this Uso del depurador, Debugger

20 Capítulo 4 Agrupar Objetos Centro Asociado Palma de Mallorca Tutor: Antonio Rivero Cuesta 1

21 4.1 La colección como abstracción 4 Agrupar Objetos Una colección es una abstracción y es el concepto de agrupar cosas para poder referirnos a ellas y manejarlas de manera conjunta. Una colección puede ser grande, pequeña o vacía. Operaciones típicas son: Añadir. Eliminar. Ordenar. La abstracción colección se convierte en una clase de algún tipo. Las operaciones serían los métodos de esa clase. Una colección de música Rock sería una instancia de la clase. Los elementos almacenados en una instancia de colección serían, ellos mismos, objetos. Necesitaremos una solución genérica para agrupar los objetos en colecciones. En ocasiones el número de elementos almacenados en la colección varía a lo largo del tiempo. Una solución adecuada sería aquella que no requiera que conozcamos anticipadamente la cantidad de elementos que queremos agrupar o bien, establecer un límite mayor que dicho número. 4.4 Utilización de una clase de librería Tenemos en cuenta que las clases de librería no aparecen en el diagrama de clases de BlueJ Los lenguajes orientados a objetos suelen estar acompañados de librerías de clases. Estas bibliotecas contienen varios cientos o miles de clases diferentes que han demostrado ser de gran ayuda para los desarrolladores en un amplio rango de proyectos diferentes. Java cuenta con varias de estas bibliotecas y las denomina paquetes, packages. La clase ArrayList, que es un ejemplo de una clase estándar de librería está definida en el paquete java.util. ArrayList es una clase de colección de propósito general, no está restringida en lo que respecta a los tipos de objeto que puede almacenar Las colecciones de objetos son objetos que pueden almacenar un número arbitrario de otros objetos Importación de una clase de librería El acceso a una clase estándar de librería de Java se obtiene mediante la sentencia import, para ArrayList sería: import java.util.arraylist; Esta sentencia hace que la clase ArrayList del paquete java.util esté disponible para nuestra clase. Las sentencias import deben ubicarse en el texto de la clase, siempre antes del comienzo de la declaración de la clase. 2

22 Una vez que el nombre de una clase ha sido importado desde un paquete de esta manera, podemos usar dicha clase tal como si fuera una de nuestras propias clases. Por ejemplo como en la siguiente declaración: private ArrayList<String> files; Se lee: "una colección ArrayList de objetos tipo String" Aquí se observa una nueva estructura sintáctica: la mención de String entre símbolos de menor < y de mayor > : <String>. Cuando usamos colecciones, debemos especificar dos tipos: El tipo propio de la colección, en este caso ArrayList. El tipo de los elementos que planeamos almacenar en la colección, en este caso String Notación diamante Para instanciar un nuevo objeto se necesita especificar de nuevo el tipo completo con el tipo de elemento entre los símbolos de menor y de mayor, seguido de los paréntesis para la lista de parámetros: files = new ArrayList<String>(); Desde la versión 7 de Java el compilador puede inferir el tipo parametrizado del objeto que se está creando a partir del tipo de la variable a la que se está realizando la asignación. Se conoce como notación diamante: files = new ArrayList<>(); Principales métodos de ArrayList La clase ArrayList declara muchos métodos entre ellos: add, size, get y remove. add almacena un objeto en la lista. size devuelve el número total de elementos almacenados en la lista. get devuelve un elemento, sin eliminarlo de la colección. remove elimina un objeto en la lista. 3

23 4.5 Estructuras de objetos con colecciones Características importantes de la clase ArrayList son: Es capaz de aumentar su capacidad interna tanto como se requiera: cuando se agregan más elementos, simplemente crea el espacio necesario para ellos. Mantiene su propia cuenta privada de la cantidad de elementos almacenados, que se obtiene mediante size. Mantiene el orden de los elementos que se agregan, el método add almacena cada nuevo elemento al final de la lista, posteriormente se pueden recuperar en el mismo orden. 4.6 Clases genéricas La nueva notación, ArrayList<String>, es una clase pero requiere que se especifique un segundo tipo como parámetro cuando se usa para declarar campos u otras variables. Las clases que requieren este tipo de parámetro se denominan clases genéricas. Las clases genéricas no definen un tipo único en Java sino potencialmente muchos tipos. Por ejemplo, la clase ArrayList puede usarse para especificar un ArrayList de Strings, un ArrayList de Personas, un ArrayList de Rectángulos, o un ArrayList de cualquier otra clase. Cada ArrayList en particular es un tipo distinto que puede usarse en declaraciones de campos, parámetros y tipos de retorno. private ArrayList<Persona> miembros; private ArrayList<MaquinaDeBoletos> mismaquinas; Estas declaraciones establecen que: miembros contiene un ArrayList que puede almacenar objetos Persona. mismaquinas contiene un ArrayList que almacena objetos MaquinaDeBoletos. Hay que tener en cuenta que ArrayList<Persona> y ArrayList<MaquinaDeBoletos> son tipos diferentes. Los campos no pueden ser asignados uno a otro, aun cuando sus tipos deriven de la misma clase. 4.7 Numeración dentro de las colecciones Los elementos almacenados en las colecciones tienen una numeración implícita o posicionamiento que comienza a partir de cero. La posición que ocupa un objeto en una colección se conoce como su índice. El primer elemento que se agrega a una colección tiene por índice al número 0, el segundo tiene al número 1, y así sucesivamente hasta size 1. Los métodos que se utilicen deben asegurar que el valor de su parámetro se encuentre dentro del rango de valores de índice permitidos [0...size() 1]. Si se intenta acceder a un elemento de una colección que está fuera de los índices válidos del ArrayList se obtendrá un mensaje del error denominado desbordamiento, que en Java será IndexOutBoundsException. 4

24 4.7.1 El efecto de las eliminaciones sobre la numeración La clase ArrayList tiene un método remove que toma como parámetro el índice del elemento o el propio elemento a eliminar. Una complicación del proceso de eliminación es que se modifican los valores de los índices de los restantes objetos que están almacenados en la colección. También es posible insertar elementos en un ArrayList en otros lugares distintos que el final de la colección. Esto significa que los elementos que ya están en la lista deben incrementar sus índices cuando se agrega un nuevo elemento. Los usuarios deben ser conscientes de estos cambios en los índices cuando agregan o eliminan notas. 4.9 Procesamiento de una colección completa A la hora de procesar una colección y realizar una determinada acción varias veces utilizaremos instrucciones de bucle o estructuras iterativas de control. Un ciclo o bucle puede usarse para ejecutar repetidamente un bloque de sentencias sin tener que escribirlas varias veces El ciclo for-each for-each es un tipo de bucle. Las acciones de un ciclo for-each se pueden resumir en el siguiente pseudocódigo: for(tipodelelemento elemento: colección){ cuerpo del ciclo } Consta de dos partes: Una cabecera del bucle (la primera línea del ciclo). Un cuerpo a continuación del encabezado. El cuerpo contiene aquellas instrucciones que queremos ejecutar una y otra vez. Una forma de entender este bucle sería: para cada elemento en la colección hacer: { cuerpo del bucle } En cada vuelta, antes de que la sentencia se ejecute, la variable elemento se configura para contener uno de los elementos de la lista: primero el del índice 0, luego el del índice 1, y así sucesivamente. La palabra clave for inicia el bucle, seguida por un par de paréntesis en los que se definen los detalles del bucle, lo primero vemos TipoDelElemento elemento, que declara una variable local elemento que se usará para almacenar los distintos elementos de la lista. Llamaremos variable de bucle a la variable que se usará para almacenar los elementos de la lista. El tipo de la variable de bucle debe ser el mismo que el tipo del elemento declarado para la colección que estamos usando, a continuación aparecen dos puntos y la variable que contiene la colección que deseamos procesar. Cada elemento de esta colección será asignado en su turno a la variable de bucle, y para cada una de estas asignaciones el cuerpo del bucle se ejecutará una sola vez. 5

25 4.10 Iteración Indefinida Una acción se repetirá un número de veces no predecible hasta que se complete la tarea El bucle while Un bucle while consta de una cabecera y de un cuerpo, el cuerpo puede ejecutarse repetidamente. La estructura de un bucle while sería: while (condición booleana){ cuerpo del ciclo } El ciclo while comienza con la palabra clave while, seguida de una condición booleana. Este ciclo es más flexible que el ciclo for-each. Puede recorrer un número variable de elementos de la colección, dependiendo de la condición del bucle. La condición booleana es una expresión lógica que se usa para determinar si el cuerpo debe ejecutarse al menos una vez. Si la condición se evalúa verdadera, se ejecuta el cuerpo del ciclo. Cada vez que se ejecuta el cuerpo del ciclo, la condición se vuelve a controlar nuevamente. Este proceso continúa repetidamente hasta que la condición resulta falsa, que es el punto en el que se salta del cuerpo del ciclo y la ejecución continúa con la sentencia que esté ubicada inmediatamente después del cuerpo Iteración mediante una variable índice Utilizar un bucle while requiere más esfuerzo de programación: Hay que declarar fuera del bucle una variable para el índice e iniciarlo por nuestros propios medios a 0 para acceder al primer elemento de la lista. La condición tiene que estar bien definida, sino el bucle será infinito. También tenemos que llevar nuestra propia cuenta del índice para recordar la posición en que estábamos. Existe un operador especial para incrementar una variable numérica en 1: variable++; Que es equivalente a: variable = variable + 1; Hay dos puntos más a destacar sobre el bucle while: No necesita estar relacionado con una colección. No necesitamos procesar cada uno de sus elementos de la colección. Una ventaja de tener una variable de índice explícita es que podemos utilizar su valor tanto dentro como fuera del bucle. Una variable de índice local nos resultará útil a la hora de realizar búsquedas en una lista: Nos proporciona información dónde está ubicado el elemento Podemos hacer que esta información siga estando disponible una vez que el bucle haya finalizado. 6

26 Búsquedas en una colección La característica clave de una búsqueda infinita es que implica una iteración indefinida. En situaciones reales de búsqueda consideramos dos posibilidades: La búsqueda tiene éxito después de un número indefinido de iteraciones. La búsqueda falla después de agotar todas las posibilidades. Uno de estos dos criterios debe evaluar la condición como false para detener el bucle Algunos ejemplos no relacionados con colecciones Los bucles podemos utilizarlos en situaciones distintas a la iteración de una colección. Los bucles each-for no son válidos para este propósito. Podemos usar el bucle while o el bucle for El tipo iterador Existe una tercera variante para recorrer una colección, que está entre medio de los ciclos while y for-each. Usa un ciclo while para llevar a cabo el recorrido y un objeto iterador en lugar de una variable entera como índice para controlar la posición dentro de la lista. Iterator, con la I mayúscula es un tipo de Java, también existe el método iterator. Un iterador es un objeto que proporciona funcionalidad para recorrer todos los elementos de una colección. El método iterator de ArrayList devuelve un objeto Iterator. La clase Iterator también está definida en el paquete java.util. Para poder utilizarlo: Import java.util.arraylist; Import java.util.iterator; Un Iterator provee dos métodos para iterar una colección: hasnext y next. La manera de uso en pseudocódigo sería: Iterator<TipoDelElemento> it = micoleccion.iterator (); while (it.hasnext ( )) { Invocar it. next () para obtener el siguiente elemento Hacer algo con dicho elemento } Iterator también es de tipo genérico por lo que hay que parametrizarlo con el tipo de los elementos de la colección. Luego usamos dicho iterador para controlar repetidamente si hay más elementos it.hastnext() y para obtener el siguiente elemento it.next(). Un punto a destacar es que le pedimos al iterador que devuelva el siguiente elemento y no a la colección. La llamada a next hace que el objeto Iterator devuelva el siguiente elemento de la colección y luego avance más allá de ese elemento. 7

27 Comparación entre los iteradores y el acceso mediante índices El bucle for-each, es la técnica estándar que se usa si deben procesarse todos los elementos de una colección porque es el más breve para este caso, pero la menos flexible. El bucle while (con un índice y el método get) y el iterador tienen la ventaja de que la iteración puede ser detenida más fácilmente en mitad del proceso, de modo que son mejores cuando se quiere procesar sólo una parte de una colección. Para algunas colecciones, es imposible o muy ineficiente acceder a elementos individuales mediante un índice y se accede mediante for-each o iterador. El Iterator está disponible para todas las colecciones de las clases de las bibliotecas de Java y es un patrón importante que se usará a menudo Eliminación de elementos Puede darse el caso que necesitemos eliminar elementos de la colección mientras estamos iterando. La solución apropiada es utilizar un Iterator. Tiene un tercer método, remove. No admite ningún parámetro y tiene un tipo de retorno void. Invocar a remove hará que sea eliminado el elemento devuelto por la llamada más reciente a next. Este tipo de eliminación no es posible con el bucle for-each ya que no dispone de un Iterator con el que trabajar. Podemos utilizar el bucle while con un Iterator Otro ejemplo: un sistema de subastas La palabra clave null. La palabra clave null se usa para significar que «no hay objeto», es decir cuando una variable objeto no está haciendo referencia realmente ningún objeto. Un campo que no haya sido inicializado explícitamente contendrá el valor por defecto null Objetos anónimos La siguiente sentencia ilustra el uso de objetos anónimos: micoleccion.add(new Elemento()); Aquí estamos haciendo dos cosas: Crear un nuevo objeto Elemento Pasar este nuevo objeto al método add de micoleccion. Podríamos haber escrito lo mismo en dos líneas de código, una para declarar el nuevo elemento y otra para pasárselo a la colección. Ambas versiones son equivalentes, pero la primera versión evita declarar una variable que puede tener un uso muy limitado. Se crea un objeto anónimo, un objeto sin nombre, pasándoselo directamente al método que lo utiliza. Dos objetos String s1 y s2 pueden compararse para ver si son iguales mediante la expresión lógica: s1.equals(s2). 8

28 4.16 Colecciones de tamaño fijo A veces conocemos anticipadamente cuántos elementos deseamos almacenar en la colección y este número permanece invariable durante la vida de la colección. En estas circunstancias, tenemos la opción de utilizar una colección de objetos de tamaño fijo. Una colección de tamaño fijo se denomina array o vector. Un vector es un tipo especial de colección que puede almacenar un número fijo de elementos. Se obtienen ventajas con respecto a las clases de colecciones de tamaño flexible: El acceso a los elementos de un vector es generalmente más eficiente que el acceso a los elementos de una colección de tamaño flexible. Los vectores son capaces de almacenar objetos o valores de tipos primitivos. Las colecciones de tamaño flexible sólo pueden almacenar objetos Declaración de variables vectores La característica distintiva de la declaración de una variable de tipo vector es un par de corchetes que forman parte del nombre del tipo: int[]. Este detalle indica que la variable declarada es de tipo vector de enteros. Decimos que int es el tipo base de este vector en particular. La declaración de una variable vector no crea en sí misma un objeto vector, sólo reserva un espacio de memoria para que en un próximo paso, usando el operador new, se cree el vector tal como con los otros objetos Creación de objetos vector La siguiente sentencia muestra como se asocia una variable vector con un objeto vector: obejetovector = new int[tamaño]; La forma general de la construcción de un objeto vector es: new tipo[expresión-entera] La elección del tipo especifica de qué tipo serán todos los elementos que se almacenarán en el vector. La expresión-entera especifica el tamaño del vector. Cuando se asigna un objeto vector a una variable vector, el tipo del objeto vector debe coincidir con la declaración del tipo de la variable. Cuando se crea un vector no crea tantos objetos como tiene capacidad para almacenar, solo crea una colección de tamaño fijo que es capaz de almacenar dichos objetos Utilizar objetos de vector Se accede a los elementos individuales de un objeto vector mediante un índice. Un índice es una expresión entera escrita entre un par de corchetes a continuación del nombre de una variable vector. Los valores válidos para una expresión que funciona como índice dependen de la longitud del vector en el que se usarán. Los índices de los vectores siempre comienzan por cero y van hasta el valor del tamaño del vector menos uno. 9

29 Las expresiones que seleccionan un elemento de un vector se pueden usar en cualquier lugar que requiera un valor del tipo base del vector. Esto quiere decir que podemos usarlas, por ejemplo, en ambos lados de una asignación. El uso de un índice de un vector en el lado izquierdo de una asignación es equivalente a un método mutador (o método set) del vector porque cambiará el contenido del mismo. Los restantes usos del índice son equivalentes a los métodos selectores (o métodos get) El bucle for Java define dos variantes para el ciclo for, el bucle for-each, y el bucle for, que es una estructura de control repetitiva alternativa que resulta particularmente adecuada cuando: Queremos ejecutar un conjunto de sentencias un número exacto de veces. Necesitamos una variable dentro del ciclo cuyo valor cambie en una cantidad fija, generalmente en 1, en cada iteración. Es común el uso del ciclo for cuando queremos hacer algo con cada elemento de un vector tal como imprimir el contenido de cada elemento. Un ciclo for tiene la siguiente forma general: for(inicialización;condición;incremento){ instrucciones a repetir } En este ciclo for, los paréntesis contienen tres secciones distintas separadas por símbolos de punto y coma (;). Su equivalente while: Inicialización; while (condición){ Instrucciones a repetir incremento } Todos los vectores contienen un campo length que contiene el valor del tamaño del vector. El valor de este campo coincide siempre con el valor entero usado para crear el objeto vector. Por eso la condición del bucle suele usar el operador menor que < para controlar el valor del índice respecto de la longitud del vector. Por lo general, cuando deseamos acceder a cada elemento de un vector, el encabezado del bucle for tendrá la siguiente forma: for (int indice = 0; indice < vector.length; indice ++) 10

30 4.17 Qué ciclo debo usar? Si se necesita recorrer todos los elementos de una colección, el ciclo for-each es, casi siempre, el ciclo más elegante para usar, aunque no provee una variable contadora de ciclo. Si se tiene un bucle que no está relacionado con una colección (pero lleva a cabo un conjunto de acciones repetidamente), el ciclo for-each no resulta útil. En este caso, se puede elegir entre el ciclo for y el ciclo while. El ciclo for-each es sólo para colecciones. El ciclo for es bueno si conoce anticipadamente la cantidad de repeticiones necesarias. Esta información puede estar dada por una variable, pero no puede modificarse durante la ejecución del ciclo. Este ciclo también resulta muy bueno cuando necesita usar explícitamente una variable contadora. El ciclo while será el adecuado si, al comienzo del ciclo, no se conoce la cantidad de iteraciones que se deben realizar. El fin del ciclo puede determinarse previamente mediante alguna condición. Si tenemos que eliminar elementos de la colección mientras la recorremos en bucle, conviene utilizar un bucle for con un Iterator si se quiere examinar la colección completa, o un bucle while cuando queramos terminar antes de alcanzar el final de la colección. 11

CAPITULO 4. AGRUPAR OBJETOS

CAPITULO 4. AGRUPAR OBJETOS CAPITULO 4. AGRUPAR OBJETOS 4.1 Agrupar objetos en colecciones de tamaño flexible Frecuentemente se necesitan agrupar los objetos en colecciones; muchas veces el número de elementos almacenados en la colección

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

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

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

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

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

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

Todo programa en 'C' consta de una o más funciones, una de las cuales se llama main.

Todo programa en 'C' consta de una o más funciones, una de las cuales se llama main. LENGUAJE C CARACTERISTICAS DEL LENGUAJE 'C' El lenguaje 'C' se conoce como un lenguaje compilado. Existen dos tipos de lenguaje: interpretados y compilados. Los interpretados son aquellos que necesitan

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

CONCEPTOS BASICOS DEL LENGUAJE JAVA

CONCEPTOS BASICOS DEL LENGUAJE JAVA CONCEPTOS BASICOS DEL LENGUAJE JAVA NOMENCLATURA GENERAL En Java se distinguen las letras mayúsculas y minúsculas. Las reglas del lenguaje respecto a los nombres de variables son muy amplias y permiten

Más detalles

Identificadores, palabras reservadas, tipos de datos, operadores aritméticos y el sistema estándar de salida en Java

Identificadores, palabras reservadas, tipos de datos, operadores aritméticos y el sistema estándar de salida en Java Identificadores, palabras reservadas, tipos de datos, operadores aritméticos y el sistema estándar de salida en Java Identificadores Las variables se utilizan en programación para almacenar temporalmente

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

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

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

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

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

Elementos léxicos del lenguaje de programación Java

Elementos léxicos del lenguaje de programación Java Elementos léxicos del lenguaje de programación Java Elementos léxicos del lenguaje de programación Java Palabras reservadas Identificadores Literales Operadores Delimitadores Comentarios Apéndices Operadores

Más detalles

PHP: Lenguaje de programación

PHP: Lenguaje de programación Francisco J. Martín Mateos Carmen Graciani Diaz Dpto. Ciencias de la Computación e Inteligencia Artificial Universidad de Sevilla Tipos de datos Enteros Con base decimal: 45, -43 Con base octal: 043, -054

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

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

Principios de Computadoras II

Principios de Computadoras II Departamento de Ingeniería Electrónica y Computadoras Operadores y Expresiones rcoppo@uns.edu.ar Primer programa en Java 2 Comentarios en Java Comentario tradicional (multi-línea) Comentario de línea Comentario

Más detalles

Métodos que devuelven valor Dado el siguiente triángulo rectángulo:

Métodos que devuelven valor Dado el siguiente triángulo rectángulo: Métodos que devuelven valor Dado el siguiente triángulo rectángulo: hipotenusa altura base Para dibujar este triángulo necesitamos los siguientes datos: base y altura La base y la altura, se utilizarán

Más detalles

Tema 2. El lenguaje de programación Java (Parte 1)

Tema 2. El lenguaje de programación Java (Parte 1) Programación en Java Tema 2. El lenguaje de programación Java (Parte 1) Luis Rodríguez Baena Facultad de Informática Elementos del lenguaje (I) El juego de caracteres. No utiliza ASCII, sino Unicode de

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

Programación MODULAR: Subalgoritmos - funciones y procedimientos

Programación MODULAR: Subalgoritmos - funciones y procedimientos Programación MODULAR: Subalgoritmos - funciones y procedimientos Uno de los métodos fundamentales para resolver un problema es dividirlo en problemas más pequeños, llamados subproblemas. Estos problemas

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

REFERENCIA DEL LENGUAJE

REFERENCIA DEL LENGUAJE REFERENCIA DEL LENGUAJE Sesión 07 Mg. Cadenas de caracteres Una cadena de caracteres es un arreglo de caracteres. Los caracteres son letras, números y signos de puntuación. Cuando un número se usa como

Más detalles

GUÍA DE ESTILO EN JAVA

GUÍA DE ESTILO EN JAVA GUÍA DE ESTILO EN JAVA Formato de líneas 1. No usar más de 80 caracteres por línea (imagen de tarjeta). De esta forma se pueden visualizar las líneas completas con un editor de texto o en una hoja impresa

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

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

$0 Representa al parámetro cero o nombre del programa $1 Representa al parámetro uno $2 Representa al parámetro dos

$0 Representa al parámetro cero o nombre del programa $1 Representa al parámetro uno $2 Representa al parámetro dos PROGRAMACIÓN DE SHELL SCRIPTS EN LINUX El shell es un intérprete de órdenes, pero el shell no es solamente eso; los intérpretes de órdenes de Linux son auténticos lenguajes de programación. Como tales,

Más detalles

Objetivo de aprendizaje del tema

Objetivo de aprendizaje del tema Computación II Tema 3. Identificadores, palabras clave y tipos de datos Objetivo de aprendizaje del tema Al finalizar el tema serás capaz de: Distinguir i entre modificadores d válidos y no válidos. Enumerar

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

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

APUNTADORES. Un apuntador es un objeto que apunta a otro objeto. Es decir, una variable cuyo valor es la dirección de memoria de otra variable.

APUNTADORES. Un apuntador es un objeto que apunta a otro objeto. Es decir, una variable cuyo valor es la dirección de memoria de otra variable. APUNTADORES Un apuntador es un objeto que apunta a otro objeto. Es decir, una variable cuyo valor es la dirección de memoria de otra variable. No hay que confundir una dirección de memoria con el contenido

Más detalles

Manual de turbo pascal

Manual de turbo pascal Universidad Nacional Experimental De Los Llanos Occidentales Ezequiel Zamora UNELLEZ-Barinas Manual de turbo pascal Bachilleres: Martinez Ninibeth C.I:20.867.002 Mora Yaco C.I:17.205.073 Estructura de

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

Tema 13: Apuntadores en C

Tema 13: Apuntadores en C Tema 13: Apuntadores en C M. en C. Edgardo Adrián Franco Martínez http://www.eafranco.com edfrancom@ipn.mx @edfrancom edgardoadrianfrancom Estructuras de datos (Prof. Edgardo A. Franco) 1 Contenido Introducció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

Instrucciones de control

Instrucciones de control Instrucciones de control Instrucciones de control de flujo C# ofrece un conjunto de sentencias similar al de C, C++ o Java. A continuación se estudian muy brevemente cada una de ellas. if if se utiliza

Más detalles

Algoritmos. Medios de expresión de un algoritmo. Diagrama de flujo

Algoritmos. Medios de expresión de un algoritmo. Diagrama de flujo Algoritmos En general, no hay una definición formal de algoritmo. Muchos autores los señalan como listas de instrucciones para resolver un problema abstracto, es decir, que un número finito de pasos convierten

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

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

Un identificador le da nombre único a un elemento en un programa (Variables, procedimientos, etc.). No puede contener operadores como + - * /

Un identificador le da nombre único a un elemento en un programa (Variables, procedimientos, etc.). No puede contener operadores como + - * / undamentos de sintaxis en algunas instrucciones de C#.Net Dr. Ramón Roque Hernández Identificadores Un identificador le da nombre único a un elemento en un programa (ariables, procedimientos, etc.). No

Más detalles

Estructuras en LabVIEW.

Estructuras en LabVIEW. Estructuras en LabVIEW. Sumario: 1. Ejecución según el flujo de datos. 2. Estructuras básicas disponibles en LabVIEW. a) Estructura Sequence. b) Estructura Case. c) Estructura For Loop. d) Estructura While

Más detalles

TEMA 2. EL LENGUAJE C. ELEMENTOS BÁSICOS

TEMA 2. EL LENGUAJE C. ELEMENTOS BÁSICOS TEMA 2. EL LENGUAJE C. ELEMENTOS BÁSICOS Una vez que ya sabes crear tus propios programas, vamos a analizar los fundamentos del lenguaje de programación C. Este capítulo incluye además los siguientes temas:

Más detalles

Programación Orientada a Objetos (POO)

Programación Orientada a Objetos (POO) Programación Orientada a Objetos (POO) Introducción La programación orientada a objetos es una técnica de programación en la cual expresamos el código en términos relacionados a como vemos las cosas en

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

AGRUPA P R OBJET E OS 1

AGRUPA P R OBJET E OS 1 AGRUPAR OBJETOS 1 Son objetos que pueden almacenar un número arbitrario de objetos. Para formar colecciones usaremos la clase ArrayList. Para poder utilizar dicha clase habrá que importar el paquete java.util,

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

QUÉ ES UNA CLASE JAVA? ATRIBUTOS (PROPIEDADES O CAMPOS), CONSTRUCTOR Y MÉTODOS. (CU00623B)

QUÉ ES UNA CLASE JAVA? ATRIBUTOS (PROPIEDADES O CAMPOS), CONSTRUCTOR Y MÉTODOS. (CU00623B) APRENDERAPROGRAMAR.COM QUÉ ES UNA CLASE JAVA? ATRIBUTOS (PROPIEDADES O CAMPOS), CONSTRUCTOR Y MÉTODOS. (CU00623B) Sección: Cursos Categoría: Curso Aprender programación Java desde cero Fecha revisión:

Más detalles

FUNDAMENTOS DE INFORMÁTICA

FUNDAMENTOS DE INFORMÁTICA FUNDAMENTOS DE INFORMÁTICA Tema 1 Introducción a la Programación en Visual Basic Departamento de Ingeniería de Sistemas y Automática Universidad de Vigo undamentos de Informática. Departamento de Ingeniería

Más detalles

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

Java Avanzado. Guía 1. Java Avanzado Facultad de Ingeniería. Escuela de computación. Java Avanzado. Guía 1 Java Avanzado Facultad de Ingeniería. Escuela de computación. Java Avanzado. Guía 2 Introducción Este manual ha sido elaborado para orientar al estudiante de Java Avanzado en el desarrollo

Más detalles

Operadores y Expresiones

Operadores y Expresiones Operadores y Expresiones Los programas Java constan de datos, sentencias de programas y expresiones. Una expresión es normalmente, una ecuación matemática, tal como 3 * x + 5 * z. En esta expresión, los

Más detalles

Fila: Es un conjunto de varias celdas dispuestas en sentido horizontal.

Fila: Es un conjunto de varias celdas dispuestas en sentido horizontal. Que Es Excel? Excel es un programa que permite la manipulación de libros y hojas de calculo. En Excel, un libro es el archivo en que se trabaja y donde se almacenan los datos. Como cada libro puede contener

Más detalles

Estructuras de Datos Declaraciones Tipos de Datos

Estructuras de Datos Declaraciones Tipos de Datos Departamento de Informática Universidad Técnica Federico Santa María Estructuras de Datos Declaraciones Tipos de Datos Temas: 2-3-4 IWI-131, paralelo 01 Profesor: Teddy Alfaro O. Lenguaje de Programación

Más detalles

Lección 2 Introducción al lenguaje C

Lección 2 Introducción al lenguaje C Lección Introducción al lenguaje C Decimal Binario Hexadecimal A B C D E F Octal Equivalencia entre decimal, binario, hexadecimal y octal. Código ASCII (American Standard Code for Information Interchange)

Más detalles

Objetivos de la sesión. Aplicación de consola 7/30/11. Código con que se inicia un programa en Visual C# (aplicación de consola)

Objetivos de la sesión. Aplicación de consola 7/30/11. Código con que se inicia un programa en Visual C# (aplicación de consola) Objetivos de la sesión Entender el tipo de programas que se pueden realizar con aplicaciones de consola. Conocer el concepto de variable, la forma en que se declaran y su utilización. Conocer la forma

Más detalles

Programación Estructurada

Programación Estructurada Programación Estructurada PROGRAMACIÓN ESTRUCTURADA 1 Sesión No. 2 Nombre: El lenguaje de programación C Contextualización Una constante en todos los lenguajes de programación (viejos y nuevos) es la implementación

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

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

ESCUELA DE INFORMÁTICA

ESCUELA DE INFORMÁTICA TÉCNICO EN SISTEMAS LABORAL SUBMODULO TEMA 1 (Visual Basic for Application) Microsoft VBA (Visual Basic for Applications) es el lenguaje de macros de Microsoft Visual Basic que se utiliza para programar

Más detalles

Estatutos de Control C# Estatutos de Decisión (Selección)

Estatutos de Control C# Estatutos de Decisión (Selección) SELECCIÓN Estatutos de Control C# Estatutos de Decisión (Selección) IF Condición THEN Estatuto1 ELSE Estatuto2 Estatuto1 Statement Condición... Antes de ver esta presentación: Lee el Capítulo correspondiente

Más detalles

Lenguaje C Elementos de un Programa. Ing. Hugo Fdo. Velasco Peña Universidad Nacional 2006

Lenguaje C Elementos de un Programa. Ing. Hugo Fdo. Velasco Peña Universidad Nacional 2006 Lenguaje C Elementos de un Programa Ing. Hugo Fdo. Velasco Peña Universidad Nacional 2006 Objetivos Conocer los elementos que conforman un programa en C 1. Elementos léxicos de un Programa Cuando el programa

Más detalles

En este artículo vamos a conocer los tipos de datos que podemos manejar programando en C.

En este artículo vamos a conocer los tipos de datos que podemos manejar programando en C. El primer objetivo de un programa informático es el manejo de datos. Un dato es toda aquella información que se puede tratar en un programa informático. En este artículo vamos a conocer los tipos de datos

Más detalles

Programación estructurada (Introducción a lenguaje C)

Programación estructurada (Introducción a lenguaje C) Programación estructurada (Introducción a lenguaje C) M. en C. Sergio Luis Pérez Pérez UAM CUAJIMALPA, MÉXICO, D. F. Trimestre 15-I Sergio Luis Pérez (UAM CUAJIMALPA) Curso de programación estructurada

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

Java para no Programadores

Java para no Programadores Java para no Programadores Programa de Estudio Java para no Programadores Aprende a programar con una de las tecnologías más utilizadas en el mercado de IT. Este curso está orientado a quienes no tienen

Más detalles

Guía práctica de estudio 05: Diagramas de flujo

Guía práctica de estudio 05: Diagramas de flujo Guía práctica de estudio 05: Diagramas de flujo Elaborado por: M.C. Edgar E. García Cano Ing. Jorge A. Solano Gálvez Revisado por: Ing. Laura Sandoval Montaño Guía práctica de estudio 05: Diagramas de

Más detalles

Programación en C. Algoritmo y Estructura de Datos. Ing. M. Laura López. Programación en C

Programación en C. Algoritmo y Estructura de Datos. Ing. M. Laura López. Programación en C Algoritmo y Estructura de Datos Ing. M. Laura López 1 Estructura de un programa en C 2 Estructura de un programa en C #include Archivos de cabecera # define Definición de constantes Declaraciones Globales

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

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

Laboratorio de Arquitectura de Redes. Punteros en lenguaje C

Laboratorio de Arquitectura de Redes. Punteros en lenguaje C Laboratorio de Arquitectura de Redes Punteros en lenguaje C Punteros en lenguaje C Definición Declaración e inicialización de punteros Operadores de punteros: «*» y «&» Operaciones con punteros Operaciones

Más detalles

TUTORIAL PSEINT. Ing. Ronald Rentería Ayquipa. Fundamentos de Programación

TUTORIAL PSEINT. Ing. Ronald Rentería Ayquipa. Fundamentos de Programación TUTORIAL PSEINT Ing. Ronald Rentería Ayquipa Fundamentos de Programación PSEINT Página Oficial: http://pseint.sourceforge.net/ Es un software que interpreta pseudocódigo. Permite la generación de diagramas

Más detalles

Ficha de Aprendizaje N 13

Ficha de Aprendizaje N 13 Ficha de Aprendizaje N 13 Curso: Lógica y lenguaje de programación Tema: Fundamentos de programación Duración: 2 horas pedagógicas Logros de aprendizaje Identifica los diferentes tipos de operadores que

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

LENGUAJE. Tema 2 Elementos de un programa

LENGUAJE. Tema 2 Elementos de un programa LENGUAJE Tema 2 Elementos de un programa ELEMENTOS DE UN PROGRAMA Comentarios. Identificadores. Constantes. Variables. Operadores. Sentencias o instrucciones. COMENTARIOS Los comentarios en C pueden ocupar

Más detalles

Programación en Visual Basic Ricardo Rodríguez García

Programación en Visual Basic Ricardo Rodríguez García Manual Básico de Programación en Visual Basic 1.- Estructura de un proyecto Visual Basic Los programas o aplicaciones desarrolladas en Visual Basic van a constituir un único paquete que denominaremos proyecto.

Más detalles

FUNCIONES PHP: DECLARACIÓN Y LLAMADAS. PARÁMETROS, RETURN. EJERCICIOS EJEMPLOS RESUELTOS. (CU00827B)

FUNCIONES PHP: DECLARACIÓN Y LLAMADAS. PARÁMETROS, RETURN. EJERCICIOS EJEMPLOS RESUELTOS. (CU00827B) APRENDERAPROGRAMARCOM FUNCIONES PHP: DECLARACIÓN Y LLAMADAS PARÁMETROS, RETURN EJERCICIOS EJEMPLOS RESUELTOS (CU00827B) Sección: Cursos Categoría: Tutorial básico del programador web: PHP desde cero Fecha

Más detalles

2.2 Nombres, Ligado y Ámbito

2.2 Nombres, Ligado y Ámbito 2.2 Nombres, Ligado y Ámbito Ligado estático y dinámico, reglas de ámbito y prueba de tipos. Conceptos Nombres e Identificadores Variables Tipos Ámbito Constantes Nombres Identificador que designa en el

Más detalles

Fundamentos de JAVA. Angel Kuri Enero, /2/2006

Fundamentos de JAVA. Angel Kuri Enero, /2/2006 Fundamentos de JAVA Angel Kuri Enero, 2006 Enunciados y Expresiones Los siguientes son enunciados sencillos: int i = 1 import java.awt.font System.out.println( Esta moto es una + color + + marca); m.enginestate

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

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

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

media = ( temp0 + temp1 + temp2 + temp3 + temp temp23 ) / 24; printf( "\nla temperatura media es %f\n", media );

media = ( temp0 + temp1 + temp2 + temp3 + temp temp23 ) / 24; printf( \nla temperatura media es %f\n, media ); Arrays en el lenguaje C Introducción Una posible definición de array sería: Un conjunto de datos del mismo tipo, identificados por el mismo nombre, y que se pueden distinguir mediante un número de índice.

Más detalles

Expresiones y sentencias

Expresiones y sentencias Expresiones y sentencias Expresión Construcción (combinación de tokens) que se evalúa para devolver un valor. Sentencia Representación de una acción o una secuencia de acciones. En Java, todas las sentencias

Más detalles

Guía práctica de estudio 04: Clases y objetos

Guía práctica de estudio 04: Clases y objetos Guía práctica de estudio 04: Clases y objetos Elaborado por: M.C. M. Angélica Nakayama C. Ing. Jorge A. Solano Gálvez Autorizado por: M.C. Alejandro Velázquez Mena Guía práctica de estudio 04: Clases y

Más detalles

Vamos a profundizar un poco sobre los distintos tipos de datos que podemos introducir en las celdas de una hoja de cálculo

Vamos a profundizar un poco sobre los distintos tipos de datos que podemos introducir en las celdas de una hoja de cálculo Tipos de datos. Vamos a profundizar un poco sobre los distintos tipos de datos que podemos introducir en las celdas de una hoja de cálculo Valores Constantes: Es un dato que se introduce directamente en

Más detalles

Herramientas de Programación. M.C. Juan Carlos Olivares Rojas

Herramientas de Programación. M.C. Juan Carlos Olivares Rojas Herramientas de Programación M.C. Juan Carlos Olivares Rojas Febrero 2011 Temario Simbología Reglas para la construcción de Diagramas Pseudocódigo Temario Tipos de Datos y Expresiones Estructuras lógicas

Más detalles

Programación orientada a objetos. Resumen de Temas Unidad 4: Sobrecarga

Programación orientada a objetos. Resumen de Temas Unidad 4: Sobrecarga Programación orientada a objetos Resumen de Temas Unidad 4: Sobrecarga 4.1 Conversión de tipos (1) Conversiones implícitas: La conversión entre tipos primitivos se realizan de modo automático de un tipo

Más detalles

INICIACIÓN A LA PROGRAMACIÓN II

INICIACIÓN A LA PROGRAMACIÓN II INICIACIÓN A LA PROGRAMACIÓN II 1. Caracteres... 2 2. Identificadores... 4 3. Palabras clave o reservadas... 5 4 Variables y constantes. Datos... 6 5 Arrays... 8 6. Comentarios... 9 7. Expresiones... 11

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

Fundamentos del Lenguaje de Programación Java

Fundamentos del Lenguaje de Programación Java Fundamentos del Lenguaje de Programación Java M.C. Jorge Eduardo Ibarra Esquer jorgeeie@uabc.mx El lenguaje Java Estándares de codificación Comentarios Programas con Java Identificadores Palabras clave

Más detalles

Algoritmos y Programación I

Algoritmos y Programación I Algoritmos y Programación I ARREGLOS Y ESTRUCTURAS EN C Arreglos Un arreglo o vector es un conjunto de datos del mismo tipo, almacenados de forma contigua (es decir uno al lado del otro) en memoria principal.

Más detalles

SENA Distrito Capital Centro de Electricidad, Electrónica y Telecomunicaciones ADSI - Ing. Espec. Javier Vaquiro

SENA Distrito Capital Centro de Electricidad, Electrónica y Telecomunicaciones ADSI - Ing. Espec. Javier Vaquiro SENA Distrito Capital Centro de Electricidad, Electrónica y Telecomunicaciones ADSI - Ing. Espec. Javier Vaquiro 1. Sintaxis básica 2. Tipos de datos 3. Variables 4. Constantes 5. Expresiones y operadores

Más detalles

Fundamentos de programación

Fundamentos de programación Fundamentos de programación Estructuras de Control Estructuras de control Estructuras de control Estructura secuencial Estructura alternativa Sentencias if, if else Sentencias if else anidadas El operador

Más detalles

Una Clase: define un grupo de objetos que tienen propiedades similares y se comportan de manera similar.

Una Clase: define un grupo de objetos que tienen propiedades similares y se comportan de manera similar. Clases La programación orientada a objetos utiliza clases para encapsular (envolver, esconder) datos (atributos) y métodos (comportamientos). Por ejemplo, el estéreo de un auto encapsula todos los atributos

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

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

Tema 7.- Fundamentos de la Programación Orientada a Objetos 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).

Más detalles

Estructuras de control

Estructuras de control Estructuras de control Introducción Los algoritmos vistos hasta el momento han consistido en simples secuencias de instrucciones; sin embargo, existen tareas más complejas que no pueden ser resueltas empleando

Más detalles