CÓMO CREAR CONSTRUCTORES E INICIALIZAR OBJETOS EN JAVA. EJERCICIO EJEMPLO RESUELTO. (CU00639B)

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

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

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

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

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

ENVÍO DE DATOS DE UN FORMULARIO CON PHP. MÉTODOS GET Y POST. EJEMPLOS Y EJERCICIOS RESUELTOS. (CU00832B)

Unidad Nº V Listas Enlazadas

INTERFACE COMPARATOR. DIFERENCIAS ENTRE COMPARATOR Y COMPARABLE. CLASE COLLECTIONS. EJERCICIOS RESUELTOS. (CU00918C)

EJEMPLO DE CÓDIGO JAVA BÁSICO. CREAR CLASES CON CAMPOS, CONSTRUCTOR Y MÉTODOS. LA PALABRA CLAVE THIS (CU00652B)

Arrays unidimensionales. Dim.Option Base. Erase. Ejemplos en Visual Basic (CU00311A)

CREAR TABLAS EN BASES DE DATOS CON phpmyadmin. TIPOS DE DATOS BÁSICOS (VARCHAR, INT, FLOAT). INSERTAR FILAS. (CU00840B)

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

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

Arrays dinámicos y arrays estáticos con Visual Basic y.net. Redim, Redim Preserve, Erase. Ejemplos (CU00342A)

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

Visual Basic: procedimientos Sub y funciones Function. Tipos de parámetros y tipos de retorno. Ejemplos (CU00340A)

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

Ejercicio ejemplo resuelto: verificar el algoritmo de resolución de una ecuación de segundo grado. (CU00237A)

COMPARAR CADENAS CON PHP STRCMP, == Ó ===? NO DISTINGUIR MAYÚSCULAS O MINÚSCULAS: STRCASECMP. RELLENAR CON STR_PAD. (CU00829B)

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

Forma Básica Clase Java

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

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

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

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

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

FUNDAMENTOS DE INFORMÁTICA

Editor de código Visual Basic. Lista de miembros automática, sugerencias de sintaxis, autocompletado y otras opciones. (CU00313A)

Aplicaciones de Escritorio

PARA QUÉ SIRVEN LAS INTERFACES JAVA. IMPLEMENTAR UNA INTERFAZ DEL API. VENTAJAS. EJEMPLOS BÁSICOS. (CU00697B)

CAPITULO 2. COMPRENDER LAS DEFINICIONES DE CLASE

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

CREAR TABLAS EN HTML. ATRIBUTOS COLSPAN Y ROWSPAN. UNIFICAR CELDAS EN HORIZONTAL Y VERTICAL. CAPTION O TÍTULO (CU00719B)

Modulo 11. Clases y Objetos en Java

Programación Orientada a Objetos (POO)

PRÁCTICA DE LABORATORIO 4 Programación Orientada a Objetos

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

5. Sentencias selectivas o condicionales

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

PROYECTOS JAVA. CLÁUSULAS PACKAGE E IMPORT. JERARQUÍA Y VISIBILIDAD DE CLASES. ORGANIZACIÓN EN BLUEJ. EJEMPLOS. (CU00674B)

Los constructores son funciones miembro especiales que sirven para inicializar un objeto de una determinada clase al mismo tiempo que se declara.

TEMA 2 Introducción a C# ANÁLISIS Y DESARROLLO DE APLICACIONES INFORMÁTICAS Curso 2010/2011

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

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

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

Métodos, clases, y objetos

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

ENCABEZADOS HTML <h1> A <h6>, PÁRRAFOS <p>, APLICAR ESTILOS Y ETIQUETA <pre> DE TEXTO PREFORMATEADO. EJEMPLOS (CU00715B)

Ejercicios ejemplos resueltos con Desde-Siguiente (For-next) y arrays en pseudocódigo y diagramas de flujo. (CU00154A)

COMUNICACIÓN ENTRE EL CLIENTE Y SERVIDOR SIN PHP Y CON PHP. INTÉRPRETE PHP Y GESTOR DE BASES DE DATOS (CU00804B)

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

Prácticas de Programación

Tema 2. El lenguaje JAVA

AMBITO DE VARIABLES EN C. GLOBALES Y LOCALES. UNDECLARED (FIRST USE IN THIS FUNCTION). EJEMPLOS (CU00548F)

Fundamentos de la Programación Orientada a Objetos Definición de Clases

INGRESAR DATOS CON UN CONTROL VISUAL EN JAVA. CLASE JTEXTFIELD Y MÉTODO GETTEXT. EJEMPLOS (CU00928C)

Java para programadores

Computación Avanzada Clase 3. Mauricio Hidalgo Barrientos

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

GUÍA DE ESTILO EN JAVA

Fundamentos Programación Orientada a Objetos ( POO ) - Parte I Desarrollo de Software

Ministerio de Educación. Base de datos en la Enseñanza. Open Office. Módulo 4: Diseñador de Consultas (+ info)

Guía - Taller # 2 (JAVA)

Overview GeneXus - Demo: 2.Cómo obtener el ejecutable de la KB y declaración de algunas reglas del negocio.

Tutorial Enterprise Architect 7.5 Versión en español

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

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

Introducción. Curso de Middleware. Práctica 6. 1 de 9

Funciones como Subprogramas en C++

INTRODUCCIÓN AL PARADIGMA DE LA PROGRAMACIÓN ORIENTADA A OBJETOS CON JAVA

Relación de prácticas de la asignatura METODOLOGÍA DE LA PROGRAMACIÓN Segundo Cuatrimestre Curso º Grado en Informática

Clases en C++ Agustín J. González ELO329

PHP INSERT INTO VALUES. INSERTAR DATOS (REGISTROS O FILAS) EN BASE DE DATOS MySQL. EJEMPLOS Y EJERCICIO RESUELTO (CU00843B)

CAPITULO 4. AGRUPAR OBJETOS

Clases, Objetos y Métodos en Java

LA CLASE ARRAYLIST DEL API DE JAVA. MÉTODOS ADD, SIZE, ETC. CONCEPTO DE CLASE GENÉRICA O PARAMETRIZADA (CU00665B)

15. Parámetros o argumentos

Principios de Computadoras II

FACULTAD DE INGENIERÍA

Manual de usuario, Escritores

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

DOCUMENTO INFORMATIVO PARA CENTROS PRIVADOS

UTILIDAD DE CSS EN DESARROLLOS WEB JUNTO A HTML Y JAVASCRIPT. APLICAR ESTILOS. EJEMPLO SENCILLO. (CU00732B)

Diseño Basado en Componentes. Curso 2008 / 09

EL PAQUETE JAVA.UTIL DEL API JAVA. PRINCIPALES INTERFACES Y CLASES: STRINGTOKENIZER, DATE, CALENDAR, HASHSET, TREEMAP, TREESET...

Pasos a seguir para crear una aplicación visual en el lenguaje de programación Java con Netbeans IDE.

ARRAYS ASOCIATIVOS JAVASCRIPT? MAPS? RECORRER PROPIEDADES DE OBJETOS CON FOR IN. EJEMPLOS EJERCICIOS RESUELTOS. (CU01146E)

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

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

Taller de Programación I. Tema 06: Orientación al Objeto en Java (parte 2)

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

Ejercicio resuelto: variante para ordenar una serie de números. Pseudocódigo y diagrama de flujo. (CU00262A)

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

Tema: Punteros a Objetos. Puntero this.

Apunte JAVA + SVN. Emi Höss

RESUMEN DE CONCEPTOS BASICOS DE PROGRAMACION JAVA

Tema: Introducción al IDE de Microsoft Visual C#.

Programación Orientada a Objetos en Java

En este capitulo se estudiarán los conceptos relacionados a métodos, como lo son sobrecarga, métodos estáticos.

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)

Transcripción:

APRENDERAPROGRAMARCOM CÓMO CREAR CONSTRUCTORES E INICIALIZAR OBJETOS EN JAVA EJERCICIO EJEMPLO RESUELTO (CU00639B) Sección: Cursos Categoría: Curso Aprender programación Java desde cero Fecha revisión: 2029 Resumen: Entrega nº39 curso Aprender programación Java desde cero Autor: Alex Rodríguez

CÓMO CREAR CONSTRUCTORES EN JAVA EJERCICIOS EJEMPLOS RESUELTOS Los constructores de una clase son fragmentos de código que sirven para inicializar un objeto a un estado determinado Una clase puede carecer de constructor, pero esto no es lo más habitual Normalmente todas nuestras clases llevarán constructor En un constructor es frecuente usar un esquema de este tipo: public MismoNombreQueLaClase (tipo parámetro1, tipo parámetro2, tipo parámetro n ) { campo1 = valor o parámetro; campo2 = valor o parámetro; campo n = valor o parámetro; } Los constructores tienen el mismo nombre que la clase en la que son definidos y nunca tienen tipo de retorno, ni especificado ni void Tenemos aquí un aspecto que nos permite diferenciar constructores de métodos: un constructor nunca tiene tipo de retorno mientras que un método siempre lo tiene Es recomendable que en un constructor se inicialicen todos los atributos de la clase aunque su valor vaya a ser nulo o vacío Si un atributo se quiere inicializar a cero (valores numéricos) siempre lo declararemos específicamente: nombreatributo = 0; Si un atributo se quiere inicializar a contenido nulo (atributos que son objetos) siempre lo declararemos específicamente: nombreatributo = null; Si un atributo tipo texto se quiere inicializar vacío siempre lo declararemos específicamente: nombreatributo = ; El motivo para actuar de esta manera es que declarando los atributos como nulos o vacíos, dejamos claro que esa es nuestra decisión como programadores Si dejamos de incluir uno o varios campos en el constructor puede quedar la duda de si hemos olvidado inicializar ese campo o inducir a pensar que trabajamos con malas prácticas de programación La inicialización de campos y variables es un proceso muy importante Su mala definición es fuente de problemas en el desarrollo de programas Como regla de buena programación, cuando crees campos o variables, procede de forma inmediata a definir su inicialización Un constructor puede: a) Carecer de parámetros: que no sea necesario pasarle un parámetro o varios al objeto para inicializarse Un constructor sin parámetros se denomina constructor general

