Trabajo Del Profe Diego

  • October 2019
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Trabajo Del Profe Diego as PDF for free.

More details

  • Words: 1,855
  • Pages: 15
UNIVERSIDAD DE PANAMÁ

CENTRO REGIONAL UNIVERSITARIO DE VERAGUAS FACULTAD DE INFORMÁTICA, ELECTRÓNICA y COMUNICACIÓN

Programación III

Tema Jerarquía y Herencia

PROFESOR:

Diego Santimateo

PARTICIPANTE: Efraín Caballero 9-719-1952

II SEMESTRE -2006-

El siguiente trabajo tiene como objetivo comprender la importancia del estudio de la Jerarquía y herencia en java. En este trabajo Introducimos un mecanismo para crear jerarquías de clases en las que la clase A sea afín a la clase B, pero con la posibilidad de poder añadirle también características propias. Este mecanismo es la herencia. Aparte de la herencia y la jerarquía veremos también los conceptos de Polimorfismos, Clase Abstracta , sobrecarga y Súper Clase. En este trabajos le definiremos los concepto de los dichos conceptos dicho anteriormente y un ejemplos de cada concepto y un programa en donde utilizaremos todos los métodos juntos.

1. http://usuarios.lycos.es/java_2000/clases_en_java.htm Esta pagina la utilice porque en esta pagina me habla sobre los conceptos de herencia y clases y métodos abstractos, también me decían como pasa lo cuando la clase se derivan y hereda todas sus variables y métodos. Otra cosa que me dice es que Su utilidad es permitir que otras clases deriven de ella 2. http://www.mailxmail.com/curso/informatica/java/capitulo26.htm Esta pagina la utilice porque en esta pagina me habla sobre los conceptos de herencia, en esta pagina decía al heredar de una clase base, heredaremos tanto los atributos como los métodos, mientras que los constructores son utilizados, pero no heredados, también me daba unos ejemplos sencillos de cómo es que se empleaba el concepto de herencia. 3. http://www.programacion.com/java/tutorial/intjava/9/ Esta pagina la utilice porque en esta pagina me habla sobre los conceptos de polimorfismo y sobrecarga de métodos, esta pagina me gusto mucho porque aparte que me daba los conceptos me los explicaba con un ejemplo y también me describía casi todo lo que pasaba en el programa; En polimorfismo me decía que cuando utilizamos herencia podemos terminar teniendo una familia de clases que comparten un interfaz común y con sobrecarga el concepto de polimorfismo, en cuanto a cambio de forma, se puede extender a los métodos. 4. http://www.cica.es/formacion/JavaTut/Cap1/heren.html Esta pagina la utilice porque en esta pagina me habla sobres los conceptos que me hablaba de herencia y de clase abstracta y los complementaban con unos problemas y en herencia me decía que la Herencia es el mecanismo por el que se crean nuevos objetos definidos en términos de objetos ya existentes y lo complementaba con ejemplo de eso. 5. http://www.elguille.info/colabora/puntoNET/sergio_ClaseAbstracta.htm Esta pagina la utilice porque en esta pagina me explicaba muchos ejemplos sobre polimorfismo con clase abstracta donde me daban mucho ejemplos para asi pudiese ver como se daba estos temas juntos.

