Ir al contenido principal

II Semestre - JAVA: EJERCICIOS SOBRE JERARQUIAS DE HERENCIA

Debate:

Discutir las formas en que la herencia promueve la reutilización de software, se ahorra tiempo durante el desarrollo del programa y ayuda a prevenir errores.

Ejercicio:

Diseñar una jerarquía de herencia para los estudiantes en una universidad. Usar la clase Student como la superclase de la jerarquía, a continuación, extender Student con las clases de UndergraduateStudent y GraduateStudent. Continúe extendiendo la jerarquía tando como sea posible(como muchos niveles). Por ejemplo, Freshman, Sophomore, Junior y Senior podría heredar de UndergraduateStudent, asi mismo  DoctoralStudent y MastersStudent podría ser subclases de GraduateStudent. Despues de diseñar la jerarquía debatir las relaciones que existen entre las clases. [Nota: No es necesario escribir ningún código para este ejercicio.]

Debate

Algunos programadores prefieren no utilizar el acceso protegido, porque creen que rompe la encapsulación de la superclase. Discutir los méritos relativos de acceso protegido contra el uso de acceso privado en superclases.

Ejercicio:

Escribir una jerarquía de herencia para las clases de cuadrilátero, trapezoide, paralelogramo, rectángulo y cuadrado. Utilice cuadrilátero como la superclase de la jerarquía. Diseñar la jerarquía con tantos niveles de profundidad como sea posible. Especificar las variables de instancia y los métodos para cada clase. Las variables de instancia privada del cuadrilátero debe ser el de coordenadas x, y para los cuatro extremos del cuadrilátero.

Comentarios

  1. En la clase principal que es Student puede tener especificaciones como Datos Personales que luego se pueden llamar en los otras 2 Clases para saber quienes pertenecen a ese grupo y posterior nombrarlos en la 3 clases con un determinado grupo asi estaremos haciendo un filtro de alumnos segun se grado y especialidad.

    ResponderEliminar
  2. Me parece util la utilizacion de herencia, ya que al poder reutilizar codigo en las diferentes clases que se creo en un programa, se ahorra tiempo, no hay necesidad de escribir un codigo una y otra vez al necesitarlo. Tambien es interesante lo de la prevencion de errores, una vez que un codigo esta probado, funciona, funcionara en las demas subclases que heredaran; lo que tambien nos ahorra tiempo.

    ResponderEliminar
  3. Bueno a mi entender puedo decir que al hacer una clase principal en esa ira todo lo que queremos incluir y las demas clases o subclases pues solo sera para llamar atraves de la herencia que heredan de la clase principal y creo que eso ayudara mucho en al posible equivocacion de datos ya q nos indicara donde se encuentra el error al cargar el programa q se encuentra dividido en partes o clases

    ResponderEliminar
  4. bueno una clase principal es todo lo que queremos incluir o reutilisar los codigos
    y no hay necesidad de escriber de nuevo los codigos ....

    ResponderEliminar
  5. Me ahorra tiempo, al llamar a otra clase en lugar de volver a redactar todo y claro que me ayuda a prevenir errores, porque ya no lo voy a volver a transcribir.

    ResponderEliminar
  6. en este ejemplo: la superclase Student va a heredar a las subclases UndergraduateStudent y GraduateStudent, y a su vez estas dos subclases van a tener otras subclases mas, que van a heredar de estas. de todas maneras cada clase va a tener su constructor.

    ResponderEliminar
  7. el realizar un programa que nos permita sobre herencia no siempre nos permite aho purrar tiempo pero si encaso no tuvieramos errores en programar un trabajo que podemos realizar si podemos ahorrar tiempo

    ResponderEliminar
  8. al programar un trabajo sobre herncia no sienpre nos permite ahorrar tiempo el super clase nos permite a jerarqia al cual nos permite ahorrar el tiempo en cuncluciones si nos permite ahorrar el tiempo

    ResponderEliminar
  9. bueno con lo poco que se ,si ayuda a que sea mas rapido y a corregir o prevenir errores porque en cada subclase puedes redefinir el codigo para que sea mucho mejor.....=)

    ResponderEliminar
  10. ahorra tiempo y codigo para poder reutilizar en clases y sacaralo de la superclase

    ResponderEliminar
  11. A mi parecer es una buena idea promover la reutilizacion de sotfware,porque no solo te perimte ahorrar tiempo,tambien te permite controlar tus errores y poder realizar un sistema con mucha más facilidad. pero sin embargo debemos tener en cuenta que no siempre aplicar esto es factible.
    Ana Valencia Cespedes.

    ResponderEliminar
  12. la herencia ahorra tiempo y asi ya no hay q estar escribiendo todo el codigo de nuevo solo tenemos q llamarlo desde clase pricipal y si el programa principal esta bien sin errores ya no hay q ue estar comprobando de nuevo.

    ResponderEliminar
  13. La herencia nos permite sacarle más provecho al código porque podemos utilizarlo más de una vez sin necesidad de crear otro programa con similar código, nos ahorra tiempo y menos equivocaciones.

    ResponderEliminar
  14. bueno una clase principal es todo lo que queremos incluir o reutilisar los codigos
    y no hay necesidad de escriber de nuevo los codigos ....

    ATTE : walter fredy llanque challo

    ResponderEliminar
  15. 2do. DEBATE
    Basicamente da a enter que la encapsulacion depeden el tipo de dato que se va a declarar como PROTECTED y como PRIVATE ya que en la herencia influye mucho en que solo se puede heredar PROTECTED y no PRIVATE el cual se utilizaria para hacer un cambio o modificación pero en PRIVATE solo tendria que ser especificado desde la SUPERCLASE.

    ResponderEliminar
  16. Bueno para mi pues podria decir que todo depende en que tipo de archivo estemos trabajando ya q si queremos que dicho codigo no tenga ningun acceso posterior ni mucho menos modificado pues lo trabajamos protegido y eso dependera ademas de eso el uso el uso privado de clases pues creo que no seria accesible para poder ser utilizado luego que lo necesitemos o en algun otro caso que se nos presente es todo lo que puedo decir del 2do DEBATE

    ResponderEliminar
  17. 2º Debate: ventaja de "protegido" es que las variables de instancia que se declaran asi, pueden ser utilizarse por subclases que heredan de la clase superior inmediata, a diferencia de "privado", donde no se va a heredar las variables asi declaradas; se debe definir claramente cuales variables van a ser instanciadas como "privadas", ya que luego no van a poder ser heredadas en otras subclases. desventaja: se pierde cierto nivel de encapsulacion.

    ResponderEliminar
  18. SEGUNDO COMENTARIO:
    En protected, encapsula a sus clases y subclases, en cambio en Private sólo a su clase misma, la ventaja del protected es que se pude crear varias subclases e instanciar, en el private nop.

    ResponderEliminar
  19. 2do Debate:al declarar un variable protegida puede ser usada en una subclase pero si la declaramos privada no se puede hacer lo mismo

    ResponderEliminar
  20. usaria el private si quiero que mi campo o metodo no sea visto y protegerlo de esta manera y si no quiero esto .solo usaria el protected para definirlo en donde quiera usarlo

    ResponderEliminar
  21. DEpende de que es lo que queremos proteger eso lo encapsulamos

    ResponderEliminar
  22. 1er debate:de la super clase tiene 2 subclases y estas tambien tienen subclases las puedes pueden heredar caracteristicas de la super clase por medio de herencia esto permite tener un mejor control de errores los cuales poemos encontrar con mayor rapides y facilidad ya k el codigo esta mas ordenado.

    ResponderEliminar
  23. Disculpe Jorge Vizcarra, tiene usted el programa del cuadrilátero que me facilite?

    ResponderEliminar

