FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
||||
|
||||
Como conocer que funcion invoco a otra....
Hola queridisimos colegas:
Esta vez traigo una sencilla pero interesante duda (por lo menos para mi). El asunto es que por ejemplo tengo una Clase A, y esta clase dentro tiene una funcion F(); Supongamos que yo utilizo dicha funcion F1() en dos funciones mas F2() y F3() que no necesariamente estan dentro de mi clase A, pueden estar en otra cualquiera. El asunto es que yo necesito conocer dentro de la Funcion F1() cual de estas dos funciones F2() o F3() la invoco para de ahi en adelante determinar un comportamiento condicionado por la funcion que realizo la llamada a F1(). Se me ocurre que quizas pasando un parametro a F1() se podria hacer un rejuego ahi de alguna forma, pero no me parece que esta sea la unica forma, entonces apelo a vuestra experiencia a ver si alguien me sabe hacer otra sugerencia..... En espera de algun comentario..... Un abrazo oracle
__________________
El único hombre que no se equivoca es el que nunca hace nada. |
#2
|
||||
|
||||
En mi escaso conocimiento, esa es la única forma que conozco amigo Oracle. Talvez otros compañeros tienen otra opinión.
Saludos. |
#3
|
||||
|
||||
Bueno realmente no se trata de un problema, ya sabemos como solucionarlo, el asunto es que si alguien sabe si hay otra manera de hacerlo pues que por favor lo diga.
Por otro lado tambien pudieramos crear en vez de una funcion 3 funciones, F1(), F2() y F3() donde F1() tenga el comportamiento comun de las otras dos, y estas ultimas solo se especializarian en lo que necesitan las funciones externas que las utilizan. Aun asi pienso que debe haber alguna alternativa a esta especie de "cacharreo", aunque todos sabemos que no siempre esto de la programacion tiene que ser exacto.... salu2 oracle
__________________
El único hombre que no se equivoca es el que nunca hace nada. |
#4
|
|||
|
|||
Intentar que una funcion/metodo haga algo distinto dependiendo de la funcion desde la que es llamada es una aberracion. Si una funcion debe comportarse de distinta forma precisamente para eso estan los parametros: pasarle informacion a la funcion, que necesita para hacer lo que sea.
Ahora si, seria interesante saber exactamente que se requiere que haga esa funcion, porque puede haber otras soluciones mas logicas ademas de la de pasar un parametro, pero dependeria de cada caso concreto (por ejemplo sobrecargar metodos, usar clases hijas, etc). Saludos |
#5
|
||||
|
||||
Gracias Mick por tu respuesta, si lo hubiese sabido que lo que estaba preguntando era una "aberracion" ni lo hubiese mencionado, en fin ya me he tenido que decidir por la via de un parametro adicional asi que gracias otra vez...
//oracle
__________________
El único hombre que no se equivoca es el que nunca hace nada. |
#6
|
|||
|
|||
Suena un tanto extraño
1) Los metodos en java puedes distinguirlos ya sea por el numero de parametros:
Código:
- public void doIt(String x, String y) - public void doIt(String x, String y, int m) Código:
- public void doIt(String x, String y) - public void doIt(String x, Integer y) Sin embargo, el hacer lo que has descrito con el método F1() que has dicho me parece que es una mala programación, porque asi estas condicionando a tu método F1() a funcionar en base a F2() y a F3(), pero, pierdes el sentido de lo que es en escencia un objeto y su capacidad de ser rehusado. Creo que deberias volver a analizar tus métodos, cualquier cosa, aqui sigo... _______________"Dios esta muerto y su cadaver apesta, su amor por los hombres le ha matado" |
#7
|
||||
|
||||
Gracias Fate, muy elegante la alternativa que me das. Por cierto cual es la diferencia entre metodo y funcion???
Hector realmente estoy comenzando en esto de la programacion con Java asi que alguna que otra burrada siempre se va, yo soy de la generacion del C++, los apuntadores son comos mis hermanitos menores, jejeje.... Saludos //oracle PD: Por cierto, una peque;a pregunta, alguno de uds conoce algun algoritmo para busqueda de caminos minimos en grafos no ponderados que se llame "Lee" porque no lo encuentro por ningun lado....
__________________
El único hombre que no se equivoca es el que nunca hace nada. |
#8
|
|||
|
|||
Cita:
A ver si te sirve |
#9
|
||||
|
||||
Gracias Fate, realmente no tengo ningun problema con la teoria de Grafos, el asunto es que andaba buscando un buen algoritmo para encontrar el camino minimo entre dos pares de vertices dado de un grafo y un amigo mio me asegura que existe un buen algoritmo desarrollado por un tal ¨Lee¨ que no encuentro por ningun lado. De cualquier forma ya resolvi el problema con una pequeña variante de Dijkstra, pero me quedaba esa duda....
saludos //oracle
__________________
El único hombre que no se equivoca es el que nunca hace nada. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Funcion para buscar cadena dentro de otra cadena y el numero de veces | flystar | Varios | 3 | 02-07-2007 22:48:08 |
Llamar de una función a otra | jorgegetafe | Varios | 6 | 05-06-2007 15:53:19 |
Como invoco un documento PDF | ASAPLTDA | Varios | 3 | 09-04-2007 03:46:02 |
Funcion del tabulador con otra tecla | gryphus | OOP | 2 | 18-04-2005 11:00:44 |
ejecutar una funcion d otra Unit | negama | Varios | 2 | 08-09-2003 19:32:18 |
|