b) Carecer de contenido Por ejemplo, public Taxi () { } podría ser un constructor, vacío En general un constructor no estará vacío, pero en algunos casos particulares puede estarlo Si el constructor carece de contenido los campos se inicializan con valor nulo o, si son tipos definidos en otra clase, como se haya definido en el constructor de la otra clase Excepto en casos controlados, evitaremos que existan constructores vacíos Si un constructor tiene parámetros, el funcionamiento es análogo al que ya hemos visto para métodos Cuando vayamos a crear el objeto con BlueJ, se nos pedirá además del nombre que va a tener el objeto, el valor o contenido de los parámetros requeridos Un parámetro con frecuencia sirve para inicializar el objeto como hemos visto, y en ese caso el objeto tendrá el valor pasado como parámetro como atributo para siempre, a no ser que lo cambiemos por otra vía como puede ser un método modificador del atributo No obstante, en algunos casos los parámetros que recibe un constructor no se incorporarán directamente como atributos del objeto sino que servirán para realizar operaciones de diversa índole Escribe y compila el siguiente código: public class Taxi { //El nombre de la clase private String ciudad; //Ciudad de cada objeto taxi private String matricula; //Matrícula de cada objeto taxi private String distrito; //Distrito asignado a cada objeto taxi private int tipomotor; //Tipo de motor asignado a cada objeto taxi 0 = desconocido, 1 = gasolina, 2 = diesel //Constructor: cuando se cree un objeto taxi se ejecutará el código que incluyamos en el constructor public Taxi (String valormatricula, String valordistrito, int valortipomotor) { ciudad = "México DF"; matricula = valormatricula; distrito = valordistrito; tipomotor = valortipomotor; } //Cierre del constructor //Método para obtener la matrícula del objeto taxi public String getmatricula () { return matricula; } //Cierre del método //Método para obtener el distrito del objeto taxi public String getdistrito () { return distrito; } //Cierre del método //Método para obtener el tipo de motor del objeto taxi public int gettipomotor () { return tipomotor; } //Cierre del método } //Cierre de la clase Este código es similar al que vimos en epígrafes anteriores La diferencia radica en que ahora en vez de tener un constructor que establece una forma fija de inicializar el objeto, la inicialización depende de los parámetros que le lleguen al constructor Además, hemos eliminado los métodos para establecer el valor de los atributos Ahora éstos solo se pueden consultar mediante los métodos get Pulsa con botón derecho sobre el icono de la clase y verás como la opción new Taxi incluye ahora los parámetros dentro de los paréntesis Escoge esta opción y establece unos valores como matrícula BFG-7452, distrito

Oeste y tipo de motor 2 Luego, con el botón derecho sobre el icono del objeto, elige la opción Inspect para ver su estado Que un constructor lleve o no parámetros y cuáles tendremos que elegirlo para cada clase que programemos En nuestro ejemplo hemos decidido que aunque la clase tiene cuatro campos, el constructor lleve solo tres parámetros e inicializar el campo restante con un valor fijo Un constructor con parámetros es adecuado si tiene poco sentido inicializar los objetos vacíos o siempre con el mismo contenido para uno o varios campos No obstante, siempre hay posibilidad de darle contenido a los atributos a posteriori si incluimos métodos setters El hacerlo de una forma u otra dependerá del caso concreto al que nos enfrentemos El esquema que hemos visto supone que en general vamos a realizar una declaración de campo en cabecera de la clase, por ejemplo String ciudad;, y posteriormente inicializar esa variable en el constructor, por ejemplo ciudad = México DF ; Sería posible hacer una declaración en cabecera de clase del tipo String ciudad = México DF ;? La respuesta es que sí El campo quedaría inicializado en cabecera, pero esto en general debe ser considerado una mala práctica de programación y contraproducente dentro de la lógica de la programación orientada a objetos Por tanto de momento trataremos de evitar incluir código de ese tipo en nuestras clases y procederemos siempre a inicializar en los constructores

EJERCICIO Define una clase Bombero considerando los siguientes atributos de clase: nombre (String), apellidos (String), edad (int), casado (boolean), especialista (boolean) Define un constructor que reciba los parámetros necesarios para la inicialización y los métodos para poder establecer y obtener los valores de los atributos Compila el código para comprobar que no presenta errores, crea un objeto y comprueba que se inicializa correctamente consultando el valor de sus atributos después de haber creado el objeto Para comprobar si es correcta tu solución puedes consultar en los foros aprenderaprogramarcom Próxima entrega: CU00640B Acceso al curso completo en aprenderaprogramarcom -- > Cursos, o en la dirección siguiente: http://wwwaprenderaprogramarcom/indexphp?option=com_content&view=category&id=68&itemid=188