Classes

Page 1

Classes


Criar uma Classe Para criar uma Classe deverá deverá efetuar os seguintes passos: 1. Aceda ao Microsoft Visual Basic; 2. Na janela de apresentação deverá escolher a opção New Project; 3. Na janela que é apresentada deverá escolher a opção Class Library e, na caixa de texto Name, atribuir o seguinte nome à classe: DescontoIdade;


Criar uma Classe


Criar uma Classe 4. No ambiente de programação aceda à janela Solution Explorer e selecione a classe. Por defeito, o nome apresentado é Class1; 5. Aceda à janela Properties e altere o nome para DescontoIdade na propriedade File Name; 6. Para concluir a criação da estrutura desta classe grave o projeto.


Declarar variáveis da Classe Exemplo:

Public Class DescontoIdade Private Nome1 as String End Class A instrução Private Nome1 as String permite declarar a variável Nome1 como privada à Classe. Desta forma, esta variável será utilizada exclusivamente dentro da Classe


Criar propriedades Instruçþes: Public Property Nome() as String Get Return Ucase (Nome1) End Get Set (Byval value as String) Nome1 = value End Set End Property


Criar propriedades Depois de escrever a instrução Get e de premir a tecla Enter, o Visual Basic contrói a restante estrutura da declaração da propriedade. De uma forma genérica, o que se pretende com esta propriedade é receber uma determinada cadeia de caracteres e devolver a mesma cadeia convertida em maiúsculas.


Criar um MĂŠtodo MĂŠtodo que permite devolver o valor Desconto, a atribuir a um cliente, consoante a sua idade: Public Function Desconto (Byval idade as Data) as integer Desconto = int (now.subtract(idade).Days/365.25) End Function


Criar um Método Esta função permite calcular a diferença em dias entre a idade do cliente e a data atual. Sobre essa diferença, em dias, procede-se à divisão por 365.25 (que corresponde ao número de dias de um ano). Sobre o resultado obtido é devolvido o valor inteiro da operação. No final deste conjunto de operações deverá guardar o projeto.


Adicionar uma Classe a um Projeto Para adicionar uma classe previamente criada a um projeto deverá efetuar os seguintes passos: 1. Abra o projeto existente ou, em alternativa, crie um novo prjeto; 2. Aceda ao menu Project e clique na opção Add Existing Item; 3. Procure e selecione o ficheiro na janela que é apresentada

No final da operação, a Classe será apresentada na janela Solution Explorer


Heranรงa


Herança O conceito de Herança permite definir uma nova Classe, com base numa já existente. A Classe criada, designada por subclasse, herda todas as propriedades e métodos da Classe já existente. O mecanismo de Herança permite ainda que a subclasse inclua ou sobreponha novas propriedades e novos métodos. Exemplo: Uma empresa com clientes possui uma carteira de clientes particulares e empresariais


Encapsulamento


Encapsulamento Os objetos comunicam através de mensagens. Quando um objeto deseja alguma tarefa de um outro objeto, este envia uma mensagem contendo o nome do método a ser ativado. O conceito onde as variáveis e métodos são visíveis apenas através de mensagens, é conhecido por encapsulamento. O Encapsulamento funciona como uma proteção para as variáveis e métodos, além de tornar explícito qualquer tipo de comunicação com o objeto.


Polimorfismo


Polimorfismo Aplicando Ă linguagem orientada por objetos, o polimorfismo permite tratar objetos semelhantes de uma maneira uniforme. Ou seja, ĂŠ possĂ­vel enviar uma mensagem para um conjunto de objetos e cada objeto responder de forma diferente.


Exemplo – aplicação dos conhecimentos

TextBox: txtNome DateTimerPicker: drpData Button: bttCalcular

Selecione o objeto DataTimePicker, dtpData, e altere os valores das seguintes propriedades: Value: elimine a referência à hora, ficando apenas a data; Format: escolha a opção Short.


