Autor Tema: Cual es la diferencia entre Función y Objeto?  (Leído 20472 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado tannke

  • PIC16
  • ***
  • Mensajes: 176
Re: Cual es la diferencia entre Función y Objeto?
« Respuesta #15 en: 13 de Febrero de 2012, 06:56:35 »
Función y método son basicamente lo mismo.
En programación orientada a objetos se le llama método, lo distingues porque esta integrada en una clase.
En programación estructurada se le llama función.

Saludos.

Desconectado Suky

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: Cual es la diferencia entre Función y Objeto?
« Respuesta #16 en: 14 de Febrero de 2012, 23:26:40 »
Citar
Merlinz, por su puesto que también he leído esos enlaces en wikipedia, no extensamente pero si los he repasado. ...

Yo no creo que alcance con darle una repasadita  :undecided: Hay que estudiar los distintos tipos de paradigmas de programación  ;-)
No contesto mensajes privados, las consultas en el foro

Desconectado MerLiNz

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2463
Re: Cual es la diferencia entre Función y Objeto?
« Respuesta #17 en: 15 de Febrero de 2012, 00:01:18 »
Pero como ya te digo no puedes comparar un codigo de C con uno de C++, no se le puede sacar una comparativa de que es que, si el ejemplo de LCD que puso esta en codigo C no puedes intentar sacar que es un objeto o un metodo ya que no existe esa forma de llamarlo.

Es como comparar el tocino con la velocidad.

Desconectado JBQ

  • PIC16
  • ***
  • Mensajes: 118
Re: Cual es la diferencia entre Función y Objeto?
« Respuesta #18 en: 15 de Febrero de 2012, 02:11:12 »
Yo no creo que alcance con darle una repasadita  :undecided: Hay que estudiar los distintos tipos de paradigmas de programación  ;-)

Eso es un hecho, estoy totalmente de acuerdo. Como dije, por estos días me encuentro leyendo acerca de la OOP, y pues debido a las dudas surtidas, decidi consultar por aqui a personas conocedoras del tema.

Citar
Pero como ya te digo no puedes comparar un codigo de C con uno de C++, no se le puede sacar una comparativa de que es que, si el ejemplo de LCD que puso esta en codigo C no puedes intentar sacar que es un objeto o un metodo ya que no existe esa forma de llamarlo.

Ok merlinz, creeme cuando te digo que te comprendo perfectamente. Nunca fue mi inteción hacer una comparativa del C con el C++; tan solo buscaba diferenciacíon entre función y método y comprender como identificar a un objeto (si se podía), en situaciones cotidianas de los microcontroladores.

La verdad que esperaba contar con tan solo algunos ejemplos... nunca dije que queria usar la OOP en el lenguaje C. Bastaba con hacer volar la imaginación y pensar que usabas la OOP en un proceso cotidiano de un uc, y decir esto es tal, eso es tal etc.

Desconectado MerLiNz

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2463
Re: Cual es la diferencia entre Función y Objeto?
« Respuesta #19 en: 15 de Febrero de 2012, 12:01:01 »
Ya pero es que no te puedes imaginar algo donde no lo hay, lo mejor hubiese sido buscar un codigo en C++ y ponerte el ejemplo de ahi. Ademas tambien estaria mal hacerte creer que algo que no es un objeto es un objeto, eso se te quedaria grabado y si estas haciendo un curso de programacion, cuando el profesor te vea decir que esto es un objeto (sin serlo) se echaria las manos a la cabeza...

Desconectado JBQ

  • PIC16
  • ***
  • Mensajes: 118
Re: Cual es la diferencia entre Función y Objeto?
« Respuesta #20 en: 15 de Febrero de 2012, 19:08:10 »
Bueno. En vista que parece no ser posible mis primeras intenciones, cambio de ejemplos:

Asumamos que conectamos unos leds al puerto paralelo de la PC (como si estarías haciendo uno de esos proyectos simples del semáforo controlado por el puerto paralelo) y las acciones o los estados de los leds se visualizan el el monitor de la pc. Además, estas acciones y estados lo informas a través del puerto serial a un dispositivo que lo almacena como si fuera una memoria externa.

-Los leds, el monitor y la memoria externa, serían objetos, no es cierto ???

