Não consegui entender muito bem quando usar um Sub ou uma Function, há caso especificos para usar um ou outro?
Não consegui entender muito bem quando usar um Sub ou uma Function, há caso especificos para usar um ou outro?
Olá, Luciene!
A diferença entre um Sub e uma Function no VB.NET está relacionada ao retorno de valor.
Um Sub é um procedimento que não retorna nenhum valor. Ele é utilizado quando você precisa executar uma sequência de comandos sem a necessidade de retornar um resultado específico. Por exemplo, se você precisa exibir uma mensagem na tela, você pode criar um Sub para isso. Veja um exemplo:
Sub ExibirMensagem()
Console.WriteLine("Olá, mundo!")
End Sub
Já uma Function é um procedimento que retorna um valor. Ela é utilizada quando você precisa executar uma sequência de comandos e retornar um resultado específico. Por exemplo, se você precisa calcular a soma de dois números, você pode criar uma Function para isso. Veja um exemplo:
Function Somar(a As Integer, b As Integer) As Integer
Return a + b
End Function
No caso do exemplo que você mencionou, a transferência entre contas, é necessário utilizar uma Function, pois você precisa retornar um valor booleano indicando se a transferência foi realizada com sucesso ou não. Veja um exemplo simplificado:
Public Function Transferir(valorTransferencia As Decimal, ByRef contaDestino As ContaCorrente) As Boolean
If contaOrigem.Saldo >= valorTransferencia Then
contaOrigem.Sacar(valorTransferencia)
contaDestino.Depositar(valorTransferencia)
Return True
Else
Return False
End If
End Function
No exemplo acima, a função Transferir
recebe o valor da transferência e a conta destino como parâmetros. Ela verifica se a conta origem tem saldo suficiente para realizar a transferência. Se sim, realiza o saque na conta origem e o depósito na conta destino. Por fim, retorna True
indicando que a transferência foi realizada com sucesso, ou False
caso contrário.
Espero ter ajudado e bons estudos!