Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #21  
Antiguo 14-12-2005
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 28
Lepe Va por buen camino
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.
Responder Con Cita
  #22  
Antiguo 14-12-2005
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por liriko
¿Lo que e hecho es una chapuza?
Tú no. Tu profesor!!

¿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


Código Delphi [-]
type
  TLibro = class
    propiedades

    procedure Alta(parámetros);
  end;

implementation

procedure TLibro.Alta(parámetros);
begin
  propiedades := parámetros);
end;


Realmente te puedes ahorrar las clases y usar records:


Código Delphi [-]
type
  TLibro = record
    propiedades
  end;

procedure Alta(parámetros);

interface

procedure Alta(Libro: TLibro; parámetros);
begin
  Libro.propiedades := parámetros;
end;

con lo cual se quita el disfraz OOP a las clases.

// Saludos
Responder Con Cita
  #23  
Antiguo 14-12-2005
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por Lepe
no me meto que estoy sobrando
No, si aquí el que sobra es el profesor

// Saludos
Responder Con Cita
  #24  
Antiguo 14-12-2005
liriko liriko is offline
Miembro
 
Registrado: nov 2005
Posts: 27
Poder: 0
liriko Va por buen camino
Unhappy polimorfismo

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?
Responder Con Cita
  #25  
Antiguo 14-12-2005
johnyy johnyy is offline
Registrado
 
Registrado: nov 2005
Posts: 6
Poder: 0
johnyy Va por buen camino
Unhappy perplejo

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
Responder Con Cita
  #26  
Antiguo 14-12-2005
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Poder: 23
maeyanes Va por buen camino
Cita:
Empezado por johnyy
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
Hola johnyy, bienvenido a estos foros, te recomiendo que le des una leidita a este hilo y ya que estamos en esto, también revisa la guía de estilo.


Saludos!!
Responder Con Cita
  #27  
Antiguo 14-12-2005
Avatar de vtdeleon
vtdeleon vtdeleon is offline
Miembro
 
Registrado: abr 2004
Ubicación: RD & USA
Posts: 3.236
Poder: 24
vtdeleon Va por buen camino
Cita:
Empezado por maeyanes
Hola johnyy, bienvenido a estos foros, te recomiendo que le des una leidita a este hilo y ...
Wow, gracias, me quede vico
__________________
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!
Responder Con Cita
  #28  
Antiguo 14-12-2005
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Poder: 23
maeyanes Va por buen camino
Cita:
Empezado por liriko
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?
Creo que te confundiste al leer el problema. Según entiendo, tanto el procedimiento Alta como Mostrar no deben ser miembros de una clase. Lo único que tienen que hacer es llenar y mostrar un arrar de objetos respectivamente.

Ahora, el poliformismo en esto sería algo como:

Código Delphi [-]
var
  // Arreglo de objetos del tipo biblioteca
  Bibliografia: array [0..99] of TBiblioteca; 
 
// ...
 
procedure Alta(ABiblio: TBiblioteca; Index: Integer);
begin
  Bibliografia[Index] := ABiblio
end;

Para llamar a Alta se podría hacer de la siguiente forma:

Código Delphi [-]
begin
  Alta(Novela, 1); // Agregas un objeto de tipo TNovela
  Alta(Biografia, 2) // Agregas un objeto de tipo TBiografia
end;

Con esto ya estás haciendo uso del poliformismo. Esto es solo un ejemplo de como podría ser. Ya la implementación final queda de tu cuenta.



Saludos...
Responder Con Cita
  #29  
Antiguo 14-12-2005
johnyy johnyy is offline
Registrado
 
Registrado: nov 2005
Posts: 6
Poder: 0
johnyy Va por buen camino
bueno vale lo tendre en cuenta,pero no creo que sea para tanto
Responder Con Cita
  #30  
Antiguo 14-12-2005
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Poder: 23
maeyanes Va por buen camino
Cita:
Empezado por johnyy
bueno vale lo tendre en cuenta,pero no creo que sea para tanto
Si quieres que en lo futuro se lean tus mensajes y se atiendan tu dudas, claro que es para tanto. La verdad que para algunos (si no es que muchos) de nosotros es muy difícil tratar de comprender ese tipo de escritura. Tu primer mensaje no lo leí más allá de la segunda línea por lo mismo.



Saludos...
Responder Con Cita
  #31  
Antiguo 14-12-2005
johnyy johnyy is offline
Registrado
 
Registrado: nov 2005
Posts: 6
Poder: 0
johnyy Va por buen camino
hola muy buenas,quisiera hacer una pregunta por curiosidad: ¿el polimorfirsmo es utilizado con frecuencia en la oop?

gracias de antemano
Responder Con Cita
  #32  
Antiguo 14-12-2005
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 28
Lepe Va por buen camino
Si te refieres a crear tú tus propias clases pensando polimórficamente para
despues usarlo... pues en casos como estos sip; que dicho sea de paso, es
algo frecuente.

Usarlo de forma insconciente, o sin darte cuenta.... pues mucho más de lo
que crees, aunque no he mirado la VCL a fondo para comprobarlo, estoy muy
seguro de que internamente Delphi usa el concepto, ya que da mucha
libertad.

Declaras una variable como Tcomponent y despues puedes asignarle un
descendiente que tenga la clase.