-pero cuando se escriba en el monitor los mensajes de los estados de los leds, se estaría empleando una función o un método???  por que yo emplearia una función para escribir en el monitor, pero no se si seria correcto llamarlo función ???

- igualmente, cuando se escriba en la memoria externa por el puerto serial, sería función o metodo??? y se lo que se hace es leer ahi sería función o método???

- por que considerar objetos a los leds, si estos no tienen datos, ni métodos, etc, solo acciones básicas como on y off???
« Última modificación: 15 de Febrero de 2012, 19:10:54 por JBQ »

Desconectado MerLiNz

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2463
Re: Cual es la diferencia entre Función y Objeto?
« Respuesta #21 en: 15 de Febrero de 2012, 20:04:02 »
le das muchas vueltas  :shock:

para que lo entiendas hablando de programacion:

*Funcion:
void funcion() {
codigo;
}

*Objeto:
class clase {
int variable;
void metodo();
};

clase Objeto1, Objeto2; (esto serian objetos los cuales contiene una instancia de "clase").

*Metodo (tambien llamadas funciones miembros):
void clase::metodo() {
codigo;
}

Objeto1.metodo(); //forma de llamar a un metodo
Objeto2.metodo(); //llamar a instancia de objeto2->metodo

Desconectado AngelGris

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2480
Re: Cual es la diferencia entre Función y Objeto?
« Respuesta #22 en: 15 de Febrero de 2012, 20:40:21 »
-Los leds, el monitor y la memoria externa, serían objetos, no es cierto ???

  No necesariamente. Si usas programación estructurada (basada en funciones y procedimientos) no existe el concepto de objeto. En cambio si usas OOP sí los podrías tratar como objetos.


-pero cuando se escriba en el monitor los mensajes de los estados de los leds, se estaría empleando una función o un método???  por que yo emplearia una función para escribir en el monitor, pero no se si seria correcto llamarlo función ???

  Si usas programación estructurada, se usan funciones, si usas OOP podrías utilizar un método. Siempre y cuando tengas definido a un objeto "monitor" y éste tenga un método para recibir el estado de los leds.


- igualmente, cuando se escriba en la memoria externa por el puerto serial, sería función o metodo??? y se lo que se hace es leer ahi sería función o método???

  Volvemos siempre a lo mismo, depende del paradigma de programación empleado.


- por que considerar objetos a los leds, si estos no tienen datos, ni métodos, etc, solo acciones básicas como on y off???

  Pues podríamos asumir que los datos que tienen los leds, es justamente su estado (on-off) y podríamos asumir que existen los métodos para encenderlos o apagarlos.

 
De vez en cuando la vida
nos besa en la boca
y a colores se despliega
como un atlas

Desconectado JBQ

  • PIC16
  • ***
  • Mensajes: 118
Re: Cual es la diferencia entre Función y Objeto?
« Respuesta #23 en: 16 de Febrero de 2012, 00:18:22 »
le das muchas vueltas  :shock:

Si, lo se, lo siento. Es que cuando me invaden las dudas, estas crecen y se disipan hasta hacerme dudar de todo lo demás.

Muchas gracias por el ejemplo; veo que cuando te dirijes a los objetos usas ante todo los métodos, y veo que los metodos son parte de los objetos, entonces una función no puede ser parte de un objeto? o en la OOP se les relega (a las funciones) únicamente a las decisiones lógicas?


- igualmente, cuando se escriba en la memoria externa por el puerto serial, sería función o metodo??? y se lo que se hace es leer ahi sería función o método???

 Volvemos siempre a lo mismo, depende del paradigma de programación empleado.
Definitivamente estamos hablando de ls OOP. Esta duda viene del planteamiento de que las funciones siempre devuelven un valor lógico, entonces si escribimos en la memoria externa del ejemplo, estaríamos usando un método; pero si la leemos, parece otro metodo inherente a la memoria externa (objeto), pero ya nos esta devolviendo un valor lógico, entonces función o método, lo mismo va si en caso le consultasemos si está ocupada o no, función o método???

Desconectado AngelGris

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2480
Re: Cual es la diferencia entre Función y Objeto?
« Respuesta #24 en: 16 de Febrero de 2012, 10:21:07 »
Si, lo se, lo siento. Es que cuando me invaden las dudas, estas crecen y se disipan hasta hacerme dudar de todo lo demás.

