Foros-FIUBA Foros HostingPortal
 FAQ  •  Buscar  •  Wiki  •  Apuntes  •  Planet  •  Mapa  •  Eyeon  •  Chat
Preferencias  •  Grupos de Usuarios
Registrarse  •  Perfil  •  Entrá para ver tus mensajes privados  •  Login
Ver tema siguiente
Ver tema anterior

Responder al tema Ver tema anteriorEnviar por mail a un amigo.Mostrar una Lista de los Usuarios que vieron este TemaGuardar este Tema como un archivoPrintable versionEntrá para ver tus mensajes privadosVer tema siguiente
Autor Mensaje
Uciel
Nivel 6


Edad: 33
Registrado: 16 Ago 2010
Mensajes: 288

Carrera: Informática
argentina.gif
MensajePublicado: Vie Ago 24, 2012 11:24 pm  Asunto:  Duda sobre Pharo basica Responder citandoFin de la PáginaVolver arriba

Buenas gente, estoy tratando de aprender lo basico de pharo. Tengo un perro, y quiero hacer que ladre (que emita "guauu"), osea, en el workspace escribo:

unPerro := Perros.
unPerro ladrar.

el tema es la clase Perros, ¿como le defino el metodo ladrar? en la parte del system browser cuando estoy en la 2º columna (1º son las categorias y 2º las clases) ¿donde defino el metodo en Instace o en Class?

Saludos Smile


Tauro Género:Masculino Caballo OfflineGalería Personal de UcielVer perfil de usuarioEnviar mensaje privado
Hache
Nivel 8



Registrado: 13 May 2010
Mensajes: 574

Carrera: Informática
argentina.gif
MensajePublicado: Vie Ago 24, 2012 11:45 pm  Asunto:  (Sin Asunto) Responder citandoFin de la PáginaVolver arriba

Supongo que en Class (eso si queres que TODOS los perros ladren).
Creo que fer90 te va a poder decir mejor, casi seguro que él usó Pharo.

_________________
Nosotros... Chat FIUBA!

   OfflineGalería Personal de HacheVer perfil de usuarioEnviar mensaje privadoVisitar sitio web del usuario
nerea
Nivel 3



Registrado: 26 Ago 2008
Mensajes: 32
Ubicación: Mercedes
Carrera: Informática
argentina.gif
MensajePublicado: Sab Ago 25, 2012 12:02 am  Asunto:  (Sin Asunto) Responder citandoFin de la PáginaVolver arriba

Lo deberías definir como instance.

Así es como lo hicieron en clase. Es una instancia de la clase Perro.

_________________
Y si tu cabeza explota también con oscuros presagios,
nos veremos en el lado oculto de la luna...


I can't think of anything to say except...
I think it's marvelous! HaHaHa

 Género:Femenino  OcultoGalería Personal de nereaVer perfil de usuarioEnviar mensaje privado
Keyword
Nivel 6


Edad: 32
Registrado: 19 Jul 2011
Mensajes: 224

Carrera: Informática
CARRERA.informatica.2.gif
MensajePublicado: Sab Ago 25, 2012 12:24 am  Asunto:  (Sin Asunto) Responder citandoFin de la PáginaVolver arriba

Va en instance. Class es para métodos de clase, ya lo van a explicar. Igualmente para crear una instancia deberias hacer unPerro:= Perros new.

_________________

Your soul is mine

Leo Género:Masculino Cabra OfflineGalería Personal de KeywordVer perfil de usuarioEnviar mensaje privado
koreano
Nivel 9



Registrado: 15 Jul 2010
Mensajes: 1796

Carrera: No especificada
blank.gif
MensajePublicado: Sab Ago 25, 2012 12:30 am  Asunto:  (Sin Asunto) Responder citandoFin de la PáginaVolver arriba

unPerro := Perros.
unPerro ladrar.
Perros ladrar.


Perros = clase
unPerro = instancia de clase Perros
unPerro ladrar = mensaje ladrar a la instancia unPerro de la clase Perros (instance)
Perros ladrar = mensaje ladrar a la clase Perros (class)


   OcultoGalería Personal de koreanoVer perfil de usuarioEnviar mensaje privado
Lautaz
Nivel 8