6. http://es.wikipedia.org/wiki/Polimorfismo_(programaci%C3%B3n_orientada_ a_objetos) Esta pagina la utilice porque en esta pagina me habla sobres los conceptos que me hablaba de polimorfismo me decía que para la programación orientada a objeto el polimorfismo era la capacidad que tienen objetos de diferentes clases de responder al mismo mensaje. También me decía que el polimorfismo se puede clasificar el en dos grandes clases que son polimorfismo dinámico y polimorfismo estático. 7. http://javabasico.osmosislatina.com/curso/polimorfismo.htm Esta pagina la utilice porque en esta pagina me habla sobres los conceptos que me hablaba de polimorfismo y de clase abstracta las definiciones y como se usa osea que nos da un ejemplo bien avanzado de cómo se usa el polimorfismo y las clases abstractas. 8. http://es.wikipedia.org/wiki/Sobrecarga Esta pagina la utilice porque en esta pagina me habla sobres los conceptos que me hablaba de sobrecarga me decía esta pagina que para la en programación orientada a objetos la sobrecarga se refiere a la posibilidad de tener dos o más funciones con el mismo nombre pero funcionalidad diferente. Es decir, dos o más funciones con el mismo nombre realizan acciones diferentes y lo complementaba con un ejemplo. 9. http://www.php-es.com/language.oop5.overloading.html Esta pagina la utilice porque en esta pagina me habla sobres los conceptos que me hablaba de sobrecarga me decía Las llamadas a métodos y los accesos a los miembros pueden ser sobrecargadas por medio de los métodos __call, __get y __set. Y tambien me describía las sobrecargas de miembro y me decía cuales eran esos miembros y me da un ejemplo de sobrecarga. 10.http://www.fi-b.unam.mx/pp/profesores/carlos/java/java_basico3_4.html Esta pagina la utilice porque en esta pagina me habla sobres los conceptos que me hablaba de Súper Clase pero de forma jerárquica y con una estructura de árbol y unos ejemplos de una estructura jerárquica de una súper clase y sus subclase.

1. Jerarquía: La organización como estructura, origina la necesidad de establecer niveles de autoridad y responsabilidad dentro del programa. 2. Herencia: La Herencia es el mecanismo por el que se crean nuevos objetos definidos en términos de objetos ya existentes. Construir una clase a partir de otra 3. Clase Abstracta: Una clase abstracta es una clase de la que no se pueden crear objetos. La utilidad de las Clase Abstracta es que permitir que otras clases se deriven de ella. También son clases de las que no es posible crear instancias. 4. Súper Clase: Súper clase La voy a definir así la clase padre de cualquier clase es conocida como su superclase. La clase hija de una superclase es llamada una subclase. 5. Polimorfismo: a la capacidad que tienen objetos de diferentes clases de responder al mismo mensaje. Esto significa que puede haber muchos mensajes con el mismo nombre, en diferentes clases. Cada Clase responde al mensaje con su código propio. 6. Sobrecarga: la sobrecarga se refiere a la posibilidad de tener dos o más funciones con el mismo nombre pero funcionalidad diferente. Es decir, dos o más funciones con el mismo nombre realizan acciones diferentes. 7. extends: se usa para generar una subclase (especialización) de un objeto. 8. clase Object: de la cual derivan todas las demás clases. También es la superclase de todas las clases. 9. funciones polimórficas: son aquellas funciones que pueden evaluarse o ser aplicadas a diferentes tipos de datos de forma indistinta. 10. tipos polimórficos: son aquellos tipos de datos que contienen al menos un elemento cuyo tipo no está especificado.

11. Polimorfismo dinámico: es aquél en el que el código no incluye ningún tipo de especificación sobre el tipo de datos sobre el que se trabaja. 12. Polimorfismo estático: Es aquél en el que los tipos a los que se aplica el polimorfismo deben ser explicitados y declarados uno por uno antes de poder ser utilizados.

13.Herencia Múltiple: La herencia múltiple significa que una subclase puede tener más de una superclase. Esto permite que la subclase herede propiedades de más de una superclase y "mezclar" sus propiedades. 14. Limitaciones en la herencia: Es cuando los campos y métodos de una clase son siempre accesibles para el código de la misma clase.

 Herencia: class Mamifero { String especie, color; public void mover() { System.out.println("El mamífero se mueve"); } } class Perro extends Mamifero { int numero_patas; public void mover() { System.out.println("El Perro es el que se mueve"); } } class Herencia { public static void main(String[] args) { Perro bisho = new Gato(); bisho.mover(); } } Bueno este programa de Herencia hace que la clase mamífero tiene como variable la especie el color eso esta en el void. Mientras en otra clase perro esta clase hereda lo que tenia la clase mamífero.  Clase Abstracta: import java.util.*; abstract class Instrumento { public abstract void tocar(); public String tipo() { return "Instrumento"; } public abstract void afinar(); } class Piano extends Instrumento {

public void tocar() { System.out.println("Piano.tocar()"); } public String tipo() { return "Piano"; } public void afinar() {} } class Musica2 { static void afinar(Instrumento i) { i.tocar(); } static void afinarTodo(Instrumento[] e) { for(int i = 0; i < e.length; i++) afinar(e[i]); } public static void main(String[] args) { Instrumento[] orquesta = new Instrumento[5]; int i = 0;

}

}

