Un constructor es un método que inicia un objeto inmediatamente después de su creación. De esta forma nos evitamos el tener que iniciar las variables.

Slides:



Advertisements
Presentaciones similares
FUNDAMENTALS OF THE JAVA PROGRAMMING LANGUAGE
Advertisements

Subrutinas y Funciones Leonel Morales Díaz Ingeniería Simple Disponible en: Copyright.
Single Table Inheritance
Invocar procedimientos almacenados con Microsoft ADO.NET
generic constraint development environment
Manual de uso para el sistema de pago en línea de
Uso de los corchetes ¿Qué hago si entre una columna y la siguiente no se visualiza todo el texto?
INSTITUTO TECNOLOGICO SUPERIOR DE CALKINI, EN EL ESTADO DE CAMPECHE
Lenguajes de Programación Soluciones a pruebas de nivel
LA DEMANDA Y LA OFERTA. 1.Los mercados y la competencia OFERTA y DEMANDA son las dos palabras más utilizadas por los economistas. Oferta y demanda son.
Conectores gramaticales
INTEGRIDAD, INTEGRIDAD REFERENCIAL
XXV Olimpiada Thales. El Sr. Cuesta: Solución Menú Dos de las habitaciones de la casa del Sr. Cuesta dan a un patio interior, en el que hay otras 4 ventanas.
Nuevo sistema de alertas Gloria Guirado Departamento de formación de VCG.
Microsoft Office Power Point, es una herramienta que nos proporciona Microsoft, para editar presentaciones graficas, de tal forma que se nos feliciten.
UNIVERSIDAD JUÁREZ DEL ESTADO DE DURANGO FACULTAD DE CIENCIAS QUÍMICAS MANUAL DE INSTRUCCIONES PARA ASIGNACIÓN DE HORARIOS DE ALUMNOS EN LAS CARRERAS DE.
Instrumentación Industrial
LUIS GONZALES SÁNCHEZ RESPONSABLE PROCESO DE REGISTRO DE DNI DE ESTUDIANTES UNIDAD DE GESTIÓN EDUCATIVA LOCAL LAMAS UNIDAD EJECUTORA 305.
Base de datos y Microsoft Access
Entrada y salida Fundamentos de programación/Programación I
ERASMO AGUILAR SIG FARQ UNI
Curso de Programación galia.fc.uaslp.mx/~medellin/IntProg.htm
1. Uso de la aplicación Word es un programa de tratamiento de texto, creado por IBM en 1981, uno de los procesadores de texto más utilizados para trabajar.
EL SISTEMA OPERATIVO Presentación realizada por Virgilio Marco Aparicio Profesor de Apoyo al Área Práctica. IES Tiempos Modernos. ZARAGOZA.
G OBIERNO DEL E STADO DE S ONORA MANUAL PARA SUPERVISORES SISTEMA DE ADMINISTRACIÓN VIRTUAL DEL PROGRAMA ESCUELAS DE CALIDAD SECRETARÍA DE E DUCACIÓN Y.
Visual basic Curso de Habilitación Laboral IV. ¿Qué es Visual Basic Visual Basic es uno de los tantos lenguajes de programación que podemos encontrar.
Tutorial de Inicio 1 B Á S I C O El Sistema de Localización Vehicular más Innovador Para seguir adelante Presione Enter o Click en su mouse.
Lo primero que tenemos que tener claro es donde vamos a instalar el ordenador. Es cierto que no siempre se puede elegir el sitio, pero mientras que sea.
Nombre:Nº de Control: María del Carmen Raygoza Hernández Judith Itzel Requejo Hernández
Descarga: En la pagina principal usted podra descargar el programa Skype : DIAPOSITIVA 1 Clic para Descargar El programa Clic para Descargar El instructivo.
PROYECTO FIN DE CARRERA
MS Tutorial de Medidores RQ Consultoría Técnica, S de RL de CV Revisión 27 Septiembre 2008 Este Turorial le ayudará a entender: 1.¿Que es un medidor?
TALLER BÁSICO DE VISUAL BASIC Por: Juan Alfredo Garduño Arias.
Autodesk INVENTOR 2010.
CENTRO DE BACHILLERATO TECNOLOGICO INDUSTRIAL Y DE SERVIVCIOS No 3
REPÚBLICA BOLIVARIANA DE VENEZUELA UNIVERSIDAD PEDAGÓGICA EXPERIMENTAL LIBERTADOR INSTITUTO PEDAGÓGICO DE BARQUISIMETO DR. LUIS BELTRÁN PRIETO FIGUEROA.
CONSTRUCCIÓN Y ARQUITECTURA DEL SOFTWARE
Por Almudena Ramos Machín
UML Lenguaje Unificado de Construcción de Modelos
Pilas Laboratorio de Programación II. Definición de pila Consideremos una pila de platos: Si se añade un plato a la pila, los que están más abajo son.
Sistemas de ventilación y aire acondicionado
Pasos para realizar la declaración Jurada de Patrimonio Has clic en el botón naranja para iniciar el registro de datos Para llenar la planilla debe utilizar.
Studio7i - Alquiler de salas de ensayo musical poo-rentalmusic
TURISMO EN AUTOCARAVANA Vamos a intentar concentrar las ideas básicas del turismo en autocaravana El autocaravanismo es una nueva filosofía de vida única.
Animaciones en la Web Animación GIF Animación Shockwave Flash
Tema 5 – Relaciones Laborales
Las consultas. Son cuadros de información generados a partir de datos relacionados encontrados en otras tablas que se utilizan para filtrar, ver, modificar.
Capítulo 3 Fundamentos de Programación
Procedimientos Almacenados y Disparadores
Programación Concurrente en Java
PL/SQL Francisco Moreno Universidad Nacional. Funciones Si un procedimiento tiene solo un parámetro de salida, se puede remplazar por una función y esta.
Defina una clase TempMinMaxEst que encapsule la representación de las temperaturas mínimas y máximas registradas en una estación meteorológica y brinde.
Consideraciones. Un Bean public class AddressBean { //properties private String street; private String city; private String state; private String zip;
Oracle y Java Continuación *
1 Entrada/Salida en Java Jaime Ramírez, Ángel Lucas González DLSIIS. Facultad de Informática Universidad Politécnica de Madrid.
ESTRUCTURAS DE CONTROL
Administración de Servidores de Bases de Datos Bases de Datos de Usuarios Caso particular Adaptive Server Enterprise.
Programación Orientada a Objetos en Java
1.Tecnología Java Instaladores necesarios Jdk->Para Desarrollo
Vectores en java.
HERENCIA.
Lenguajes de Programación Tema 4. Paradigma Orientado a Objetos Java 1.5 Pedro García López
Tema 7: Polimorfismo Antonio J. Sierra. Índice Introducción. Sobrecarga de métodos. Objetos como parámetros. Paso de argumentos. Devolución de objetos.
Introducción a la Programación Orientada a Objetos Redefinición y Sobrecarga Dada la siguiente jerarquía de clases: Alfa Delta Beta.
Middleware Java 2 Enterprise Edition
Estructuras de Datos y Algoritmos TDA LISTA. Metáfora del TDA (repaso) Conjunto de operaciones forman una pared forman una interfase entre los programas.
Capitulo # 4 herencia PROGRAMACION III UNIVERSIDAD
INSTITUTO TECNOLOGICO SUPERIOR DE LIBRES INGENIERIA EN SISTEMAS COMPUTACIONALES LUCERO ARENAS FLORES.
PROGRAMACIÓN ORIENTADA A OBJETOS SEGUNDA UNIDAD: “CLASES, OBJETOS Y MÉTODOS” IRVING YAIR SALAS CHÁVEZ ING. EN SISTEMAS COMPUTACIONALES - ITSLP.
HERENCIA.
Transcripción de la presentación:

Un constructor es un método que inicia un objeto inmediatamente después de su creación. De esta forma nos evitamos el tener que iniciar las variables explícitamente para su iniciación. Se utiliza para crear tablas de métodos virtuales y poder así desarrollar el polimorfismo, una de las herramientas de la programación orientada a objetos (POO).

Para inicializar un objeto basta con llamar a su constructor después de la palabra reservada new y asignarlo a una referencia declarada previamente. Un constructor es un método que se ejecuta cada vez que se crea un objeto, el propósito de este procedimiento es el de inicializar los datos del objeto.

El nombre del constructor siempre es igual al nombre de la clase. Se invoca automáticamente cuando new crea un objeto de esa clase. El objetivo del constructor es el de inicializar un objeto cuando éste es creado asignaremos los valores iníciales así como los procesos que ésta clase deba realizar.objeto

Un constructor por defecto es un constructor sin parámetros que no hace nada. Sin embargo será invocado cada vez que se construya un objeto sin especificar ningún argumento, en cuyo caso el objeto será iniciado con los valores predeterminados por el sistema.

Constructores en clases derivadas Al instanciar objetos de clases derivadas se inicia una cadena de invocaciones a constructores en las cuales el constructor de la clase derivada, antes de realizar sus propias tareas, invoca (ya sea implícita o explícitamente) al constructor de su clase base.

Similarmente, si la clase base fue derivada de otra clase, el constructor de la clase base debe invocar al constructor de la clase ubicada en el siguiente nivel superior de la jerarquía, y así sucesivamente.

El último constructor invocado en la cadena es el constructor de la clase Object, cuyo cuerpo se ejecuta primero. El cuerpo del constructor de la clase derivada se ejecuta al final. El constructor de cada clase base inicializa las variables de instancia que el objeto de la clase derivada hereda.

Supongamos que tenemos una clase que describe la conducta de una ventana muy simple, aquella que no dispone de título en la parte superior, por tanto no puede desplazarse, pero si cambiar de tamaño actuando con el ratón en los bordes derecho e inferior.

La clase Ventana tendrá los siguientes miembros dato: la posición x e y de la ventana, de su esquina superior izquierda y las dimensiones de la ventana: ancho y alto. public class Ventana { protected int x; protected int y; protected int ancho; protected int alto; public Ventana(int x, int y, int ancho, int alto) { his.x=x; this.y=y; this.ancho=ancho; this.alto=alto; } //... }

Las funciones miembros, además del constructor serán las siguientes: la función mostrar que simula una ventana en un entorno gráfico, aquí solamente nos muestra la posición y las dimensiones de la ventana. public void mostrar(){ System.out.println("posición : x="+x+", y="+y); System.out.println("dimensiones : w="+ancho+", h="+alto); } La función cambiarDimensiones que simula el cambio en la anchura y altura de la ventana. public void cambiarDimensiones(int dw, int dh){ ancho+=dw; alto+=dh; }

El código completo de la clase base Ventana, es el siguiente package ventana; public class Ventana { protected int x; protected int y; protected int ancho; protected int alto; public Ventana(int x, int y, int ancho, int alto) { this.x=x; this.y=y; this.ancho=ancho; this.alto=alto; } public void mostrar(){ System.out.println("posición : x="+x+", y="+y); System.out.println("dimensiones : w="+ancho+", h="+alto); } public void cambiarDimensiones(int dw, int dh){ ancho+=dw; alto+=dh; }

Objetos de la clase base Como vemos en el código, el constructor de la clase base inicializa los cuatro miembros dato. Llamamos al constructor creando un objeto de la clase Ventana Ventana ventana=new Ventana(0, 0, 20, 30); Desde el objeto ventana podemos llamar a las funciones miembro públicas ventana.mostrar(); ventana.cambiarDimensiones(10, 10); ventana.mostrar();

La clase derivada Incrementamos la funcionalidad de la clase Ventana definiendo una clase derivada denominada VentanaTitulo. Los objetos de dicha clase tendrán todas las características de los objetos de la clase base, pero además tendrán un título, y se podran desplazar (se simula el desplazamiento de una ventana con el ratón).

La clase derivada heredará los miembros dato de la clase base y las funciones miembro, y tendrá un miembro dato más, el título de la ventana. public class VentanaTitulo extends Ventana{ protected String titulo; public VentanaTitulo(int x, int y, int w, int h, String nombre) { super(x, y, w, h); titulo=nombre; } extends es la palabra reservada que indica que la clase VentanaTitulo deriva, o es una subclase, de la clase Ventana.

La primera sentencia del constructor de la clase derivada es una llamada al constructor de la clase base mediante la palabra reservada super. La llamada super(x, y, w, h); inicializa los cuatro miembros dato de la clase base Ventana: x, y, ancho, alto. A continuación, se inicializa los miembros dato de la clase derivada, y se realizan las tareas de inicialización que sean necesarias. Si no se llama explícitamente al constructor de la clase base Java lo realiza por nosotros, llamando al constructor por defecto si existe.

La función miembro denominada desplazar cambia la posición de la ventana, añadiéndoles el desplazamiento. public void desplazar(int dx, int dy){ x+=dx; y+=dy; } Redefine la función miembro mostrar para mostrar una ventana con un título. public void mostrar(){ super.mostrar(); System.out.println("titulo : "+titulo); }

En la clase derivada se define una función que tiene el mismo nombre y los mismos parámetros que la de la clase base. Se dice que redefinimos la función mostrar en la clase derivada. La función miembro mostrar de la clase derivada VentanaTitulo hace una llamada a la función mostrar de la clase base Ventana, mediante super.mostrar(); De este modo aprovechamos el código ya escrito, y le añadimos el código que describe la nueva funcionalidad de la ventana por ejemplo, que muestre el título.

Si nos olvidamos de poner la palabra reservada super llamando a la función mostrar, tendríamos una función recursiva. La función mostrar llamaría a mostrar indefinidamente. public void mostrar(){ //¡ojo!, función recursiva System.out.println("titulo : "+titulo); mostrar(); }

La definición de la clase derivada VentanaTitulo, será la siguiente. package ventana; public class VentanaTitulo extends Ventana{ protected String titulo; public VentanaTitulo(int x, int y, int w, int h, String nombre) { super(x, y, w, h); titulo=nombre; } public void mostrar(){ super.mostrar(); System.out.println("titulo : "+titulo); } public void desplazar(int dx, int dy){ x+=dx; y+=dy; }