Exemplo – aplicação dos conhecimentos Para o botão de comando Calcular deverá escrever o seguinte conjunto de instruções:

Private Sub bttCalcular_Click (...) dim cliente as New DescontoIdade dim desconto as integer cliente.Nome = txtNome.text desconto = cliente.desconto(dtpData.text)

A palavra New possibilita criar uma nova instância da classe DescontoIdade. A variável Cliente “herda” todas as propriedades e métodos da classe DescontoIdade Utilização da propriedade Nome e do método desconto

MessageBox.show (“O cliente: “ + cliente.Nome + “tem direito a “ + desconto +”% de desconto”) End sub

Apresentação do resultado


Outro... RadioButton: RadQuadrado RadioButton: RadRetangulo RadioButton: RadTriangulo RadioButton: RadTrapezio RadioButton: RadCirculo RadioButton: RadLosangulo

Label: Lb1 TextBox: Txt1 Label: Lb2 TextBox: Txt2 Label: Lb3 TextBox: Txt3

Button: bttCalcular Label: LbResultado Label: LbAltura TextBox: TxtAltura

CheckBox: ChkVolume


Outro... Vamos adicionar ao projeto (ex. 25) uma Classe com o nome Areas. O conteúdo da Classe é composto por um conjunto de funções que permitem calcular as áreas dos objetos mencionados no formulário: Public Class Areas Public Function AreaQuadrado (ByVal lado as Integer) as Double AreaQuadrado = lado ^2 End Function


Public Function AreaRetangulo (ByVal ladoMaior as Integer, ByVal ladoMenor as Integer) as Double AreaRetangulo = ladoMaior * ladoMenor End Function Public Function AreaTriangulo (ByVal Base as Integer, ByVal Altura as Integer) as Double AreaTriangulo = (Base * Altura) / 2 End Function Public Function AreaTrapezio (ByVal BaseMaior as Integer, ByVal BaseMenor as Integer, ByVal Altura as Integer) as Double AreaTrapezio = (BaseMaior + BaseMenor) / 2 * Altura End Function Public Function AreaCirculo (ByVal raio as Integer) as Double AreaCirculo = Math.PI * raio ^2 End Function Public Function AreaLosango (ByVal DiagonalMaior as Integer, ByVal DiagonalMenor as Integer) as Double AreaLosango = (DiagonalMaior * DiagonalMenor) / 2 End Function End Class


Adicionar uma nova Classe ao projeto e atribuir o nome Volume. O conteúdo da Classe deverá ser composto pelo seguinte conjunto de instruções: Public Class volume Inherits Areas Public Function CalcularVolume (Byval area as Double, Byval Profundidade as Integer) as Double CalcularVolume = area * Profundidade End Function End Class A instrução Inherits Areas permite estabelecer uma ligação à classe Areas por meio de herança. Desta forma, esta nova classe irá herdar todas as variáveis, propriedades e métodos da classe principal.


Para o botão de comando Calcular deverá escrever o seguinte conjunto de instruções: Private Sub bttCalcular_Click(…) Dim calculo as New volume Select Case objeto Case 1 LbResultado.Text = calculo.AreaQuadrado(txt1.Text) Case 2 LbResultado.Text = calculo.AreaRetangulo(txt1.Text, txt2.Text) Case 3 LbResultado.Text = calculo.AreaTriangulo(txt1.Text, txt2.Text) Case 4 LbResultado.Text = calculo.AreaTrapezio(txt1.Text, txt2.Text, txt3.Text) Case 5 LbResultado.Text = calculo.AreaCirculo(txt1.Text) Case 6 LbResultado.Text = calculo.AreaLosango(txt1.Text, txt2.Text) End Select If ChkVolume.Checked = True Then LbResultado.Text = calculo.CalcularVolume (LbResultado.Text, TxtAltura.Text) End Sub


Bibliografia: Marques, Paulo Capela, “Programação em Visual Basic 2010, FCA


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.