HERENCIA. Corina Flores Villarroel. UMSS - Programa MEMI
|
|
- Gloria Álvarez Naranjo
- hace 8 años
- Vistas:
Transcripción
1 HERENCIA Corina Flores Villarroel UMSS -
2 Conceptos Entre los conceptos a saber: Herencia Subtipos Sustitución Variables polimórficas
3 Introducción La programación OO tiene características importantes: Abstracción, Encapsulación Herencia Polimorfismo
4 Contenido Ejemplos Herencia en Java Jerarquías de herencia Ventajas de la herencia Subtipos
5 Contenido La clase Object Polimorfismo Sobreescritura Tipos estáticos y dinámicos Búsqueda dinámica Colecciones
6 Repasando Hasta ahora hemos estado trabajando en la composicion de clases. Por ejemplo: public class Agencia { private ArrayList<Azafata> azafatas; private ArrayList<Empresa> empresas; public Agencia() { azafatas = new ArrayList<Azafata>(); empresas = new ArrayList<Empresa>(); } Esta técnica en la que una clase se compone o contiene instancias de otras clases se denomina composición. En el ejemplo, diríamos que una Agencia tiene Azafatas y Empresas.
7 Repasando Veamos como se representa en un modelo: public class Agencia { private ArrayList<Azafata> azafatas; private ArrayList<Empresa> empresas; public Agencia() { azafatas = new ArrayList<Azafata>(); empresas = new ArrayList<Empresa>(); } Azafata Agencia Empresa Esta flecha representa la relacion tiene un
8 Una nueva relacion Abordaremos el concepto de herencia, pero previo a esto veamos el siguiente ejemplo.
9 Ejemplos Hablemos de instrumentos musicales El sicu (en aimara siku) es una zampoña o flauta de Pan formada generalmente por dos hileras de tubos de caña de diferentes longitudes: el arca, normalmente de siete tubos, y el ira, normalmente de 6, aunque según el tipo de sicu estas cantidades pueden variar notoriamente.
10 Ejemplos Representando al sicu a traves de una clase El sicu (en aimara siku) es una zampoña o flauta de Pan formada generalmente por dos hileras de tubos de caña de diferentes longitudes: el arca, normalmente de 7 tubos, y el ira, normalmente de 6, aunque según el tipo de sicu estas cantidades pueden variar notoriamente. nombre; nombreorig; numhileras; material; totaltubos; Sicu numtubos(); tostring();
11 Ejemplos Hablemos de instrumentos musicales La guitarra es un instrumento musical de cuerda pulsada, compuesto de una caja de madera, un mástil sobre el que va adosado el diapasón o trastero, generalmente con un agujero acústico en el centro de la tapa y seis cuerdas. Sobre el diapasón van incrustados los trastes, que permiten los diferentes tonos. Su nombre específico es guitarra clásica o guitarra española
12 Ejemplos Hablemos de instrumentos musicales La guitarra es un instrumento musical de cuerda pulsada, compuesto de una caja de madera, un mástil sobre el que va adosado el diapasón o trastero, generalmente con un agujero acústico en el centro de la tapa y seis cuerdas. Sobre el diapasón van incrustados los trastes, que permiten los diferentes tonos. Su nombre específico es guitarra clásica o guitarra española Guitarra nombre; nombreorig; numcajas; material; nummastil; numagujeroacus; totalcuerdas; totalcuerdas(); tostring();
13 Ejemplos Hablemos de instrumentos musicales La guitarra es un instrumento musical de cuerda pulsada, compuesto de una caja de madera, un mástil sobre el que va adosado el diapasón o trastero, generalmente con un agujero acústico en el centro de la tapa y seis cuerdas. Sobre el diapasón van incrustados los trastes, que permiten los diferentes tonos. Su nombre específico es guitarra clásica o guitarra española Guitarra nombre; nombreorig; numcajas; material; nummastil; numagujeroacus; totalcuerdas; totalcuerdas(); tostring();
14 Ejemplos Concentremos nuestra atencion en las clases sus atributos y metodos. nombre; nombreorig; Sicu nombre; nombreorig; numcajas; Guitarra numhileras; material; Algunos atributos y metodos material; estan REPETIDOS totaltubos; nummastil; numagujeroacus; totalcuerdas; numtubos(); tostring(); totalcuerdas(); tostring();
15 Que se puede hacer? Llevar todo lo COMUN a una nueva clase, denominada INSTRUMEN TO numhileras totaltubos() numtubos() Ejemplos Sicu Instrumento nombre; nombreorig; material tostring() Guitarra numcajas; nummastil; numagujeroacus; totalcuerdas; totalcuerdas();
16 Instrumento, es la clase Padre o Superclase Sicu y Guitarra, son las clases Hijas o Subclases numhileras totaltubos() numtubos() Ejemplos Sicu Instrumento nombre; nombreorig; material tostring() Relacion de herencia es_un Guitarra numcajas; nummastil; numagujeroacus; totalcuerdas; totalcuerdas();
17 Ejemplos Para efectos de representar mejor los instrumentos por nombres mas globales se cambiara los nombres de las subclases por Viento y Cuerda respectivamente. Instrumento nombre; nombreorig; material tostring() numhileras totaltubos() numtubos() Viento Cuerda numcajas; nummastil; numagujeroacus; totalcuerdas; totalcuerdas();
18 Concepto de Herencia Es un mecanismo de abstracción que consiste en derivar nuevas clases a partir de otras ya existentes. La nueva clase contendrá automáticamente TODOS o ALGUNOS atributos y Métodos de la clase ya existente Clase ya existente Nueva clase
19 Concepto de Herencia Es un mecanismo de abstracción que consiste en derivar nuevas clases a partir de otras ya existentes. La nueva clase contendrá automáticamente TODOS o ALGUNOS atributos y Métodos de la clase ya existente Clase ya existente Nueva clase
20 Herencia Tambien el programador puede: Añadir, nuevas variables (atributos) y métodos a la nueva clase Modificar, las variables y métodos heredados La clase ya existente (original) que se usa para derivar una clase nueva se llama PADRE o SUPERCLASE. La clase derivada se llama HIJA o SUBCLASE Clase PADRE Clase HIJA
21 Herencia y la relacion es_un El proceso de derivación de una clase por herencia corresponde a la existencia de una relación particular entre las dos clases (padre-hija): esa relación es la denominada es_un Por ejemplo: Rapiña Ave Corral Representacion simbólica
22 Herencia y la relacion es_un Cuando declaramos una clase A como una subclase de B, nos debemos preguntar es A un B?. Esta no es la única manera de usar herencia, pero es muy útil para empezar. Si una entidad A es una forma especializada de otra entidad B, esto es, A es una B, entonces debemos modelarlas usando herencia. B Declarar A como una subclase de B A
23 Extends, palabra reservada Sintaxis básica para denotar herencia: Class subclase extends { // Contenido de la clase } A superclase B B Palabra reservada para indicar que una clase nueva esta siendo derivada de otra. A
24 Aplicando conceptos Suponiendo que Gallina Pato Cóndor Alcón Pavo Real Buho Aguila Es una representacion de una clase AVE
25 Aplicando conceptos AVE Gallina Pato Cóndor Alcón Pavo Común Buho Aguila
26 Aplicando conceptos AVE Atributos: Alas Plumas Patas Metodos: Volar Empollar Gallina Pavo Común Cóndor Aguila Pato Alcón Buho AVEs de corral AVEs de rapiña Que cosas son propias de cada tipo?
27 Constructores y herencia Recordemos que los constructores sirven para inicializar los atributos de las clases, es decir, establecen su estado inicial. En las clases derivadas o subclases de una superclase, los constructores, además de establecer el estado inicial de su propia subclase, deben establecer el estado inicial de la superclase. Para realizar la acción descrita, los constructores de las subclases tienen la posibilidad de invocar a los constructores de su superclase. La sintaxis para esto es: super(parámetros) // donde puede haber cero o mas parametros La llamada a super en caso de utilizarse, debe ser obligatoriamente la primera instrucción en el cuerpo del constructor de la subclase.
28 Constructores y herencia A diferencia de otros miembros de una superclase, los constructores no son heredados. Cuando en un constructor de una subclase no se utiliza la instrucción super, el compilador inserta automáticamente super() como primera instrucción. Esto puede dar lugar a errores de compilación, puesto que si en la superclase hemos definido algún constructor y no el constructor super(), el compilador no encontrará este constructor.
29 Constructores y herencia class B { private int peso; private String tipo; public B (int peso){ this.peso = peso; tipo = AAA ; }. } Class A extends B { private String nombre; public A (String nom){ super(); // Llamada al constructor de la superclase ERROR!!! nombre = nom; }. } Porque hemos declarado un constructor en la clase B
30 Constructores y herencia class B { private int peso; private String tipo; public B(){ super(); }. } Si en la superclase no hemos definido ningún constructor, no existirán problemas, puesto que super() es el constructor por defecto que crea el compilador de java, cuando nosotros no definimos otro constructor.
31 Jerarquia de clases Se refiere al hecho de derivar a partir de una clase padre otras clases hijas, a su vez, de las clases hijas pueden derivarse otras en este caso consideradas como nietas, y asi sucesivamente, hasta un nivel ilimitado. El mecanismo de herencia es transitivo, es decir, los atributos y métodos de la clase padre pasan a las hijas y de estas a sus descendientes (incluyendo los nuevos atributos y métodos de la clase hija)
32 Modificadores de acceso protected: visible y accesible a las instancias de la clase y de las clases descendientes. private: accesible sólo a las instancias de la clase. public: accesible a todos.
33 Sobrecarga (repasando ) Sobrecarga de métodos, permite definir en una clase varios métodos con el mismo nombre, mismo tipo de retorno pero diferente número de parámetros. Ejemplo: Sea la clase A que tiene los siguientes metodos sobrecargados. void calculararea(double ancho, double alto, double prof, String tipomed) void calculararea(string tipomed, double ancho, double alto, double prof) void calculararea(double ancho, String tipomed, double alto, double prof) void calculararea(double ancho, double alto, double prof, String tipomed) void calculararea(string tipomed)
34 Sobrecarga (repasando ) Sobrecarga de constructores, permite definir en una clase varios constructores con diferente número de parámetros. Ejemplo: Sea la clase Usuario. class Usuario{ private String nombre; private int edad; private String direccion; /* El constructor de la clase */ Usuario( ) { nombre = null; edad = 0; direccion = null; } Usuario(String nom, int ed, String dir) { nombre = nom; edad = ed; direccion = dir; }
35 Sobreescritura Sobreescritura La sobreescritura de métodos se da cuando existe herencia, es decir: cuando definimos un método con la misma firma (tipo de retorno, nombre y parámetros) que otro que se hereda. Por ejemplo: Sea la clase B extends de A A metodop(int a, int b) { a+b; } B metodop(int a, int b) { System.out.println( a +a+ + b +b); }
36 Polimorfismo El polimorfismo ( poli = muchas, morfismo = formas ) es una de las propiedades importantes de la Programación Orientada a Objetos. Esta muy relacionado con el concepto de herencia, por tanto es necesario comprender bien lo qué es herencia El polimorfismo significa que objetos similares pueden responder al mismo mensaje de diferentes maneras.
37 Polimorfismo Significa que clases de diferentes tipos puedan ser referenciados por una misma variable. Ejemplo. Sea: Mostrar() B Mostrar() A C Mostrar() A a = new A(); B b = new B(); C c = new C(); A poli; poli = a; poli.mostrar(); poli = b; poli.mostrar(); Siendo poli una variable polimorfica
38 Polimorfismo El polimorfismo es el mecanismo mediante el cual una referencia poli puede referenciar a cualquier objeto de la clase padre o a un objeto de la(s) subclase(s), para el ejemplo a o b. Generalmente en una clase padre se declara un método (el que es usado de forma polimófica). Ese mismo método, se sobreescribe en las clases hijas, de esta forma existirán métodos tanto en la clase padre como en las hijas con la misma firma (mismo nombre, mismo numero de parametros con los mismos tipos y, mismo tipo de retorno).
39 Ejemplo: Euforia Euforia es un programa que permite almacenar información acerca de CDs y DVDs. La idea es crear un catálogo de todos los CDs y DVDs marcando aquellos de los que somos dueños. Su funcionalidad incluye lo siguiente: Permite ingresar información de CDs y DVDs por separado. Guarda la información de forma permanente, con la posibilidad de permitir su uso en un futuro en una BD. Por el momento no provee un método de búsqueda para encontrar, todos los CDs de cierto artista en la base de datos, ó todos los DVDs de un director. Muestra la lista de los CDs ó DVDs que figuran en la base de datos.
40 Ejemplo: Euforia Euforia define dos clases: CD y DVD, a partir de estas dos podemos crear tantos objetos CDs o DVDs como necesitemos. Sin embargo a parte de estas dos clases necesitaremos un objeto base_de_datos para almacenar la colección de CDs o DVDs.
41 Ejemplo: Euforia El objeto base_de_datos contiene entonces dos colecciones de objetos. Así: ArrayList<CD> ArrayList<DVD> De esta forma cada colección contendrá ya sea a todos los CDs o DVDs
42 Ejemplo: Euforia Gráficamente se puede ver como :BD cds dvds :ArrayList<CD> :CD :CD :CD :ArrayList<DVD> :DVD :DVD :DVD :DVD
43 Ejemplo: Euforia Veamos el modelo del proyecto Euforia versión 1 La información que manejan las clases: DVD y CD son:
44 Clases y Objetos: Euforia public class DVD { private String titulo; private String director; private int duracion; private boolean bandera; private String comentario; } public class CD { private String titulo; private String artista; private int numerodepistas; private int duracion; private boolean bandera; private String comentario; } Analizando el código ambas son muy similares?
45 Clases y Objetos: Euforia Lo que en en consecuencia significa que existe duplicación de código. La duplicación de código trae problemas como: Escribir el código dos veces Ante posibles cambios, hay que actualizar el código dos veces. Es más fácil cometer errores Mantener el programa es difícil También podemos encontrar duplicidad de código. Por ejemplo en el método imprime() de CD que es similar al de DVD.
46 Clases y Objetos: Euforia public void imprime() { System.out.print("DVD: " + titulo + " (" + duracion + " mins)"); if(bandera) { System.out.println("*"); } else { System.out.println(); } System.out.println(" " + director); System.out.println(" " + comentario); }
47 Clases y Objetos: Euforia Qué pasaría si, deseáramos incorporar una clase para representar un cuento ó o una revista?. Qué información como datos principales tiene un libro? Título Autor NroPag FechaEdic Editorial Comentario
48 Clases y Objetos: Euforia Tanto el cuento como la revista, tienen información muy similar y ésta a su vez también es similar a la información ya sea del CD y DVD. Seguro de seguir en esta lógica tendríamos que volver a escribir un código muy similar a la escrita para el CD y DVD para el cuento o la revista, lo que en consecuencia genera aún más duplicidad en el código
49 Clases y Objetos: Euforia Qué hacer entonces?. Utilizar HERENCIA!
50 Usando herencia La herencia es un mecanismo que provee una solución al problema de duplicación de código. La idea es simple. Por ej: en vez de definir clases completamente independientes para CD y DVD (ó para cuento y revista), primero definimos una clase que contiene todos las cosas comunes de ambas. A esta clase llamaremos Item. Luego declaramos que: Un CD es un Item Un DVD es un Item
51 Usando herencia Finalmente, añadimos los detalles extras que se necesitan para un CD en la clase CD y de igual forma para un DVD en la clase DVD. La característica esencial de esta técnica es que necesitamos describir las carácteristicas comunes solo una vez Veamos ahora el siguiente diagrama
52 Usando herencia Item, define todos los campos y métodos comunes a CD y DVD Item Titulo duracion bandera comentario setcomentario getcomentario setpropietario getpropietario imprime CD y DVD, definen solamente los campos y métodos que son únicos en cada clase particular. CD artista numberdepistas getartista GetNumeroDePistas DVD Director getdirector
53 Usando herencia Entonces, aprenderemos una nueva terminología de la POO. Por ejemplo la lectura del gráfico anterior sería: La clase CD hereda de la clase Item Si traducimos a Java class CD extends class Item Una palabra que define la relación de herencia
54 Usando herencia Item, es conocida como Clase Padre o Superclase Item tituo duracion bandera comentario setcomentario getcomentario setpropietario getpropietario imprime CD y DVD, se conocen Como clases hijas o Subclases CD artista numberdepistas getartista GetNumeroDePistas DVD Director getdirector
55 Usando herencia La herencia también es conocida como la relación es_un La razón es que una subclase es_una especialización de una superclase Para el ejemplo sería Un CD es_un Item Un DVD es_un Item Si analizamos con un poquito más de detalle el ejmplo, podemos encontrar que la clase CD tiene lo mismo que Item y más
56 Usando herencia Esto se debe a que comparten los mismos campos y metodos CD e Item. Además que CD puede adicionalmente tener otros como: artista numerodepistas getartista getnumerodepistas De igual forma sucede con DVD
57 Jerarquía en herencia La herencia puede ser algo mucho más general que el ejempo presentado, es decir: mas de dos subclases pueden heredar de la misma superclase, y las subclases se pueden convertir en superclases de otras subclases.
58 Jerarquía en herencia Por ejemplo: Animal La herencia es una técnica de abstracción, que permite categorizar clases de objetos bajo ciertos criterios. Ayuda a Especificar características de estas clases Invertebrado Vertebrado Reptil Ave Mamífero Oso
59 Herencia y acceso correcto Los miembros definidos como públicos ya sea en la superclase o subclase serán accesibles por objetos de otras clases. En cambio los miembros definidos como privados serán inaccesibles por objetos de otras clases. Esto significa que la privacidad se aplica entre una subclase y su superclase. Una subclase no puede acceder a los miembros privados de su superclase sino es por medio de métodos.
60 Herencia e inicialización Cuando creamos el objeto CD, se pasa varios parámetros al constructor del CD: public CD(String eltitulo, String elartista, int pistas, int tiempo) { }. Los parámetros marcados con óvalo rojo contienen valores para campos definidos en la clase Item y en cambio los valores en color naranja serán asignados a campos definidos en la clase CD.
61 Herencia e inicialización Por qué sucede esto? Justamente porque estamos utilizando el concepto de herencia, de esta forma los campos inicializados en la clase padre, cuando creemos un objeto de la clase hija no se requiere nuevamente inicializarlas. En Java es posible conseguirlo con la referencia super, de acuerdo con la siguiente sintaxis: super(lista parametros); Especifica los parámetros del constructor padre
62 Herencia e inicialización El constructor de CD recibe parámetros que necesita inicializar en ambos Items public CD(String eltitulo, String elartista, int pistas, int tiempo) { super(eltitulo, tiempo); } La palabra super, llama al constructor de la superclase, en este caso el constructor de Item es ejecutado como parte del constructor de CD eltitulo, tiempo son parámetrosque han diso inicializados en el constructor de la clase padre de CD, es decir, la clase Item
63 Euforia: añadiendo otros tipos Trabajaremos con jerarquía de clases. Añadiremos información acerca de Juego de video y luego definiremos una nueva subclase de Item llamada VideoJuego. En este caso VideoJuego hereda automáticamente campos y métodos ya definidos en Item.
64 Euforia: añadiendo otros tipos ITEM titulo duracion bandera comentario setcomentario getcomentario setpropietario getpropietario Imprime CD artista numerodepistas DVD director VideoJuego numerodejugadores sistemaoperativo
65 Euforia: añadiendo otros tipos Este ejemplo ilustra el reuso de código. Es decir, el código escrito para CDs y DVDs en la clase Item, también puede ser usado por la clase VideoJuego. El reuso de código es un gran beneficio que se consigue con facilidad con herencia. Con el reuso de código sólo aquel código que es nuevo o diferente a Item es añadido.
66 Euforia: añadiendo otros tipos Supongamos que deseamos añadir una cuarta subclase de la clase Item. OJO! lo aconsejable es, que cada vez que se desee añadir otra subclase debemos primero analizar con mucho cuidado las relaciones. Por ejemplo si añadimos un juego de cartas (CartasJuego), vemos que al igual que VideoJuego tendrá un atributo número de jugadores. De definir en ambas clases este atributo estaríamos duplicando código.
67 Euforia: añadiendo otros tipos Qué hacer entonces?, tal vez la primera idea podría ser que CartasJuego sea subclase de VideoJuego. Pero, imagenemos que VideoJuego almacena información acerca del tipo de sistema operativo en la que funciona el juego, información que no tiene sentido para CartasJuego. La solución es refactorizar la jerarquía de clases. Introduciendo una nueva superclase para todos los juegos con el nombre de Juego, el cuál se convertirá en una subclase de Item. Dejando la información general relacionada al número de jugadores en Juego
68 Euforia: añadiendo otros tipos ITEM titulo duración bandera comentario CD artista numerodepistas DVD director Juego numerodejugadores VideoJuego sistemaoperativo CartasJuego
69 Ventajas de la herencia Resumiendo las ventajas que incorpora el uso de herencia: Evita la duplicación de código Reuso de código Facilita el mantenimiento del código Hace extendible al código
70 Subtipos Para comprender el concepto de subtipos veamos el modelo de la nueva versión del proyecto Euforia2
71 Subtipos Comparando los códigos de la clase BD de Euforia versión1 y Euforia versión 2 public void insertacd(cd uncd) public void insertadvd(dvd undvd) En la nueva versión, tenemos un simple método que sirve para el mismo propósito public void insertaitem(item elitem) Estos dos metodos permiten añadir items a la base de datos
72 Subtipos Los parametros aquí public void insertacd(cd uncd) public void insertadvd(dvd undvd) Estan definidos con tipos CD y DVD, asegurando el paso de objetos CD y DVD a estos métodos, puesto que el tipo de parámetros actuales debe emparejar con los tipos de parámetros formales, es decir deben ambos ser del mismo tipo.
73 Subclases y Subtipos El tipo de un objeto creado a partir de la clase DVD es DVD. Pero también se tiene el caso en que las clases tienen sus subclases. Así, los tipos definidos en las clases pueden tener sus subtipos, Por ejm. El tipo DVD es un subtipo del tipo Item.
74 Variables y Subtipos Cuando se desea asignar un objeto a una variable, el tipo del objeto debe emparejar el tipo de la variable. Por ejemplo, Auto miauto = new Auto(); Esta asignación es válida porque un objeto de tipo Auto es asignado a una variable declarada para contener objetos de tipo Auto.
75 Variables y Subtipos Ahora veamos cómo se procede a declarar una variable cuando hay herencia. Partamos de la siguiente figura: Las siguientes asignaciones son correctas: Vehículo v1 = new Vehículo(); Vehículo v2 = new Auto(); Vehículo v3 = new Bicicleta(); Auto Vehículo Bicicleta
76 Variables y Subtipos Para el ejemplo: Una variable declarada de tipo Vehículo, contiene a vehículos, pero también siguiendo la lectura del diagrama encontramos que: Un Auto es un Vehículo, Por lo tanto es correcto, almacenar en una variable de tipo Vehículo un Auto
77 Variables y Subtipos A este principio se conoce como substitución, es decir: En lenguajes orientados a objetos nosotros podemos substituir un objeto subclase (Auto) donde un objeto superclase (Vehículo) es esperado. Así: Vehículo v2 = new Auto ();
78 Variables y Subtipos Sin embargo hacer al revés, no está permitido. Por ej. Auto a1 = new Vehículo(); porque intenta almacenar un objeto Vehículo (superclase) en un objeto Auto (subclase). El compilador de Java en este caso reportará ERROR Tampoco podemos Auto a2 = new Bicicleta(); El tipo de una bicicleta no es un subtipo de Auto. En este caso ambos objetos son de la subclase.
79 Subtipos y paso de parámetros Paso de parámetro: es asignar un parámetro actual a una variable del parámetro formal. Cuando tenemos herencia es correcto pasar un objeto cuyo tipo pertenece a la subclase como parámetro a un objeto de tipo de la superclase. Por ejem.: Un objeto del tipo DVD a un método que tiene como parámetro el tipo Item
80 Subtipos y paso de parámetros Así: public class BD { } Si usamos el método insertaritem para añadir CDs o DVDs en la base de datos: BD db = new BD(); DVD dvd = new DVD( ); CD cd = new CD( ); public void insertaritem(item elitem) { } db.insertaritem(dvd); db.insertaritem(cd);
81 Variables polimórficas Las variables que contienen tipos objeto en Java son variables polimórficas. El término polimórfico se refiere literalmente a muchas formas, esto se refiere a que una variable puede contener objetos de diferentes tipos. Por ejm: podemos declarar una variable elitem de tipo Item, utilizando la variable elitem podemos referenciar tanto a CD o DVD
82 Variables polimórficas Veamos el siguiente ej.: public void lista() { for(item item : items) { item.imprime(); System.out.println(); // empty line between items } } Partimos de una lista de items contenidos en un ArrayList items, conseguimos cada item de la lista invocando al método imprime(), notar que los items conseguidos son del tipo CD o DVD y no del tipo Item
83 Casting Si se conoce que una variable supertipo (v) contiene a un objeto subtipo (a), la asignación siguiente esta permitida: Vehículo v; Auto a = new Auto(); v = a; // Correcto a = v; // Incorrecto, porque intenta asignar una variable supertipo a una subtipo Sin embargo la última línea podemos hacer que sea correcto haciendo uso del operador de casting
84 Casting v = a; Esto significa que, la variable v contiene un objeto a del tipo auto, esto es correcto! Para el caso en el que: a = v; Si utilizamos el operador cast para: a = (Auto)v; // Correcto
85 Casting Veamos más ejemplos: Vehículo v; Auto a; Bicicleta b; a = new Auto(); v = a; // Correcto b = (Bicicleta) a; // Error, tiempo de compilación b = (Bicicleta) v; // Error, tiempo de ejecución
86 Casting Analizando los errores: b = (Bicicleta) a; // Error, tiempo de compilación Encontramos que en este caso lo que se intenta hacer que un objeto Auto sea contenido en un objeto bicicleta, siendo que, entre Auto y Bicicleta no hay una relación de supertipo/subtipo.
87 Casting Analizando los errores para: b = (Bicicleta) v; // Error, tiempo de ejecución En tiempo de compilación deja pasar el error porque encuentra entre el objeto b y el objeto v una relación de supertipo/subtipo y un Vehículo puede contener potencialemente a una Bicicleta. En cambio en tiempo de ejecución detecta error porque, el objeto en v no es un Vehículo sino es un Auto ( v = a; ) por lo que el programa deja de ejecutarse
88 La clase Object Todas las clases tienen una superclase. Hasta ahora, hemos aprendido que las superclases aparecen solo cuando se hace una declaración explícita de la forma como: class CD extends Item Sin embargo, en la librería estándar de Java existe una clase Object que sirve como una superclase para todos los objetos.
89 La clase Object Por ejemplo: public class Persona { } public class Persona extends Object { } Es equivalente a El compilador de Java automáticamente inserta la superclase Object para todas las clases que no tienen explicitado la declaración extends
90 La clase Object Por ejemplo: Object String Persona Vehículo Cada clase simple hereda de Object ya sea directa o indirectamente Auto Bicicleta
91 La clase Object Tener una clase común para todos los objetos sirve para dos propósitos: 1. Se pueden declarar variables polimórficas de tipo Object para contener cualquier objeto (muchas veces esto no es útil) 2. La clase Object puede definir algunos métodos que son automáticamente disponibles para cada objeto existente. Esto llega ser mucho más interesante!
Programación Orientada a Objetos en Java
Programación Orientada a Objetos en Java Curso 2006-2007 Tema 4 Herencia y Polimorfismo Gonzalo Méndez Pozo Dpto. de Ingeniería de Software e Inteligencia Artificial Universidad Complutense de Madrid Herencia
Más detallesUniversidad de Cantabria corcuerp@unican.es
Herencia Pedro Corcuera Dpto. Matemática Aplicada y Ciencias de la Computación Universidad de Cantabria corcuerp@unican.es Objetivos Aprender los conceptos de herencia Comprender la forma de derivar una
Más detallesProgramación Orientada a Objetos con Java
Programación Orientada a Objetos con Java M.C. Jorge Eduardo Ibarra Esquer jorgeeie@uabc.mx Sobrecarga de métodos Java permite la definición de dos o más métodos que tengan el mismo nombre, dentro de la
Más detallesIntroducción a la Programación Orientada a Objetos
Introducción a la Programación Orientada a Objetos El paradigma imperativo. En un programa se tienen una serie de variables con las cuales operamos y modificamos mediante sentencias y funciones para producir
Más detallesDIAGRAMA DE CLASES EN UML
DIAGRAMA DE CLASES EN UML Mg. Juan José Flores Cueto jflores@usmp.edu.pe Ing. Carmen Bertolotti Zuñiga cbertolotti@usmp.edu.pe INTRODUCCIÓN UML (Unified Modeling Language) es un lenguaje que permite modelar,
Más detallesCurso de Java POO: Programación orientada a objetos
Curso de Java POO: Programación orientada a objetos Luis Guerra Velasco Curso INEM 02830. Programación en Java Marzo 2010 Índice 1 Introducción a la POO 2 Herencia y polimorfismo 3 Empaquetado de proyectos
Más detallesHERENCIA. Corina Flores Villarroel. UMSS - Programa MEMI
HERENCIA Corina Flores Villarroel corina@memi.umss.edu.bo UMSS - Conceptos Entre los conceptos a saber: Herencia Subtipos Sustitución Variables polimórficas Introducción La programación OO tiene características
Más detalles2.2.- Paradigmas de la POO
2.2.- Paradigmas de la POO Los principios propios de la orientación a objetos son: 2.2.1.- Abstracción de Datos 2.2.2.- Encapsulamiento 2.2.3.- Ocultamiento 2.2.4.- Herencia 2.2.5.- Polimorfismo Cualquier
Más detallesEn cualquier caso, tampoco es demasiado importante el significado de la "B", si es que lo tiene, lo interesante realmente es el algoritmo.
Arboles-B Características Los árboles-b son árboles de búsqueda. La "B" probablemente se debe a que el algoritmo fue desarrollado por "Rudolf Bayer" y "Eduard M. McCreight", que trabajan para la empresa
Más detallesModulo 1 El lenguaje Java
Modulo 1 El lenguaje Java 13 - Codificación en Java Una de las grandes diferencias entre Java y Pascal en cuando a la codificación es que Java se trata de un lenguaje de los llamados case sensitive Esto
Más detallesGUIA PROGRAMACIÓN ORIENTADA A OBJETOS
GUIA PROGRAMACIÓN ORIENTADA A OBJETOS 1. Por qué la P.O.O? R= A medida que se van desarrollando los lenguajes, se va desarrollando también la posibilidad de resolver problemas más complejos. En la evolución
Más detallesTema 3: Herencia en C++ Programación Orientada a Objetos Curso 2008/2009 Begoña Moros Valle
Tema 3: Herencia en C++ Programación Orientada a Objetos Curso 2008/2009 Begoña Moros Valle Contenido Tipos de herencia Herencia y niveles de visibilidad Herencia y creación Redefinición de métodos Conversión
Más detallesCurso de Python Inicial
Logo IAA-CSIC Curso organizado por el Gabinete de Formación del CSIC Curso de Python Inicial Clases Contenidos 1. Paradigmas de la Programación 2. Programación Orientada a objetos 3. Clases 4. Objetos
Más detallesNotación UML para modelado Orientado a Objetos
1 Notación UML para modelado Orientado a Objetos 2 Notación UML para modelado Orientado a Objetos Índice 1.1. Qué es UML?.. 3 1.2. Por qué interesa UML en la asignatura de Programación Orientada a Objetos?3
Más detallesISTP CIDET COMPUTACION E INFORMATICA ARREGLOS EN JAVA
ARREGLOS EN JAVA I I N T R O D U C C I Ó N En las sesiones anteriores, los datos manejados en los programas han sido datos simples (carácter, entero, reales) En un gran número de problemas es necesario
Más detallesConceptos. ELO329: Diseño y Programación Orientados a Objetos. ELO 329: Diseño y Programación Orientados a Objetos
Conceptos ELO329: Diseño y Programación Orientados a Objetos 1 Paradigmas de Programación Historia: Los computadores parten cableados por hardware, Luego se introduce la programación en binario, Se desarrolla
Más detallesEstructura de las Aplicaciones Orientadas a Objetos Herencia y Polimorfismo
Estructura de las Aplicaciones Orientadas a Objetos Herencia y Polimorfismo Programación Orientada a Objetos Facultad de Informática Dep. Ingeniería del Software e Inteligencia Artificial Universidad Complutense
Más detalles2. Conceptos básicos Abstracción La abstracción como un proceso mental natural La abstracción en el desarrollo de software
2. Conceptos básicos Hoy en día las aplicaciones son demasiado voluminosas y complejas para ser manejadas por una sola persona. Las aplicaciones de software son complejas porque modelan la complejidad
Más detallesLa ventana de Microsoft Excel
Actividad N 1 Conceptos básicos de Planilla de Cálculo La ventana del Microsoft Excel y sus partes. Movimiento del cursor. Tipos de datos. Metodología de trabajo con planillas. La ventana de Microsoft
Más detallesPOLIMORFISMO "una interfaz, múltiples métodos".
"una interfaz, múltiples métodos". 20/02/2007 Polimorfismo 2 Indice Definición y caracteristicas Objetivos. SOBRRESCRITURA-SOBRECARGA SOBRECARGA Clases y métodos abstractos INTERFACES (herencia múltiple)
Más detallesCapítulo 6. Introducción a la POO
Capítulo 6. Introducción a la POO 6. 1. Clases, Objetos y Métodos Definición La Programación Orientada a Objetos (POO) es una forma especial de programar, más cercana a cómo expresaríamos las cosas en
Más detallesTutorial de UML. Introducción: Objetivos: Audiencia: Contenidos:
Tutorial de UML Introducción: El Lenguaje de Modelamiento Unificado (UML - Unified Modeling Language) es un lenguaje gráfico para visualizar, especificar y documentar cada una de las partes que comprende
Más detallesDiagramas de Clase en UML 1.1
Diagramas de Clase en UML. Francisco José García Peñalvo Licenciado en Informática. Profesor del Área de Lenguajes y Sistemas Informáticos de la Universidad de Burgos. fgarcia@.ubu.es Carlos Pardo Aguilar
Más detallesUNIVERSIDAD CATOLICA DE COLOMBIA FACULTAD DE INGENIERIA DE SISTEMAS
UNIVERSIDAD CATOLICA DE COLOMBIA FACULTAD DE INGENIERIA DE SISTEMAS CURSO: JAVA BASICO PROFESOR: EMERSON CASTAÑEDA SANABRIA TEMA: Programación Orientada a Objetos OBJETIVOS: Familiarizarse con la Programación
Más detallesDiagramas de Clases ~ 1 ~ Ing. Fabián Silva Alvarado
Diagramas de Clases ~ 1 ~ Ing. Fabián Silva Alvarado DIAGRAMAS DE CLASES RELACIONES ENTRE CLASES Una vez que tengamos todas nuestras clases, será necesario que estas se asocien, con el fin de mostrar la
Más detallesTema 6. Reutilización de código. Programación 2015-2016. Programación - Tema 6: Reutilización de código
Tema 6 Reutilización de código Programación 2015-2016 Programación - Tema 6: Reutilización de código 1 Tema 6. Reutilización de código Modularidad. Implementación de métodos. Uso de métodos. Programación
Más detallesCentro de Capacitación en Informática
Fórmulas y Funciones Las fórmulas constituyen el núcleo de cualquier hoja de cálculo, y por tanto de Excel. Mediante fórmulas, se llevan a cabo todos los cálculos que se necesitan en una hoja de cálculo.
Más detalles8. Sentencia return y métodos
92 A. García-Beltrán y J.M. Arranz 8. Sentencia return y métodos Objetivos: a) Describir el funcionamiento de la sentencia return b) Interpretar el resultado de una sentencia return en el código fuente
Más detallesCASO PRÁCTICO DISTRIBUCIÓN DE COSTES
CASO PRÁCTICO DISTRIBUCIÓN DE COSTES Nuestra empresa tiene centros de distribución en tres ciudades europeas: Zaragoza, Milán y Burdeos. Hemos solicitado a los responsables de cada uno de los centros que
Más detallesDefinición de clases: Herencia, polimorfismo, ligadura dinámica
Tema 7 Definición de clases: Herencia, polimorfismo, ligadura dinámica Con alguna frecuencia es necesario definir clases de objetos entre las cuales hay elementos comunes. En una aplicación en la cual
Más detallesIntroducción a la programación orientada a objetos
Introducción a la programación orientada a objetos 1. Introducción a la programación orientada a objetos 2. Las clases 3. El tipo Struct 4. Diferencias entre Class y Struct 5. Pilares de la Programación
Más detallesEXAMEN FINAL Metodología y Programación Orientada a Objetos. Curso 2010 2011. Cuatrimestre de otoño. 17 de Enero de 2011
EXAMEN FINAL Metodología y Programación Orientada a Objetos. Curso 2010 2011. Cuatrimestre de otoño. 17 de Enero de 2011 1. (0,75 PUNTOS) Identificad a continuación las sentencias que son ciertas, descartando
Más detallesPOO en Java IV: Herencia (Parte 1)
Herencia POO en Java IV: Herencia (Parte 1) Escuela de Ingeniería Industrial Pontificia Universidad Católica de Valparaíso, Chile fguidi@ucv.cl Es la derivación de una clase a partir de otra existente.
Más detallesProgramación en Java. Programación en OO
Programación en OO Lección 4:Programación en OO 1. Herencia 2. Modificadores de Acceso 3. Interfaces Herencia Es la acción en la que una clase obtiene los métodos y propiedades definidos en otra clase,
Más detallesGENERAR DOCUMENTOS HTML USANDO LENGUAJE PHP. EJERCICIO RESUELTO EJEMPLO SENCILLO. (CU00733B)
APRENDERAPROGRAMAR.COM GENERAR DOCUMENTOS HTML USANDO LENGUAJE PHP. EJERCICIO RESUELTO EJEMPLO SENCILLO. (CU00733B) Sección: Cursos Categoría: Tutorial básico del programador web: HTML desde cero Fecha
Más detallesPROGRAMACIÓN ORIENTADA A OBJETOS
PROGRAMACIÓN ORIENTADA A OBJETOS Clase 1. Introducción Profesor: Diego Sánchez Gómez Introducción a la programación orientada a objetos 1. Introducción a la programación orientada a objetos 2. Las clases
Más detallesHerencia. 3.- Herencia. Declaración de una clase derivada en Delphi. Jerarquía de clases
Herencia 3.- Herencia La herencia nos permite definir datos y métodos que son generales (comunes a distintas clases) por separado de las que son particulares a cada clase. Esto se logra definiendo lo que
Más detallesInteligencia Artificial II. Razonamiento con ontologías
Inteligencia Artificial II Curso 2008 09 Trabajo de curso Razonamiento con ontologías Antonio Jiménez Mavillard Enunciado Una ontología es una representación formal de un determinado dominio o área de
Más detallesINSTITUTO TECNOLOGICO de la laguna Programación Orientada a Objetos en C++
5.- Herencia Múltiple. Un hecho natural es que una persona tenga más de un pariente mayor, esta situación también se puede dar en la herencia de clases, naturalmente este tipo de herencia involucra un
Más detallesSGIC. Propuesta para Plan de Telefonía y Perfiles de Consumo
SGIC Propuesta para Plan de Telefonía y Perfiles de Consumo A continuación se presenta una propuesta para tratar los planes de telefonía y los perfiles de consumo en el SGIC. Las clases naranjas son las
Más detallesPatrones de Diseño Orientados a Objetos 2 Parte
Patrones de Diseño Orientados a Objetos 2 Parte Patrón Observador Observer (Patrón de Comportamiento) Patrón Observador Observer Observador (en inglés: Observer) es un patrón de diseño que define una dependencia
Más detallesProgramación orientada a objetos
Repaso Programación orientada a objetos Curso INEM. Programación en Java Santiago Muelas Pascual smuelas@fi.upm.es! Clase! Objeto! Atributo o variable de instancia! Método! Instanciar/crear un objeto!
Más detallesPruebas de unidad con JUnit
Pruebas de unidad con JUnit Cuando se implementa software, resulta recomendable comprobar que el código que hemos escrito funciona correctamente. Para ello, implementamos pruebas que verifican que nuestro
Más detallesPara crear formularios se utiliza la barra de herramientas Formulario, que se activa a través del comando Ver barra de herramientas.
Formularios TEMA: FORMULARIOS. 1. INTRODUCCIÓN. 2. CREACIÓN DE FORMULARIOS. 3. INTRODUCIR DATOS EN UN FORMULARIO. 4. MODIFICAR UN FORMULARIO 5. MANERAS DE GUARDAR UN FORMULARIO. 6. IMPRIMIR FORMULARIOS.
Más detallesPartes de un programa en Java. A. Ejemplo de un Programa en Java /* Programa Ejemplo de Java: Muestra una Ventana Archivo: Ejemplo1.
Partes de un programa en Java A. Ejemplo de un Programa en Java /* class Ejemplo1 { //comienza la clase Ejemplo1. public static void main(string[] args) { // comienza el método main. JFrame miventana;
Más detallesPilares de la Orientación a Objetos
Pilares de la Orientación a Objetos Pilares de la Orientación a Objetos Abstracción Relaciones Herencia Encapsulamiento Abstracción La Abstracción es la propiedad que permite seleccionar las características
Más detallesPRÁCTICAS DE GESTIÓN GANADERA:
PRÁCTICAS DE GESTIÓN GANADERA: MANEJO DE HOJA DE CÁCULO (EXCEL) 1. INTRODUCCIÓN AL MANEJO DE EXCEL La pantalla del programa consta de una barra de herramientas principal y de una amplia cuadrícula compuesta
Más detallesImpress : Programa de presentaciones de OpenOffice.
Impress : Programa de presentaciones de OpenOffice. Básicamente Impress es un programa de presentaciones proyectadas a través de diapositivas (pantallas completas) que un orador o ponente puede utilizar
Más detallesJava Inicial (20 horas)
Java Inicial (20 horas) 1 Temario 1. Programación Orientada a Objetos 2. Introducción y Sintaxis Java 3. Sentencias Control Flujo 4. POO en Java 5. Relaciones entre Objetos 6. Polimorfismo, abstracción
Más detalles**NOTA** las partes tachadas todavía no están escritas, se ira actualizando poco a poco el documento
Simple tutorial we riseup Pequeña introducción a We Riseup #Qué es we.riseup o Crabgrass? #Como esta estructurado We.riseup? Lo Esencial Unirse a un grupo Metodo 1 Metodo 2 Crear contenido #1 ) Crear la
Más detallesEjercicio 1. Desarrollar un pequeño juego para practicar mecanografía.
Examen Curso 2001-2002. Convocatoria de Febrero Página 1 Ejercicio 1. Desarrollar un pequeño juego para practicar mecanografía. Este ejercicio se divide en dos partes con el fin de que el alumno no intente
Más detallesA25. Informática aplicada a la gestión Curso 2005/2006 Excel Tema 7. Funciones avanzadas de Excel II
DEPARTAMENTO DE LENGUAJES Y SISTEMAS INFORMÁTICOS ESCUELA SUPERIOR DE TECNOLOGÍA Y CIENCIAS EXPERIMENTALES A.D.E.M. Segundo Curso A25. Informática aplicada a la gestión Curso 2005/2006 Excel Tema 7. Funciones
Más detallesClases y Objetos. Informática II Ingeniería Electrónica
Clases y Objetos Informática II Ingeniería Electrónica Los Tipos de Datos Hasta ahora, en un programa podemos usar para representar variables a: Tipos fundamentales : enteros (int), caracteres (char),
Más detallesPHP y MySQL. Inicio: - Herencia - Palabra clave Final - Polimorfismo - Type Hinting - Abstracción de clases
PHP y MySQL Inicio: - Herencia - Palabra clave Final - Polimorfismo - Type Hinting - Abstracción de clases Herencia de Objetos La herencia permite crear muchas clases que son similares entre si, sin tener
Más detallesMANUAL DEL PROGRAMA DE ASESORAMIENTO (Asesores) Navegador y limpiar caché/cookies...2 Acceso al programa de Asesoramiento... 7
MANUAL DEL PROGRAMA DE ASESORAMIENTO (Asesores) Índice Pasos previos a la visualización del programa: Navegador y limpiar caché/cookies...2 Acceso al programa de Asesoramiento... 7 Conceptos e información
Más detallesLiderazgo se genera en el lenguaje
Liderazgo se genera en el lenguaje Para nosotros, un buen punto de partida para comprender el liderazgo está en el reconocimiento de que éste se da en el lenguaje. El liderazgo es un fenómeno producido
Más detallesLEER Y ESCRIBIR ARCHIVOS O FICHEROS EN C. FOPEN, FCLOSE, MODOS DE ACCESO READ, WRITE Y APPEND (CU00536F)
APRENDERAPROGRAMAR.COM LEER Y ESCRIBIR ARCHIVOS O FICHEROS EN C. FOPEN, FCLOSE, MODOS DE ACCESO READ, WRITE Y APPEND (CU00536F) Sección: Cursos Categoría: Curso básico de programación en lenguaje C desde
Más detallesYalù Galicia Hernàndez. Yalú Galicia Hdez. (FCC/BUAP)
Yalù Galicia Hernàndez Yalú Galicia Hdez. (FCC/BUAP) 1 Introducción Qué es la Programación Orientada a Objetos? Conceptos básicos Abstracción Jerarquía Encapsulación Objeto Clase Herencia Polimorfismo
Más detallesModelos y Bases de Datos
Modelos y Bases de Datos MODELOS Y BASES DE DATOS 1 Sesión No. 10 Nombre: Álgebra Relacional Contextualización En qué consiste el álgebra relacional? Se ha planteado hasta el momento cada uno de los procesos
Más detallesDiseño orientado a los objetos
Diseño orientado a los objetos El Diseño Orientado a los Objetos (DOO) crea una representación del problema del mundo real y la hace corresponder con el ámbito de la solución, que es el software. A diferencia
Más detallesEl proceso de edición digital en Artelope y CTCE
El proceso de edición digital en Artelope y CTCE Carlos Muñoz Pons Universitat de València carlos.munoz-pons@uv.es Introducción Una de las cuestiones más importantes a la hora de trabajar en proyectos
Más detallesRESUMEN DE CONCEPTOS BASICOS DE PROGRAMACION JAVA
UNED Centro Asociado de Cádiz RESUMEN DE CONCEPTOS BASICOS DE PROGRAMACION JAVA 1. OBJETOS Cualquier elemento del programa es un objeto. Un programa es un conjunto de objetos que se comunican entre sí
Más detallesFORMACIÓN DE EQUIPOS DE E-LEARNING 2.0 MÓDULO DE DISEÑO Y PRODUCCIÓN DE MATERIALES UNIDAD 6 B
141 1 FORMACIÓN DE EQUIPOS DE E-LEARNING 2.0 Unidad 6 B 142 2 Índice SEGUIMIENTO DE PERSONAS 1 INFORMES 2 143 3 SEGUIMIENTO DE PERSONAS E INFORMES EN MOODLE El seguimiento de los participantes en Moodle
Más detallesINTRODUCCIÓN A LOS SISTEMAS GESTORES DE BASE DE DATOS
INTRODUCCIÓN A LOS SISTEMAS GESTORES DE BASE DE DATOS AUTORÍA JOSEFA PÉREZ DOMÍNGUEZ TEMÁTICA NUEVAS TECNOLOGIAS ETAPA CICLOS FORMATIVOS DE GRADO SUPERIOR DE INFORMÁTICA Resumen En esta publicación se
Más detallesINVENTARIO INTRODUCCIÓN RESUMEN DE PASOS
INVENTARIO INTRODUCCIÓN Es habitual que en las empresas realicen a final de año un Inventario. Con este proceso se pretende controlar el nivel de stock existente, para iniciar el nuevo ejercicio, conociendo
Más detallesMANUAL DE USUARIO. Sistema de Administración de Proyectos de Vinculación con la Colectividad (SAPVC) MANUAL DE USUARIO DOCENTE
PAGINA: 1 / 17 MANUAL DE USUARIO DOCENTE SISTEMA DE ADMINISTRACIÓN DE PROYECTOS DE VINCULACIÓN CON LA COLECTIVIDAD (SAPVC) UPSE PAGINA: 2 / 17 ÍNDICE 1 Introducción... 3 2 Generalidades del Sistema...
Más detallesEjemplo de programa básico en Visual Basic. Option Explicit, Form, Dim, String, etc. (CU00310A)
aprenderaprogramar.com Ejemplo de programa básico en Visual Basic. Option Explicit, Form, Dim, String, etc. (CU00310A) Sección: Cursos Categoría: Curso Visual Basic Nivel I Fecha revisión: 2029 Autor:
Más detallesMICROSOFT EXCEL 2007. Introducción: Qué es y para qué sirve Excel2007? TECNOLOGIA/ INFORMATICA: MS-EXCEL
MICROSOFT EXCEL 2007 Qué es y para qué sirve Excel2007? Excel 2007 es una hoja de cálculo integrada en Microsoft Office. Esto quiere decir que si ya conoces otro programa de Office, como Word, Access,
Más detallesIntroducción al UML. Domingo Hernández H. Escuela de Ingeniería de Sistemas Departamento de computación
Introducción al UML Domingo Hernández H. Escuela de Ingeniería de Sistemas Departamento de computación Contenido Qué es UML?. Diagramas Utilizados en UML. Ejemplos. Qué es UML UML es un Lenguaje de Modelado
Más detallesProgramación Orientada a Objetos en JAVA
Programación Orientada a Objetos en JAVA Jorge Pérez Introducción a la Computación Jorge Pérez Programación Orientada a Objetos en JAVA 1 / 36 Orientación a Objetos OO es un paradigma de modelación y programación
Más detallesVisual Basic 1. Empleo de módulos y Procedimientos. Procedimientos definidos por el usuario
Empleo de módulos y Procedimientos Procedimientos definidos por el usuario Según lo que hemos visto hasta ahora, Visual Basic, almacena el código en módulos. Hay tres clases de módulos: formularios (.frm),
Más detallesMódulo mod_banners para insertar y visualizar anuncios o publicidad (banners) en Joomla. Contador. (CU00446A)
aprenderaprogramar.com Módulo mod_banners para insertar y visualizar anuncios o publicidad (banners) en Joomla. Contador. (CU00446A) Sección: Cursos Categoría: Curso creación y administración web: Joomla
Más detallesCorrespondencias entre taxonomías XBRL y ontologías en OWL Unai Aguilera, Joseba Abaitua Universidad de Deusto, EmergiaTech
Correspondencias entre taxonomías XBRL y ontologías en OWL Unai Aguilera, Joseba Abaitua Universidad de Deusto, EmergiaTech Resumen Todo documento XBRL contiene cierta información semántica que se representa
Más detallesEjercicio Artículo 4.5. Bancos de imágenes y sonido en la Web
Maximiliano Díaz Molinaro Ejercicio Artículo 4.5. Bancos de imágenes y sonido en la Web Opción 2. Análisis comparativo de dos de los casos presentados en la unidad: CORBIS y AGE Fotostock. Indicar y argumentar
Más detallesAdaptación al NPGC. Introducción. NPGC.doc. Qué cambios hay en el NPGC? Telf.: 93.410.92.92 Fax.: 93.419.86.49 e-mail:atcliente@websie.
Adaptación al NPGC Introducción Nexus 620, ya recoge el Nuevo Plan General Contable, que entrará en vigor el 1 de Enero de 2008. Este documento mostrará que debemos hacer a partir de esa fecha, según nuestra
Más detallesINDICE 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 detallesDESCARGA E INSTALACIÓN DE LA DOCUMENTACIÓN PARA LAS CLASES DEL API DE JAVA. CONSULTAR EN LOCAL O EN INTERNET? (CU00910C)
APRENDERAPROGRAMAR.COM DESCARGA E INSTALACIÓN DE LA DOCUMENTACIÓN PARA LAS CLASES DEL API DE JAVA. CONSULTAR EN LOCAL O EN INTERNET? (CU00910C) Sección: Cursos Categoría: Lenguaje de programación Java
Más detallesMaestría en Bioinformática. Bases de Datos y Sistemas de Información. Diseño Conceptual. Ing. Alfonso Vicente, PMP alfonso.vicente@logos.com.
Maestría en Bioinformática Bases de Datos y Sistemas de Información Diseño Conceptual Ing. Alfonso Vicente, PMP alfonso.vicente@logos.com.uy Agenda Conceptos Elementos del MER Herramientas Diseño conceptual
Más detallesAnálisis de esquemas XML [1]
Análisis de esquemas XML [1] Dirigido a: Administradores de Bases de Datos Área: Bases de Datos Autor: Pablo F. Dueñas Servicios Profesionales Danysoft Resumen Un esquema XML describe la estructura de
Más detallesElementos de Microsoft Word
Contenido 1. Distintas formas de iniciar Word 2007... 2 2. Ayuda de Word... 2 3. Las barras de herramientas... 3 4. Funcionamiento de las pestañas. Cómo funcionan?... 4 5. Personalizar barra de acceso
Más detallesActividades para mejoras. Actividades donde se evalúa constantemente todo el proceso del proyecto para evitar errores y eficientar los procesos.
Apéndice C. Glosario A Actividades de coordinación entre grupos. Son dinámicas y canales de comunicación cuyo objetivo es facilitar el trabajo entre los distintos equipos del proyecto. Actividades integradas
Más detallesEste programa mueve cada motor de forma independiente, y cuando termina una línea pasa a la siguiente.
1 Programa 1 Utilizando el icono añadimos un movimiento a por cada línea de programa. Podremos usar 8 posibles líneas de programa (Base, Hombro, Codo, Muñeca, Pinza, Salida 1, Salida 2 y línea en blanco).
Más detalles15. Parámetros o argumentos
Programación orientada a objetos con Java 161 15. Parámetros o argumentos Objetivos: a) Profundizar en el concepto de parámetro de una clase e indicar su mecanismo de funcionamiento. b) Interpretar el
Más detallesUTILIZACION DE ESQUEMAS XML DE LA AGENCIA TRIBUTARIA PARA CALCULO RETENCIONES
UTILIZACION DE ESQUEMAS XML DE LA AGENCIA TRIBUTARIA PARA CALCULO RETENCIONES INTRODUCCION El conjunto de herramientas de ayuda aportados por la Agencia Tributaria, para facilitar las obligaciones fiscales
Más detallesTEMA 7: DIAGRAMAS EN UML
TEMA 7: DIAGRAMAS EN UML Diagramas en UML El bloque de construcción básico de UML es un Diagrama Introducción a UML 2 1 Modelo de Casos de Uso (MCU) Todos los casos de uso constituyen el MCU que describe
Más detallesMódulo II - PowerPoint
Módulo II - PowerPoint Índice Copiando diapositivas Menú Edición... 2 Copiando diapositivas utilizando la barra de herramientas... 3 Copiando diapositivas utilizando el menú contextual... 3 Copiando diapositivas
Más detallesLección 24: Lenguaje algebraico y sustituciones
LECCIÓN Lección : Lenguaje algebraico y sustituciones En lecciones anteriores usted ya trabajó con ecuaciones. Las ecuaciones expresan una igualdad entre ciertas relaciones numéricas en las que se desconoce
Más detallesFOCO GESTIÓN DE GRUPOS
FOCO GESTIÓN DE GRUPOS MANUAL DE USUARIO CONVENIO DE PRÁCTICAS ÍNDICE 1. INTRODUCCIÓN... 3 2. BÚSQUEDA DE CONVENIOS... 3 3. ALTA CONVENIO... 5 4. MODIFICACIÓN DEL CONVENIO... 18 5. ELIMINAR CONVENIO...
Más detallesTema: Sobrecarga de Operadores.
Programación II. Guía 7 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación II Tema: Sobrecarga de Operadores. Objetivos Describir como redefinir (sobrecargar) operadores para que funcionen
Más detalles9. Objetos y clases. 9.1. Clases
Programación orientada a objetos con Java 103 9. Objetos y clases Objetivos: a) Presentar el concepto de objeto, clase, atributo, método e instancia b) Interpretar el código fuente de una aplicación Java
Más detallesHERRAMIENTAS DE ACCESS ACCESS 2010. Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE
HERRAMIENTAS DE ACCESS ACCESS 2010 Manual de Referencia para usuarios Salomón Ccance CCANCE WEBSITE HERRAMIENTAS DE ACCESS En esta unidad veremos algunas de las herramientas incorporadas de Access que
Más detallesEl lenguaje de programación Java
Departament d Arquitectura de Computadors El lenguaje de programación Java Java (I) Orientado a objetos Ejecutado por una maquina virtual Independiente de la plataforma Multithreaded Orientado a la red
Más detallesCurso Internet Básico - Aularagon
Antes de empezar es necesario que tengas claro algunas cosas: para configurar esta cuenta de correo, debes saber que el POP y el SMTP en este caso son mail.aragon.es; esta cuenta de correo hay que solicitarla
Más detallesCurso de Doctorado: Tecnologías de Objetos
Curso de Doctorado: Tecnologías de Objetos Grupo IMO Área de Lenguajes y Sistemas Informáticos Departamento de Informática J. Baltasar García Perez-Schofield http://webs.uvigo.es/jbgarcia/ Implementación
Más detallesGUÍA RÁPIDA DE TRABAJOS CON ARCHIVOS.
GUÍA RÁPIDA DE TRABAJOS CON ARCHIVOS. 1 Direcciones o Ubicaciones, Carpetas y Archivos Botones de navegación. El botón Atrás permite volver a carpetas que hemos examinado anteriormente. El botón Arriba
Más detallesTÉCNICAS DE ESTUDIO EN EL TERCER CICLO DE EDUCACIÓN PRIMARIA
TÉCNICAS DE ESTUDIO EN EL TERCER CICLO DE EDUCACIÓN PRIMARIA Judith Domínguez Martín Diplomada en Educ. Infantil y Audición y Lenguaje. Maestra de Educ. Primaria. A lo largo de la etapa de educación primaria
Más detalles5.2.1 La Página Principal
5.2 Las Páginas WEB Una página Web es un documento electrónico escrito en un lenguaje de ordenador llamado HTML, o Hypertext Markup Language (lenguaje de marcación de hipertexto). Como ya hemos dicho,
Más detalles2. ABRIR UN NUEVO DOCUMENTO DE TRABAJO
2. ABRIR UN NUEVO DOCUMENTO DE TRABAJO 18 Introducción Hasta ahora hemos visto como abrir una imagen para tratarla en Photoshop CS3, y a guardarla en cualquiera de los estados en los que se encuentre en
Más detallesLENGUAJES DE CONSULTA ORIENTADOS A OBJETOS
LENGUAJES DE CONSULTA ORIENTADOS A OBJETOS Los lenguajes de consulta constituyen una funcionalidad importante de los SGBDOO. El usuario puede recuperar los datos especificando simplemente las condiciones
Más detallesProcedimientos Géminis-Nínive Balances y Libros Oficiales. Extracción de Balances y Libros Oficiales.
Página 1 de 6 Extracción de. Para la obtención de los Libros Oficiales y por extensión de cualquier balance personalizado a sus necesidades, hemos diseñado nuevos procedimientos de definición de cuentas,
Más detalles