orquesta[i++] = new Piano(); afinarTodo(orquesta);

En este programa de Clase Abstracta lo que hace es primero tenemos una clase abstracta que es instrumento y también tiene un método publico void Instrumento. Luego esta clases abstracta se le heredan Instrumento y se imprime un mensaje que es piano tocar.después entra en método estático afinartodo tiene a instrumento como argumento, después en el main imprime el mensaje.

 Polimorfismo: class Perro extends Mamifero { int numero_patas; public void mover() { System.out.println("Ahora es un perro el que se mueve"); } } class Polimorfismo {

public static void muevete(Mamifero m) { m.mover(); } public static void main(String[] args) { Gato bisho = new Gato(); Perro feo = new Perro(); muevete(bisho); muevete(feo); } } Como en este programa de polimorfismo utilizamos herencia podemos terminar teniendo si creamos un nuevo fichero que contenga a Mamifero y Gato le añadimos . Vemos que el método muevete llama al método mover de un mamífero El no sabe con qué clase de mamífero trata, pero la cosa funciona y se llama al método correspondiente al objeto específico que lo llama (es decir, primero un gato y luego un perro).  Sobrecarga: public class Sumar { public float suma(float a, float b) { System.out.println("Estoy sumando reales"); return (a+b); } public int suma(int a, int b) { System.out.println("Estoy sumando enteros"); return a+b; } public static void main(String[] args) { float x = 1,y = 2; int v = 3, w = 5; System.out.println(suma(x,y)); System.out.println(suma(v,w)); } } En este programa de sobre carga en este programa tengo una método publica flotante suma en donde el método publico flotante suma tiene como argumento dos variables y las dos variables son de tipo flotante, mientras en el otro método publico entero también tiene dos argumento y los dos son enteros pero en el método flotante se suma números reales, mientras que en el otro método solo sumamos numero enteros.

Persona Gente[]:String

GetNombre() GetDescripcion()

Empleado

Jefe

Nombre: String Salario: double Aumento: double

Nombre: String Salariobase double: Bonos: double

GetSalario() getDescripcion() SalariodelAumento(): void

GetSalario() SetBonos: void

import java.text.*; public class Persona { public static void main(String[] args) { Perso[] gente = new Perso[7];

Jefe boss = new Jefe("Efrain Caballero", 7000); gente[0]=boss; gente[1]= new Empleado("\nvochy", 5000); gente[0]= new Empleado("\nKathya Gonzalez", 9000); gente[3]= new Empleado("\nLeyla Sanchez",6000); gente[4]= new Empleado("\nAlex Rodriguez",2500000); for(int i =0;i
abstract class Perso { public Perso(String n) { nombre=n; }

public abstract String getDescripcion(); public String getNombre() { return(nombre); }

private String nombre; }

import java.text.*; class Empleado extends Perso { public Empleado(String n, double s) { super(n); salario = s;

} public double getSalario() { return(salario); } public String getDescripcion() { NumberFormat formatter = NumberFormat.getCurrencyInstance(); return("Un empleado con un sueldo de:" + formatter.format(salario)); } public void SalariodelAumento (double byPercent) { double aumento = salario * byPercent/100; salario += aumento;

} private double salario; }

import java.text.*; class Jefe extends Empleado { public Jefe(String n, double s)

{ super(n,s); bonus=0; } public double getSalario() { double Salariobase =super.getSalario(); return Salariobase + bonos; } public void setBonos(double b) { bonos=b; } private double bonos; }

Los temas de Jerarquía herencia Clase Abstracta, Polimorfismo, Sobrecarga y Súper Clases no es difícil, solo que generalmente no entendemos muy bien los concepto. En este trabajo he tratado de ser lo mas claro posible de todos los conceptos y programas en este trabajo.

Related Documents

Trabajo Del Profe Diego
October 2019 14
Trabajo Del Profe
May 2020 3
Profe
November 2019 27
Profe Rafa
November 2019 20