Você está na página 1de 3

Linguagens de Programação – 11º TIG

Teste de Avaliação Módulo 10 duração: 90 minutos

Nome:__________________________________________________________ Nº:____________

1) Responda as seguintes questões:

a) Quais as principais diferenças entre Programação Orientada a Objetos e a Programação


Estruturada (Top-Down)? Seja claro.

b) Quais os elementos que compõem uma Classe de Objetos na Programação Orientada a Objetos?
Seja claro.

2) Considere o código em Visual Basic em anexo:

Tendo em conta aos conceitos de Classe, Objeto, Herança, Encapsulamento, Polimorfismo responda às
seguintes perguntas

Nota: para as respostas às seguintes questões, será dado especial valor


a utilização dos termos corretos na classificação dos componentes das
classes e demais da Linguagem de Programação.

a) Diga quais são os métodos da classe, “Aluno”.


b) Mostre um exemplo de programação por Eventos, explicando o seu raciocínio.
c) Dê um exemplo de Herança, explicando o seu raciocínio.
d) Dê um exemplo de Polimorfismo, explicando o seu raciocínio.
e) Dê um exemplo de Encapsulamento, explicando o seu raciocínio.
f) Dê um exemplo de criação de um novo objeto de uma das classes, explicando o seu raciocínio.
g) Diga quais são os objetos originais do Visual Basic que são usados neste programa

1
Parte Prática
1. Faça um programa no Visual Basic que calcule a área da circunferência. O utilizador tem uma
TextBox para colocar o raio da circunferência e um botão “Calcula” que efetua o cálculo da área, o
resultado pode ser dado com uma outra TextBox ou com uma MessageBox.
O programa deve conter uma classe circunferência tal como a que se segue:

Public Class circunferencia


Private _raio As Single
Public Sub New(ByVal r As Single)
… ‘preencha o que falta
End Sub

Public Property raio() As Single


… ‘preencha o que falta
End Property

Public Function area() As String


Return "A área é = " + CStr(3.14 * _raio ^ 2)
End Function
End Class

Veja no Moodle uma versão do programa executável. Ou a seguinte imagem para o inspirar.

2
Anexo:
Public Class Form1
' ******** ************************ ********

Dim aluno_1 As New Aluno("Carlos Alberto")


Dim aluno_2 As New Aluno_mais("Roberto Alves", "239111111")

' ******** ************************ ********


Public Class Aluno
Private _nome As String
Public Sub New(ByVal n As String)
Me.Nome = n
End Sub
Public Property Nome() As String
Get
Return _nome
End Get
Set(ByVal value As String)
_nome = value
End Set
End Property
Public Overridable Sub mostraNome()
MsgBox("O nome do aluno é : " & _nome)
End Sub
End Class

Public Class Aluno_mais


Inherits Aluno

Private _telefone As String


Public Sub New(ByVal n As String, ByVal t As String)
MyBase.New(n)
Me.Telefone = t
End Sub
Public Property Telefone() As String
Get
Return _telefone
End Get
Set(ByVal value As String)
_telefone = value
End Set
End Property
Public Overrides Sub mostraNome()
MsgBox("O nome do aluno é : " & MyBase.Nome())
MsgBox("O telefone do aluno é : " & _telefone)
End Sub
End Class
' ******** ************************ ********

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click


aluno_1.mostraNome()
End Sub

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click


TextBox1.Text = "Introduza o novo aluno 1 aqui!"
TextBox1.Visible = True
End Sub

Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged


aluno_1.Nome = TextBox1.Text
End Sub

Private Sub Button3_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click


aluno_2.mostraNome()
End Sub

Private Sub Button4_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click


TextBox2.Text = "Introduza o novo aluno2 aqui!"
TextBox2.Visible = True
TextBox3.Text = "Introduza o telefone aqui!"
TextBox3.Visible = True
End Sub

Private Sub TextBox2_TextChanged_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox2.TextChanged


aluno_2.Nome = TextBox2.Text
End Sub

Private Sub TextBox3_TextChanged_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox3.TextChanged


aluno_2.Telefone = TextBox3.Text
End Sub
End Class

Você também pode gostar