Muchas gracias por el ejemplo; veo que cuando te dirijes a los objetos usas ante todo los métodos, y veo que los metodos son parte de los objetos, entonces una función no puede ser parte de un objeto? o en la OOP se les relega (a las funciones) únicamente a las decisiones lógicas?

  Pues sí, los métodos forman parte de los objetos.


Definitivamente estamos hablando de ls OOP. Esta duda viene del planteamiento de que las funciones siempre devuelven un valor lógico, entonces si escribimos en la memoria externa del ejemplo, estaríamos usando un método; pero si la leemos, parece otro metodo inherente a la memoria externa (objeto), pero ya nos esta devolviendo un valor lógico, entonces función o método, lo mismo va si en caso le consultasemos si está ocupada o no, función o método???

  Pero las funciones no siempre devuelven un valor, ya que si están declaradas de la forma

Código: C
  1. void mifuncion();

  la palabra reservada "void" delante de la declaración nos está indicando que dicha función no devuelve ningún valor.

  En cuanto a leer la memoria... ese objeto bien podría tener un método que devuelva el valor leído... no se.... por ejemplo llamado "getvalue". O en el caso de Python o Delphi se pueden usar propiedades...(menciono Delphi y Python porque no sé si C++ tiene el recurso de las propiedades).
De vez en cuando la vida
nos besa en la boca
y a colores se despliega
como un atlas

Desconectado JBQ

  • PIC16
  • ***
  • Mensajes: 118
Re: Cual es la diferencia entre Función y Objeto?
« Respuesta #25 en: 16 de Febrero de 2012, 11:27:47 »
Código: [Seleccionar]
void MAINFUNCION ();
Oh vaya!!! como obvie esa expresión!!!
definitivamente esto deja sin pie el argumento que me daba el programador de softwares al que le consulte, el cual decía que toda función necesariamente devuelve un valor.

Desconectado MerLiNz

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2463
Re: Cual es la diferencia entre Función y Objeto?
« Respuesta #26 en: 16 de Febrero de 2012, 12:52:49 »
una funcion es una funcion de toda la vida la cual no pertenece a nada solo al codigo global ej: void main(), y una funcion de un objeto es llamada metodo, funcion miembro...

Desconectado Suky

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: Cual es la diferencia entre Función y Objeto?
« Respuesta #27 en: 16 de Febrero de 2012, 13:00:30 »
Código: [Seleccionar]
void MAINFUNCION ();
Oh vaya!!! como obvie esa expresión!!!
definitivamente esto deja sin pie el argumento que me daba el programador de softwares al que le consulte, el cual decía que toda función necesariamente devuelve un valor.

 :rayito:  :z)   :mrgreen:
No contesto mensajes privados, las consultas en el foro

Desconectado patoaparato

  • PIC10
  • *
  • Mensajes: 16
Re: Cual es la diferencia entre Función y Objeto?
« Respuesta #28 en: 16 de Febrero de 2012, 13:25:32 »
Funcion -> es una simple subrutina GLOBAL (da lo mismo si devuelve o no valores, o si requiere o no parametros de de entrada, desde el punto de vista del procesador es un simple y bulgar "CALL")

Objeto -> un conjunto de subrutinas PRIVADAS (bulgar "CALL") que trabajan sobre una variable, generalmente una estructura de datos (cualquier cosa como un lcd, un motor, un LED, un pin, etc, puede ser considerado como una variable desde el punto de vista del procesador)


Desconectado nicolai628a

  • PIC10
  • *
  • Mensajes: 1
Re:Cual es la diferencia entre Función y Objeto?
« Respuesta #29 en: 15 de Septiembre de 2017, 01:04:52 »
el eje,plo de el lcd es una libreria, un archivo especial que guarda variables globales a ese archivo y funciones afines a ese tema, no se puede considerar un objeto, sencillamente porque C no es un lenguaje orientado a objetos, es estructurado.

Un objeto, o clase, como se llama en algunos lenguajes, es un conjunto de propiedades o atributos, que son las caracteristicas de ese objeto (sustantivo) y las funciones o metodos, es loque puede hacer ese objeto o clase (verbo).

Asi pues, una funcion es una parte de un objeto, dandole una explicacion demaciado banal y sencilla a esto, porque en realidad, estas definiciones y muchas otras, son la base de la programacion orientada a objetos.