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.
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.
ResponderEliminarMe 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.
ResponderEliminarBueno 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
ResponderEliminarbueno una clase principal es todo lo que queremos incluir o reutilisar los codigos
ResponderEliminary no hay necesidad de escriber de nuevo los codigos ....
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.
ResponderEliminaren 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.
ResponderEliminarel 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
ResponderEliminarkbuykuykuykuykucmj
ResponderEliminaral 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
ResponderEliminarbueno 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.....=)
ResponderEliminarahorra tiempo y codigo para poder reutilizar en clases y sacaralo de la superclase
ResponderEliminarA 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.
ResponderEliminarAna Valencia Cespedes.
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.
ResponderEliminarLa 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.
ResponderEliminarbueno una clase principal es todo lo que queremos incluir o reutilisar los codigos
ResponderEliminary no hay necesidad de escriber de nuevo los codigos ....
ATTE : walter fredy llanque challo
2do. DEBATE
ResponderEliminarBasicamente 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.
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
ResponderEliminar2º 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.
ResponderEliminarSEGUNDO COMENTARIO:
ResponderEliminarEn 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.
2do Debate:al declarar un variable protegida puede ser usada en una subclase pero si la declaramos privada no se puede hacer lo mismo
ResponderEliminarusaria 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
ResponderEliminarDEpende de que es lo que queremos proteger eso lo encapsulamos
ResponderEliminar1er 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.
ResponderEliminarDisculpe Jorge Vizcarra, tiene usted el programa del cuadrilátero que me facilite?
ResponderEliminar