![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
|||
|
|||
|
Hola Roman ¡
Te paso la Unit Biblioteca y le hechas un ojo
Tomare en cuenta tu consejo, yo por ahora solo me limito a aprender, llebo solo 1 mes programando en Delphi y es mi primer lenguaje de programacion orientado a objetos que aprendo, la pregunta mas logica es....¿Podria utilizar siempre Propiedades cuando exista una jerarquia de clases? |
|
#2
|
||||
|
||||
|
Bien dicen que el hábito no hace al monje. Esto no tienen nada que ver con polimorfismo, es una horrible chapuza para utilizar virtual y override.
Es imperdonable que una clase haga referencia implícita o explícita a datos de sus descendientes. Cada método "virtual" carga con todos los posibles parámetros de la jerarquía. ¿Qué pensará este profesor? Hazle este cuestionamiento: Supongamos que se distribuye el código compilado (dcus) de esta biblioteca sin proporcionar el código fuente. Y supongamos que en un futuro, quienes adquirieron la biblioteca necesitan ampliar la jerarquía añadiendo nuevos descendientes que introducen nuevos atributos. ¿Cómo se puede mantener el "polimorfismo"? Tendríamos que añadir los nuevos parámetros al procedimiento de la clase base. ¡Pero no disponemos del código fuente de la clase base! De paso pregúntale para qué quiere todos esos var que anteceden a los parámetros ya que éstos no se modifican en la rutina. Y en mi opinión, dotar de tantos parámetros a un método no es más que una forma de disfrazar de OOP a una programación procedural a la antigüita. Mal, muy mal. Como te comenté: tómalo con reserva. // Saludos |
|
#3
|
||||
|
||||
|
Cita:
// Saludos |
|
#4
|
|||
|
|||
|
Cita:
![]() |
|
#5
|
||||
|
||||
|
Cita:
// Saludos |
|
#6
|
|||
|
|||
|
Cita:
![]() Me fui para atrás cuando vi ese código... ![]() |
|
#7
|
|||
|
|||
|
Ahora mismo me has descolocado.¿Lo que e hecho es una chapuza?, y si es asi...¿Como puedo solucionarlo??
Perdona pero estoy desconcertado, segun me dices, lo primero que deberia de haber hecho es transformar los parametros en propiedades, y no tengo ni idea de como hacer eso. Los var que hay puestos antes de cada parametro lo que dicen es que ese procedimiento va a devolver esos parametros al Form que uso para mostrar los datos. |
|
#8
|
|||
|
|||
|
polimorfismo
Soys rapidos,
|
|
#9
|
|||
|
|||
|
Cita:
Para obtener el valor de las propiedades solo tienes que hacer lo contrario, por ejemplo, desde un formulario:
Ya con eso estás obteniendo el valor de las propiedades del objeto Novela. Saludos... |
|
#10
|
||||
|
||||
|
Cita:
saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
|
#11
|
||||
|
||||
|
juer, que dificil es seguir este hilo con tanta actividad....
![]() mejor vuelvo mañana... o mejor.... no me meto que estoy sobrando ![]() saludos compis
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
|
#12
|
||||
|
||||
|
Cita:
// Saludos |
|
#13
|
|||
|
|||
|
El ejercicio era el siguiente.
Hay que crear un programa el cual permita al usuario introducir los datos por teclado de Prensa, Novela histarica, novela de ficcion, o novela biografica. Para ello debemos usar una jerarquia de clases, las cuales ya habeis visto. Para implementar el procedure alta, el cual llenara un array polimorfico donde almacenaremos los objetos, debemos usar la Herencia. Para el Procedimiento Mostrar deberemos usar Polimorfismo. Visto lo visto, lo que me estais aconsejando es que empieze de 0 el programa verdad? |
|
#14
|
|||
|
|||
|
wenas,simplemente decir k un p...mes pa esto.
soy kompañero d clase de liriko y la verdad es k tanto kalentamiento y tanto "averiguar x vuestra cuenta" estaba empezando a moskearme.eso hay k vivirlo pa saber l k sentiamos,sin k nos explicara nada.dando kosas x sabidas y x corregidas. al final tokara l de sempre,aprender cada uno x su cuenta enga,salu2 |
|
#15
|
|||
|
|||
|
Cita:
Saludos!! |
|
#16
|
||||
|
||||
|
Cita:
__________________
Van Troi De León (Not) Guía, Code vB:=Delphi-SQL, ¿Cómo? Viajar en el tiempo no es teóricamente posible, pues si lo fuera, ya estarían aqui contándonos al respecto! |
|
#17
|
||||
|
||||
|
Cita:
¿Solucionarlo? No sé qué decirte. Quizá, por dar el beneficio de la duda al profesor, sería bueno ver cuáles fueron los requerimientos originales de la práctica. Empecemos con el hecho de que semánticamente hablando los métodos alta y mostrar no les encuentro ningún sentido. ¿Qué significa dar de alta un libro? Para mí, en todo caso, significaría crear una instancia de la clase TLibro, llenar sus propiedades con datos proporcionados por el usuario y guardar la instancia en un almacenaje permanente como podría ser una base de datos. Piénsalo así: Si tienes una clase
Realmente te puedes ahorrar las clases y usar records:
con lo cual se quita el disfraz OOP a las clases. // Saludos |
|
#18
|
|||
|
|||
|
No soy Román pero te contesto.
Si, si se puede hacer. Aquí te pongo como sería tu clase padre usando solamente propiedades:
Ahora, una clase descendiente de TBiblioteca podría ser así:
Ahora, para darle valores a las propiedades de un objeto sería tan fácil como:
Espero que esto te aclare un poco el uso de las propiedades. Saludos... |
|
#19
|
||||
|
||||
|
A la excelente contestación de Maeyanes yo añadiría el polimorfismo en plena acción:
Libro podrá ser TBiblioteca, o cualquier otro descendiente. saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
|