Clases en Visual Basic .NET

Hola a todos, hoy os explicare que es la programación orientada a objetos en Visual Basic .NET.

La programación orientada a objetos es un paradigma de la programación que descompone el código de una clase en unidades llamados objetos.

Un objeto es una entidad existente en la memoria del ordenador que tiene unas propiedades, llamados atributos, y unas operaciones disponibles específicas, llamados métodos.

Por ejemplo, crearemos una clase empleado:

Public Class Empleado

    End Class

Como hemos dicho, un objeto tiene unas propiedades, en el ejemplo anterior las propiedades podrían ser el nombre, el apellido, edad y sueldo, estas propiedades son llamados atributos en Java y se declaran igual que una variable, veremos que en Eclipse lo colorea de azul. No se inicializan. Veamos un ejemplo:

Public Class Empleado

        Private nombre As String
        Private apellido As String
        Private edad As Integer
        Private salario As Double

    End Class

No te preocupes por lo de private, lo veremos mas adelante con detalle.

También hemos comentado, que podían realizar unas acciones con los objetos, lo hacemos definiendo funciones y subprocesos. Veamos un ejemplo de un método que incluya un plus al sueldo si tiene mas de 40 años:

Public Class Empleado

        Private nombre As String
        Private apellido As String
        Private edad As Integer
        Private salario As Double

        Function plus(sueldoPlus As Double) As Boolean<
            If edad > 40 Then
                salario += sueldoPlus
                Return True
            End If
            Return False
        End Function
    End Class

Como vemos, le pasamos por parámetro el plus, pero ¿por que no le pasamos la edad o el salario por parámetro? Esto es debido a que desde la propia clase puede acceder a todos sus atributos.

Solo nos falta crear un constructor, este es un método especial en las clases, que es el invocado al crear un nuevo objeto de esa clase, normalmente se suele usar para inicializar los atributos, también puede ejecutar métodos.

Para crear un constructor, escribiremos Sub New(parámetros). Sigamos con el ejemplo:

 Public Class Empleado

        Private nombre As String
        Private apellido As String
        Private edad As Integer
        Private salario As Double
        Function plus(sueldoPlus As Double) As Boolean
            If edad > 40 Then
                salario += sueldoPlus
                Return True
            End If
            Return False
        End Function

        'Constructor por defecto  
        Sub New()
            Me.nombre = ""
            Me.apellido = ""
            Me.edad = 0
            Me.salario = 0
        End Sub

        'Constructor, donde debemos pasar todos los datos  
        Sub New(nombre As String, apellido As String, edad As Integer, salario As Double)
            Me.nombre = nombre
            Me.apellido = apellido
            Me.edad = edad
            Me.salario = salario
        End Sub
    End Class

Vemos que vemos una palabra nueva, Me, lo veremos con mas detalle más adelante.

Lo mas normal es que se defina un constructor por defecto, es decir, sin parámetros donde se inicialicen los parámetros con un valor por defecto (como una constante, por ejemplo) y uno o varios con parámetros que nosotros le demos.

Ahora podemos crear un objeto de la clase Empleado, tantos como queramos. Debemos crear una nueva clase en el mismo proyecto, que contenga un método main. Podemos usar una aplicación de consola para probar.

Para crear un objeto de una clase, seguiremos la siguiente sintaxis:

Dim nombre_objeto as new nombre_clase (parametros_constructor)

En nuestro caso, sería:

Dim empleado1 as new Empleado (“Fernando”, “Ureña”, 23, 800)

Si quisiéramos invocar el método por defecto, seria igual pero sin parámetros.

Una vez creado el objeto, podemos acceder a los métodos y atributos de la clase, si tienen un private no se podrá acceder a ellos.

Accedamos al método que hemos creado, usando el objeto creado, un punto y método o atributo:

Module Module1
    Sub Main()
        Dim empleado1 As New Empleado("Fernando", "Ureña", 23, 800)
        Console.WriteLine(empleado1.plus(50))
        Console.ReadLine()
    End Sub

End Module

Mas adelante veremos una manera sencilla de modificar y mostrar atributos.

Espero que os sea de ayuda. Si tenéis dudas, preguntad. Estamos para ayudarte.

¿Te ha gustado y quieres apoyarme? ¡Sé mi patrón!
Etiquetas

Deja un comentario

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