-Un caso común es acceder a FindComponent para encontrar un determinado
control en el form en tiempo de ejecución. FindComponent busca un
Tcomponent, pero puede ser un TEdit, Tpanel o cualquiera que sea
descendiente, que en realidad lo serán casi todos los controles que tienes en
un Form.

- Realizar un bucle sobre todos los TEdits con FormX.Components[i]. (más de
lo mismo), cada boton o panel, se trata como si fuera un Tcomponent, que es
la clase base para ambos controles que he mencionado.

- Incluso recorrer todos los campos que tiene una tabla, tú trabajas
con Tfield, pero el campo en cuestión puede ser un TIntegerfield, TFloatField,
etc., que son clases hijas de TField.

Esto mismo se podría hacer sin uso del polimorfismo, pero no cabe duda que
ahorras lineas de código de esta forma, amén de usar una característica muy
potente del lenguage.

Moraleja: Es importante aprender los conceptos y practicar tanto con polimorfismo, herencia, etc.

saludos y espero te sirva.

saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.

Última edición por Lepe fecha: 14-12-2005 a las 21:37:55.
Responder Con Cita
  #33  
Antiguo 14-12-2005
johnyy johnyy is offline
Registrado
 
Registrado: nov 2005
Posts: 6
Poder: 0
johnyy Va por buen camino
si que me ha servido,gracias

a ver como resumo todo este tema en clase,jeje
Responder Con Cita
  #34  
Antiguo 19-12-2005
liriko liriko is offline
Miembro
 
Registrado: nov 2005
Posts: 27
Poder: 0
liriko Va por buen camino
Lightbulb polimorfismo

Hola amigos ¡

Me e estado pensando si comentaros, pero la verdad, me e decidido a hacerlo. Expuse todo este tema en clase, y el profesor(por llamarle de alguna manera) solo se reitero. Las propiedades son para los objetos visuales, con los metodos que habeis escrito en todo este hilo, segun el no estan los datos encapsulados, resumiendo, segun esta persona todo lo que hay escrito en este hilo es la "tipica basura que nos podemos encontrar por Internet". Yo, visto lo visto, pienso que es mejor que me lo mire por mi cuenta. Sabeis de algun manual sobre DELPI que merezca la pena?GRacias por adelantado.
Responder Con Cita
  #35  
Antiguo 19-12-2005
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Poder: 23
maeyanes Va por buen camino
Cita:
Empezado por liriko
Me e estado pensando si comentaros, pero la verdad, me e decidido a hacerlo. Expuse todo este tema en clase, y el profesor(por llamarle de alguna manera) solo se reitero. Las propiedades son para los objetos visuales, con los metodos que habeis escrito en todo este hilo, segun el no estan los datos encapsulados, resumiendo, segun esta persona todo lo que hay escrito en este hilo es la "tipica basura que nos podemos encontrar por Internet".
¿Así que según tu "maestro", el pasar 10 líneas de parámetros a un metodo es encapsular datos?

Lo único triste del caso es que tus demás compañeros se queden con lo que les está "enseñando" su "maestro".

Cita:
Empezado por liriko
Yo, visto lo visto, pienso que es mejor que me lo mire por mi cuenta. Sabeis de algun manual sobre DELPI que merezca la pena?GRacias por adelantado.
Pues para empezar, la misma ayuda de Delphi tiene mucha información, el único inconveniente (para algunos), es que se encuentra en inglés.

También te puedes bajar el libro de la Cara Oculta de Delphi 4, el link no lo tengo a la mano pero no faltará quien te lo proporcione.



Saludos...
Responder Con Cita
  #36  
Antiguo 19-12-2005
Avatar de Ohcan
[Ohcan] Ohcan is offline
Miembro Premium
 
Registrado: ago 2004
Ubicación: Madrid (España)
Posts: 119
Poder: 20
Ohcan Va por buen camino
Lightbulb

Cita:
Empezado por maeyanes
También te puedes bajar el libro de la Cara Oculta de Delphi 4, el link no lo tengo a la mano pero no faltará quien te lo proporcione.
Pues aquí: La Cara Oculta de Delphi 4

__________________
La violencia es el último recurso del incompetente. (Salvor Hardin)
Responder Con Cita
  #37  
Antiguo 19-12-2005
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 28
Lepe Va por buen camino
Cita:
Empezado por liriko
Me e estado pensando si comentaros, pero la verdad, me e decidido a hacerlo.
Pues te agradecemos que hayas confiado en nosotros al hacerlo.

Para no repetir lo dicho por otros compañeros; simplemente Escribe
TStringList en el editor de código de delphi, mantén la tecla CTRL presionada
y haz clic sobre la palabra. Irás al código fuente de Delphi y
comprobarás por tí mismo que Delphi usa propiedades para todo. Puedes mirar
libremente cómo está hecho delphi internamente, todos los controles y todas
las Clases, y por supuesto, se usan propiedades.

Si "tenemos que darle la razón a tu profesor" tendríamos que poner en
entredicho uno de los mejores Lenguajes de programación existentes, cuya
robustez, eficiencia y filosofía de POO ha sido más que demostrada y alabada.
Y habría que ponerlo en entredicho porque todas las clases tienen
propiedades, sea un control visual o no. Tú decides quien lleva razón... si
éste foro de internet.... o tu profesor .

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 19:12:22.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi