Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 1
 
 
Programación Orientada A Objetos. Diálogo Para Besugos
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje Programación Orientada A Objetos. Diálogo Para Besugos 
 
Buenas, no es el mismo ejemplo ya que en una de las clases del ejemplo real, existe un método que en la otra no.
Quise hacerlo igual y al final me salio este disparate...

Clase padre lenguaje
Private Sub presumir()
  
  Print "Mi lenguaje es mejor que el tuyo!"
  
End

Public Sub Dialogo()
  
 presumir
  
End
 


Clase gambas.  
Inherits Lenguajes

Public Sub Dialogo()

Super.Dialogo()
Print "Tengo una bonita interfaz!.Y soy muy facilón!. ;-)"

End
 


Clase Python. Oooooooeeee...oeeeeee...   
Inherits Lenguajes

Public Sub Dialogo()

Super.Dialogo
Print "Tengo una potencia infinita con las estructura de datos!"

End
 


Main:
Public Sub Main()

  Dim lenguaje1 As New Gambas
  Dim lenguaje2 As New Python
    
  lenguaje1.Dialogo()
  Print
  lenguaje2.Dialogo()
  
End
 


Salida:
Citar:

Mi lenguaje es mejor que el tuyo!
Tengo una bonita interfaz!.Y soy muy facilón!.

Mi lenguaje es mejor que el tuyo!
Tengo una potencia infinita con las estructura de datos!


   

Y en el siguiente mensaje os pongo el ejemplo real dentro de un rato. No usaba herencia.
Se trata de la comunicación entre dos objetos de distinta clase.

Saludos
 




===================
Gambas Básico
"No es un bug, es una característica no documentada"
 
Shell - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Programación Orientada A Objetos. Diálogo Para Besugos 
 
Aquí está el ejemplo.

Es muy simple y de un libro que leo entre muchos.
Tenemos dos clases, Jugador y Alien

El objeto Jugador usa el método disparar de la clase Alien.

Clase Alien
Public Sub morir()
  
  Print "Alien: Adios mundo cruel!"
  
End
 


Clase Jugador:
Public Sub disparar(enemigo As Alien)
  
  Print "El jugador dispara a un enemigo.\n"
  enemigo.morir()
  
End
 


Y Main:
Public Sub Main()
  Dim heroe As New Jugador
  Dim invasor As New Alien

  Print "\t\t Muerte de un alien\n"

  heroe.disparar(invasor)

End
 


Pregunta: ¿ Qué tipo de parámetro tendría que añadir en el método disparar para que aceptara cualquier tipo de objeto ?.
¿ Y si lo que quiero es disparar a una instancia de la clase pato ?.

P.d  Durante la duración de este post no se dañara a ningún animal real.

Saludos
 




===================
Gambas Básico
"No es un bug, es una característica no documentada"
 
última edición por Shell el Viernes, 26 Febrero 2016, 13:50; editado 1 vez 
Shell - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Programación Orientada A Objetos. Diálogo Para Besugos 
 
Shell:

Citar:
¿ Qué tipo de parámetro tendría que añadir en el método disparar para que aceptara cualquier tipo de objeto ?.

Variant

Citar:
P.d Durante la duración de este post no se dañara a ningún animal real.

Mientras que no te comas nuestras queridas gambas.... porque la phytón es una serpiente venenosa  
 




===================
Blog personal
Web: SoloGambas seleccion de articulos dedicados a Gambas
Visita el Curso de Gambas3 ¡¡¡Gratuito!!!
 
jsbsan - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Programación Orientada A Objetos. Diálogo Para Besugos 
 
jsbsan escribió: [Ver mensaje]
.. porque la phytón es una serpiente venenosa  


...y siempre portadora letal de desgracia !

gi-calunnia174
 



 
vuott - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Programación Orientada A Objetos. Diálogo Para Besugos 
 
Vuott:

Citar:

...y siempre portadora letal de desgracia !


Quizás en algunas culturas no es así. Los Mayas por ejemplo.

Citar:

Según las crónicas mayas, Kukulkán, al igual que Quetzalcóatl, es el conquistador que llegó a Yucatán por el mar desde el oeste, hacia finales del siglo XI, y se convirtió en caudillo y fundador de su civilización. De la fusión de los dos mitos, Kukulkán aparece como el señor del viento y de la lluvia porque rige y gobierna la nave que le condujo a Yucatán y al pueblo que fundó.

Kukulkán

Y seguro que hay muchas mas.


Julio:

Citar:

Variant


Si y no.  

Podría crear una clase padre Adversario con métodos comunes a los enemigos.

Clase Adversario:

Public Sub morir()
 
        
End

Public Sub Mensaje()
  
  
  
End
 


Luego las dos clases de enemigos, Alien y Pato

Alien:

Inherits Adversario

Public Sub Mensaje()
  
  Print "\t\t Muerte de un alien\n"  
  
End

Public Sub Morir()
  
  Print "Alien: Adios universo cruel"
  
End
 


Pato:

Inherits Adversario

Public Sub Mensaje()
  
  Print "\t\t Muerte de un pato\n"  
  
End

Public Sub Morir()
 
  Print "Pato: Cuaaaaack cuaj!"
  
End
 


Jugador tiene una modificación en su único método.

Public Sub disparar(enemigo As Adversario)
  
  enemigo.Mensaje
  Print "El jugador dispara a un enemigo.\n"    
  enemigo.morir()
 
  
End
 


Main:
Public Sub Main()

  Dim heroe As New Jugador
  Dim invasor As New Alien
  Dim manolito As New Pato
  
  heroe.disparar(manolito)
  
End
 


Salida:

Citar:

         Muerte de un pato

El jugador dispara a un enemigo.

Pato: Cuaaaaack cuaj!


El problema que me he encontrado, fue que los mensajes quedaran igual que el primer ejemplo.
Tuve que hacerlo en el método del jugador.

Citar:

Mientras que no te comas nuestras queridas gambas.... porque la phytón es una serpiente venenosa


Mmmmm...


Link



Saludos
 




===================
Gambas Básico
"No es un bug, es una característica no documentada"
 
Shell - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 
OcultarTemas parecidos
Tema Autor Foro Respuestas último mensaje
No hay nuevos mensajes Cuestionario Sobre Los Conceptos Básicos ... fabianfv General 2 Sabado, 12 Febrero 2011, 02:03 Ver último mensaje
fabianfv
No hay nuevos mensajes Programacion Orientada En Objetos En Gambas2 skhaliburg General 1 Sabado, 11 Junio 2011, 14:19 Ver último mensaje
soplo
No hay nuevos mensajes Manual Sobre Teoría De Programación Orie... jsbsan General 15 Jueves, 26 Junio 2014, 18:47 Ver último mensaje
Shell
No hay nuevos mensajes Programación Orientada A Objetos v3ctor General 1 Sabado, 10 Enero 2015, 01:21 Ver último mensaje
Shell
 

Publicar nuevo tema  Responder al tema  Página 1 de 1
 

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado
Usuarios registrados conectados: Ninguno


 
Lista de permisos
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario



  

 

cron