Desenvolvimento de Software Aula 7 Fabiano Gonçalves dos Santos Disciplina: Desenvolvimento de Software IDE Visual Programação Orientada a Objetos Protótipo : Cadastro de Clientes Introdução a SQL Problema Fundamental Como herança e encapsulamento de dados é implementada no VB.NET? Herança descreve a habilidade de se criarem novas classes baseadas em uma classe existente. A evolução do telefone exemplifica a criação de novos conceitos de produtos, mas com algumas características herdadas. © Nn555 | Dreamstime.com Herança Criação de Classe Public Class Imovel Public Property MetrosQuadrados As Decimal Public Property ValorOferta As Decimal Public Function PrecoMetroQuadrado() As Decimal Dim Valor As Decimal Valor = Me.ValorOferta / Me.MetrosQuadrados Return Valor End Function End Class Cliente Instrução Inherits Class ClienteVip Inherits Cliente Public Property GerentePessoal as String End Class Cliente Cliente Vip Hierarquia de Classes do Framework .NET • Exemplo Botão: System.Object System.Web.UI.Control System.Web.UI.WebControls.WebControl System.Web.UI.WebControls.Button • Exemplo Console System.Object System.Console Encapsulamento de Dados • Há um esforço para possibilitar a programação e estrutura de dados independentes da plataforma operacional. • Nesse sentido, surge a Arquitetura Orientada a Serviços (SOA) e a Programação Orientada a Objetos (POO). • Na POO, busca-se usar o encapsulamento de dados, que “protege” os mesmos, fazendo-os compatíveis em diversas plataformas. Encapsulamento significa que um grupo de propriedades, métodos e outros membros relacionados são tratados como uma unidade ou um objeto único. © Dan Bar | Dreamstime.com Definição de Encapsulamento e Interface Exemplo: Alteração do IMC • Imagine que uma clínica tem uma certa base de clientes que usa determinado sistema de base de dados. • Essa clínica usa um encapsulamento assim definido. Exemplo: IMC • Um cliente pede transferência para esse clínica. A clínica anterior usava uma plataforma operacional diferente. • Se os dados originais eram encapsulados, é possível fazer a transferência direta e avaliação do paciente sem modificar a estrutura. Encapsulamento no VB.NET • Modificadores de acesso: Public, Protected, etc. • Controle de variáveis por propriedades Get e Set. • Implementação de interfaces. Construtores Get/Set • Até agora, vimos como se atribui valores a propriedades por instrução direta com variáveis. • Mas, de forma geral, é preciso controlar como essa atribuição é feita por propriedades com instruções Get/Set que funcionam de forma parecida com métodos. Exemplo 1 Criação na Classe Class propClass Private propVal As Integer Property prop1() As Integer Get Return propVal End Get Set(ByVal value As Integer) propVal = value End Set End Property End Class Uso Textbox2.Text=prop1() Dim Exemplo as New propClass() Exemplo.prop1 = 2 Exemplo 2 • Controle de atribuição Set(ByVal valor as Integer) If valor < 10 Then Exit Property Altura = value End Set Exemplo 3 – Somente Leitura Private citacaovalor As String = "Sem citação." ReadOnly Property citacaoDoDia() As String Get citacaoDoDia = citacaovalor Exit Property End Get End Property Desenvolvimento de Software Atividade 7 Fabiano Gonçalves dos Santos Vamos praticar um pouco?