Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   Frameworks y PHP orientado a objetos (http://www.forosdelweb.com/f68/)
-   -   metodos estaticos (http://www.forosdelweb.com/f68/metodos-estaticos-557710/)

Blade_Stom 17/02/2008 10:53

metodos estaticos
 
tengo la siguiente duda. Imaginense que tengo la clase persona. Dicha clase posee un metodo existePersona(nombrePersona: String) : boolean
Yo dsd otra clase necesito saber si 'Pepe' existe como persona. Entonces como lo harian? el metodo mencionado antes lo harian estatico para poder acceder a el sin tener que haber creado ninguna instancia?

Es que sé, o creo saber, que los metodos estaticos son más rapido porque no te obligan a haber realizado previamente ninguna instancia de dicha clase......pero nose muy bien si esta bien utilizarlo con los fines que yo planteo o si los metodos estaticos fueron diseñados para otros fines.....

que opinan?

GatorV 17/02/2008 14:17

Re: metodos estaticos
 
Mira la idea de un metodo estatico es tener rapidamente una funcion, pero en el ambito orientado a objetos, que no necesitas crearla, solo accesar rapidamente (como en este caso el ver si existe una persona). Es un metodo que no necesita probablemente configuracion ni datos de inicializacion.

Los metodos estaticos son mas "rapidos" pero solo a la hora de programar, en tiempo de ejecucion pueden ser mas rapidos o mas lentos, todo depende de lo que haga el metodo estatico (puede por decir crear varios objetos dentro y utilizarlos y luego borrarlos).

Saludos.

pragone 21/02/2008 14:11

Re: metodos estaticos
 
Otra forma de verlo (que simplemente añade a lo que dice GatorV) es:
¿El método tiene que ver con una instancia específica o con la clase?
Es decir, si buscas realizar una acción sobre una "persona" (en este caso) particular (modificar su nombre, obtener datos asociados, etc). sería un método "normal". Si es algo que atañe al grupo de objetos de la clase "persona", entonces es un método de la clase y por lo tanto debe ser estático.


La zona horaria es GMT -6. Ahora son las 23:05.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.