Publicar un comentario

Entradas populares de este blog

Uso de Parámetros con el control SqlDataSource - Primera entrega

Una de las principales ventajas del control SqlDataSource , radica en la posibilidad de trabajar con parámetros, con este control es posible trabajar con cualquiera de los siguientes parámetros: Parameter ControlParameter CookieParameter FormParameter ProfileParameter QueryStringParameter SessionParameter A su vez, el control SqlDataSource incluye 5 colecciones de parámetros de ASP.NET: SelectParameters , InsertParameters , DeleteParameters , UpDateParameters y FilterParameters . Puede usar estas colecciones de parámetros para asociar un parámetro en particular de ASP.NET con algún comando o filtro en particular del control SqlDataSource. En este post haré mención a parámetros gestionados mediante Parameter y ControlParameter . En publicaciones posteriores me encargaré del resto de parámetros. Trabajaré para la explicación con la base de datos Pubs de SQL Server , si no la tiene debe instalarla, puede hacerlo siguiendo este link: http://www.microsoft.com/downloads/en/details

Estructuras de Control - Parte 2

Estructuras de Control Repetitivas Las computadoras están especialmente diseñadas para ejecutar tareas repetidamente. Las estructuras de control repetitivas son aquellas en las que una sentencia o grupos de sentencias se repiten muchas veces. Una estructura de control que permite la repetición de una serie determinada de sentencias se denomina bucle (lazo o ciclo). El cuerpo del bucle c ontiene las sentencias que se repiten. La acción o acciones que se repiten en un bucle se denomina el cuerpo del bucle, y cada repetición del cuerpo del bucle se denomina iteración. Sentencia Mientras..hacer (while) La estructura repetitiva mientras es aquella en la que el número de iteraciones no se conoce por anticipado y el cuerpo del bucle se repite mientras se cumple una determinada condición. Por esta razón a estos bucles se les denomina bucles co ndicionales. La sintaxis es la siguiente: Cuando la sentencia mientras se ejecuta, el primer p aso es la evaluación de la expresión lóg

Microsoft Access - Entrega 02

Establecer Índices y Claves primarias: Los índices permiten especificar un orden para la búsqueda de registros, su principal tarea es esta, básicamente cualquier campo de una Tabla puede ser un índice, incluso un conjunto de campos pueden ser índices, (los que suelen denominarse INDICES COMPUESTOS). Para definir un índice en un campo de una tabla basta con especificar la propiedad correspondiente, o también utilizar el botón Índice, tal como se muestra en la Imagen:      Por ejemplo, digamos que nos piden crear un índice compuesto denominado FullName que abarca los campos Apellidos y Nombres. Para realizar esa tarea haga click en el botón Índices y luego configure de acuerdo a la imagen:       Clave Principal: La clave primaria permite identificar de manera única a un registro, por teoría de diseño de base de datos, cada Tabla debe tener su correspondiente clave primaria para facilitar tareas de búsqueda y actualización de registros. Para definir una clave primaria en una tabl