Registrado: 05 Sep 2008
Mensajes: 550

Carrera: Informática y Sistemas
argentina.gif
MensajePublicado: Sab Ago 25, 2012 10:53 am  Asunto:  (Sin Asunto) Responder citandoFin de la PáginaVolver arriba

Buenas, se define en la parte instance.

Por otra parte, cuando definís una clase, lo "estándar" es poner el nombre en singular. Si llamás a la clase Perros estás dando a entender que cada objeto de esa clase va a ser un conjunto de Perros.

_________________
61.7

Death ... By exile

 Género:Masculino  OfflineGalería Personal de LautazVer perfil de usuarioEnviar mensaje privado
Uciel
Nivel 6


Edad: 33
Registrado: 16 Ago 2010
Mensajes: 288

Carrera: Informática
argentina.gif
MensajePublicado: Sab Ago 25, 2012 12:05 pm  Asunto:  (Sin Asunto) Responder citandoFin de la PáginaVolver arriba

Cita:
unPerro ladrar = mensaje ladrar a la instancia unPerro de la clase Perros (instance)

Perros ladrar = mensaje ladrar a la clase Perros (class)


aca hay algo que no me quedo claro,

unPerro ladrar

y

Perros ladrar

¿¿hacen cosas distintas??

tal vez la confusion venga mas por el lado de la diferencia entre poner

unPerro := Perros

y

unPerro := Perros new

PD: Sí Lautaz tenes razon!! la clase tendria que ser Perro, lo dejo como Perros en este caso para seguir el hilo de la conversacion!


Tauro Género:Masculino Caballo OfflineGalería Personal de UcielVer perfil de usuarioEnviar mensaje privado
Sebastian Santisi
Administrador Técnico


Edad: 42
Registrado: 23 Ago 2005
Mensajes: 17451


argentina.gif
MensajePublicado: Sab Ago 25, 2012 12:07 pm  Asunto:  (Sin Asunto) Responder citandoFin de la PáginaVolver arriba

Sin tener idea de qué es Pharo, de lo que te respondieron.

Como método de clase, la idea sería escuchar cómo es un ladrido de perro, sin tener ningún perro para ladrar. (si es que eso tiene sentido)

O sea, no hacés ladrar a una instancia determinada de la clase perro, hacés ladrar a la clase.

_________________
Image[tex] ${. \ \ \ \ \ \ \ \ \ .}$ [/tex][tex] ${\Large Usá \LaTeX, no seas foro...}$ [/tex]

Aries Género:Masculino Perro OfflineGalería Personal de Sebastian SantisiVer perfil de usuarioEnviar mensaje privadoVisitar sitio web del usuario
Lautaz
Nivel 8



Registrado: 05 Sep 2008
Mensajes: 550

Carrera: Informática y Sistemas
argentina.gif
MensajePublicado: Sab Ago 25, 2012 1:37 pm  Asunto:  (Sin Asunto) Responder citandoFin de la PáginaVolver arriba

Uciel escribió:
Cita:
unPerro ladrar = mensaje ladrar a la instancia unPerro de la clase Perros (instance)

Perros ladrar = mensaje ladrar a la clase Perros (class)


aca hay algo que no me quedo claro,

unPerro ladrar

y

Perros ladrar

¿¿hacen cosas distintas??

tal vez la confusion venga mas por el lado de la diferencia entre poner

unPerro := Perros

y

unPerro := Perros new

PD: Sí Lautaz tenes razon!! la clase tendria que ser Perro, lo dejo como Perros en este caso para seguir el hilo de la conversacion!


Es un poco complicado de explicar pero no tenés que usar un método de clase (estático) para algo que es propio de cada perro. Vos me dirás "todos los perros ladran", sí, pero imaginate que cada vez que un perro ladra se le gastan un poco las cuerdas vocales, si ladrar es un método de clase, como hacés para determinar el perro que ladró y disminuirle la resistencia de sus cuerdas?

Espero explicarme bien, es un ejemplo algo raro pero bue.

La cuestión es:
- Método de clase: cosas comunes a todas las instancias de las mismas.
- Método de instancia: cosas que dependen de la instancia.

Te aconsejo que busqués en google: "métodos de clase vs métodos de instancia" y leas un poco sobre el tema (salen miles de artículos) para que te quede más claro

_________________
61.7

Death ... By exile

 Género:Masculino  OfflineGalería Personal de LautazVer perfil de usuarioEnviar mensaje privado
Johann
Nivel 9


Edad: 34
Registrado: 04 Abr 2009
Mensajes: 1098
Ubicación: Nuñez
Carrera: Informática
CARRERA.informatica.3.jpg
MensajePublicado: Sab Ago 25, 2012 2:29 pm  Asunto:  (Sin Asunto) Responder citandoFin de la PáginaVolver arriba

Sebastian Santisi escribió:
Sin tener idea de qué es Pharo, de lo que te respondieron.

Como método de clase, la idea sería escuchar cómo es un ladrido de perro, sin tener ningún perro para ladrar. (si es que eso tiene sentido)

O sea, no hacés ladrar a una instancia determinada de la clase perro, hacés ladrar a la clase.


Pharo es una implementación de Smalltalk.


Capricornio Género:Masculino Serpiente OfflineGalería Personal de JohannVer perfil de usuarioEnviar mensaje privado
Uciel
Nivel 6


Edad: 33
Registrado: 16 Ago 2010
Mensajes: 288

Carrera: Informática
argentina.gif
MensajePublicado: Sab Ago 25, 2012 2:33 pm  Asunto:  (Sin Asunto) Responder citandoFin de la PáginaVolver arriba

Bueno, parece q me cerro un poquito mas la idea. No estoy seguro de haberla usado antes en a&p II, no se si fue porque no era necesario o no nos la enseñaron.
En fin aca dejo otra explicacion (con ejemplo) que encontre por la web:

Mira, aquí tengo una clase

Class A{
A(){
printf(“soy un constructor”);
}
void funcA(){
printf(“soy una funcion”);
}
}

Esto es la declaracion de una clase. Tiene un metodo llamado funcA. Este
metodo es un metodo de instancia. Si le pusiera la palabra static se
convertiria en metodo de clase. La diferencia? Imagina que quisieramos hacer
una clase que cada vez que llamemos al constructor incremente un contador,
por ejemplo, para saber cuantas instancias tenemos de esa clase.

Class A{
private:
int b;
static int contador;
public:
A(){
printf(“soy un constructor”);
A::contador++;
b++
}
void funcA(){
printf(“%d %d”,A::cont,b);
}
}

Que estamos haciendo? Pues si te fijas en la clase, tenemos dato miembro
llamado b y otra llamada cont que es estatico. El estatico crecera siempre.
B sera siempre 1 (si esta correctamente inicializado, que aquí no esta). La
idea de las funciones es exactamente lo mismo. Cuando tienes una funcion de
clase, llamas a esa funcion sin necesidad de tener una instancia de la
clase, es decir, sin necesidad de habere creado antes un objeto de esa
clase. Cuando se usan este tipo de funciones? Cuando tienes una clase que
quieres llamar sin tener la seguridad de haberla creado, por ejemplo.


Tauro Género:Masculino Caballo OfflineGalería Personal de UcielVer perfil de usuarioEnviar mensaje privado
Mostrar mensajes de anteriores:      
Responder al tema Ver tema anteriorEnviar por mail a un amigo.Mostrar una Lista de los Usuarios que vieron este TemaGuardar este Tema como un archivoPrintable versionEntrá para ver tus mensajes privadosVer tema siguiente

Ver tema siguiente
Ver tema anterior
Podés publicar nuevos temas en este foro
No podés responder a temas en este foro
No podés editar tus mensajes en este foro
No podés borrar tus mensajes en este foro
No podés votar en encuestas en este foro
No Podéspostear archivos en este foro
No Podés bajar archivos de este foro


Todas las horas son ART, ARST (GMT - 3, GMT - 2 Horas)
Protected by CBACK CrackerTracker
365 Attacks blocked.

Powered by phpBB2 Plus, phpBB Styles and Kostenloses Forum based on phpBB © 2001/6 phpBB Group :: FI Theme :: Mods y Créditos

Foros-FIUBA está hosteado en Neolo.com Cloud Hosting

[ Tiempo: 0.2922s ][ Pedidos: 20 (0.2218s) ]