elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  Duda: reemplazar sobrecarga de métodos
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Duda: reemplazar sobrecarga de métodos  (Leído 1,716 veces)
HastatusXXI

Desconectado Desconectado

Mensajes: 8



Ver Perfil
Duda: reemplazar sobrecarga de métodos
« en: 24 Enero 2018, 16:00 pm »

Hola.

He hecho una clase para la estructura de datos Trie en Python y tengo un método recursivo que se llama addWord que tiene como argumentos la palabra que se quiere introducir, la subpalabra que se ha generado hasta el momento en cada llamada y el nodo actual. Me gustaría que el usuario pudiera utilizar el método con un solo argumento (la palabra a introducir), ya que los otros dos son consecuencia del algoritmo y la recursividad, de modo que el usuario no necesita conocerlos. En Java, por ejemplo, utilizaría la sobrecarga de métodos y el método addWord que he descrito sería privado y crearía otro con el mismo nombre, público y con la palabra a añadir como único argumento (creo que es el enfoque correcto, corregidme si me equivoco) ¿Hay alguna forma de hacer algo parecido en Python? ¿Cómo se procede en estos casos con este lenguaje?

(La solución obvia sería crear otro método en la clase con el argumento palabra y un nombre diferente, pero me gustaría saber si hay otro modo).


En línea

Serapis
Colaborador
***
Desconectado Desconectado

Mensajes: 3.348


Ver Perfil
Re: Duda: reemplazar sobrecarga de métodos
« Respuesta #1 en: 24 Enero 2018, 20:59 pm »

Cuando un método ha de ser público y otro privado, carece de sentido sobrecargar un método, dale al privado el nombre que te dé la gana y listo...

La sobrecarga sólo tiene sentido, cuando todos esos métodos son públicos y por tanto se permite al que use la librería elegir la sobrecarga que mejor le vaya  ...en cada ocasión... Si un método es privado, entonces el usuario que lo use, "ni fú ni fá", no tiene acceso, no lo ve, no puede elegir, carece de sentido que sea una sobrecarga.

Si tu método público se llama AddWord, el privado podría llamarse AddWord0, AddWordPriv, AddWordX, etc...


En línea

HastatusXXI

Desconectado Desconectado

Mensajes: 8



Ver Perfil
Re: Duda: reemplazar sobrecarga de métodos
« Respuesta #2 en: 25 Enero 2018, 17:43 pm »

Cuando un método ha de ser público y otro privado, carece de sentido sobrecargar un método, dale al privado el nombre que te dé la gana y listo...

La sobrecarga sólo tiene sentido, cuando todos esos métodos son públicos y por tanto se permite al que use la librería elegir la sobrecarga que mejor le vaya  ...en cada ocasión... Si un método es privado, entonces el usuario que lo use, "ni fú ni fá", no tiene acceso, no lo ve, no puede elegir, carece de sentido que sea una sobrecarga.

Si tu método público se llama AddWord, el privado podría llamarse AddWord0, AddWordPriv, AddWordX, etc...

Entendido. Gracias por la aclaración.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
usando sobrecarga de metodos
Java
Rijhording 3 3,425 Último mensaje 28 Abril 2010, 00:09 am
por b10s_0v3rr1d3
Sobrecarga de Metodos parte2(Ayuda)
Java
Rijhording 6 3,758 Último mensaje 3 Mayo 2010, 17:08 pm
por Rijhording
Sobrecarga de Metodos parte2(Ayuda-I)
Java
Rijhording 0 1,984 Último mensaje 3 Mayo 2010, 18:24 pm
por Rijhording
sobrecarga de metodos, se puede aplicar en metodos abstract o interfaces?
Desarrollo Web
jhonatanAsm 0 2,915 Último mensaje 16 Agosto 2011, 00:22 am
por jhonatanAsm
como puedo aplicar la sobrecarga de metodos
Programación C/C++
AprendizPRG 1 2,999 Último mensaje 4 Junio 2012, 09:43 am
por Saberuneko
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines