Los métodos en programación de objetos

publicado en: BlitzMax, Programación | 1

En primer lugar, los métodos en programación se relacionan con el proceso de creación de objetos. Estos métodos se definen en las clases o tipos de las cuales se crea el objeto como tal.

Para entender esto de la mejor manera posible, piense por ejemplo en el objeto globo del mundo real. Este tipo de objeto tiene propiedades que lo caracterizan y lo hacen único, un color, un material, la cantidad de aire que tiene etc. Pero de igual manera puede contener métodos, uno sería el método inflar, el método reventar etc.

En ese caso los métodos son totalmente iguales que las funciones personalizadas. Solo que su diferencia crucial es los métodos solo se usan en la definición de la clase, y en lugar de la palabra reservada “Function”, se usa la palabra reservada “Method”.

Definiendo los métodos en programación

Cuando definimos un tipo, lo que hacemos es hacer una representación del futuro objeto a crear, el código no nos muestra un objeto como en el mundo real, solo sus datos. Sin embargo en nuestra mente eso toma forma y de manera abstracta imaginamos un globo. Algo muy similar cuando leemos la palabra “Globo”.

Type CGlobo
   Field color:String 
   Field material:String
   Field aire:byte

End Type

En primera instancia definimos las propiedades del globo, y pensando en un globo del mundo real, unas son visibles, como el color y el material. Sin embargo la propiedad aire, establecería si el globo tiene aire o no, y que cantidad puede tener antes de reventarse.

Ya para declarar los métodos en programación usamos la palabra reservada “Method” y su clausula de cierre sería un “End Method”.

Type CGlobo
   Field color:String 
   Field material:String
   Field aire:byte

   Method Inflar()

   End Method

End Type

Es importante recordar que los métodos son igualmente como las funciones, pueden retornar datos, pueden tener parámetros o no, y su uso es totalmente igual, solo que se usan dentro de las definiciones de la clase. En nuestro caso hemos creado el método inflar, pero este no tiene nada aún escrito en su interior.

Type CGlobo
   Field color:String 
   Field material:String
   Field aire:byte

   Method Inflar( aire:byte = 1)

         If aire < 100 Then
           Print ("Globo se esta inflando")
           self.aire = self.aire + 1
         End If
           
   End Method

End Type

Como podemos observar nuestro método para inflar el globo recibe un parámetro. Este tiene como unidad por defecto el valor de 1, que es lo que le entra de aire al globo. Si el valor es menor que 100, entonces se muestra el mensaje de que el globo se esta inflando y se aumenta una unidad a la variable de la propiedad aire del objeto. De igual manera podríamos mostrar el valor en pantalla de la propiedad aire.

         If aire < 100 Then
           Print ("Globo se esta inflando")
           self.aire = self.aire + 1
           Print( self.aire )
         End If

Ahora el siguiente paso es proceder a crear un objeto, recuerde, estos datos cobran fuerza en su mente, la computadora al final solo recibe valores como 10010001. Pero que para nosotros deben representar algo.

Local miGloboRojo:CGlobo = New CGlobo
miGloboRojo.color = "Rojo"
miGloboRojo.material = "Goma"

miGlobo.Inflar()

El resultado es que vemos como se infla el globo. Su dato representativo.

Usando el Método New para iniciar valores al crear el objeto.

El método “New” es el constructor del objeto en base a los datos que contiene la clase o el tipo en si. Este método se puede usar para definir las propiedades iniciales del objeto y al igual que una función puede recibir parámetros.

Type CGlobo
   Field color:String 
   Field material:String
   Field aire:byte

   Method New( color:String = "Blanco", material:String = "Goma" )

   End Method

   Method Inflar( aire:byte = 1)

         If aire < 100 Then
           Print ("Globo se esta inflando")
           self.aire = self.aire + 1
         End If
           
   End Method

End Type

El constructor recibe dos parámetros, uno define el color del globo y el otro su material. Por defecto si no se inicia esos datos al usar el constructor al momento de crear el globo, se crea un objeto globo blanco y de material de goma.

Ya dentro del cuerpo constructor incidamos los valores de las variables miembro que representan las propiedades del globo.

   Method New( color:String = "Blanco", material:String = "Goma" )
            self.color = color
            self.material = material
   End Method

Recuerde que la palabra “Self” hace referencia al propio objeto como tal para llenar sus respectivas propiedades, sería algo como decir “Yo”.

Ya en la definición del objeto, es necesario pasar los parámetros el constructor, si no se hace se crear un objeto por defecto de color blanco y de material de goma.

Local miGloboNegro:CGlobo = New CGlobo("Negro","Goma tipo B")

Print( miGloboNegro.color )

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *