Visão Geral da Programação Orientada a Objetos para Programadores Estruturados

Saiba como migrar do VB6 para uma linguagem .Net.

Clique aqui para ler este artigo em pdf

Clique aqui para ler todos os artigos desta edição

 

Visão Geral da Programação Orientada a Objetos para "Programadores  Estruturados"

por Fábio Galuppo

À exceção de algumas características empregadas por linguagens de programação (por exemplo, o Visual Basic 6), tais como “orientação a eventos” e “programação baseada em objetos”, notamos que a maior parte do desenvolvimento nesses ambientes segue o paradigma da programação estruturada. Se compararmos os paradigmas de programação existentes no mercado, percebemos o avanço e a necessidade da orientação a objetos em relação à programação estruturada. Essa necessidade é constatada principalmente nos projetos onde se adotam notações UML para documentação. De fato, projetos que antes eram implementados com linguagens de programação “estruturadas”, como Visual Basic, C, Clipper e COBOL, cada vez mais dão lugar a linguagens orientadas a objetos: Visual Basic.NET, C++, Java, Delphi e C#.

Mas, afinal, qual é a vantagem da orientação a objetos? Na verdade, são duas: a reutilização do código e a sua organização através de objetos que simulam alguma coisa real, como, por exemplo, um objeto que represente um arquivo (com operações como criar, apagar, mover e atributos como nome_do_arquivo e data_de_criação).

 

Revisão de alguns conceitos

Ao analisarmos o Visual Basic 6, por exemplo, observamos que seus usuários o consideram uma linguagem baseada em objetos, pois ela oferece suporte a eventos, classes e propriedades, dentre outros itens. O Visual Basic 6 apresenta essas características principalmente por ser uma ferramenta “COM-Enabled”, ou seja, ela oferece suporte a COM (o modelo de componentes criado pela Microsoft). O COM é baseado em interfaces binárias, mas seu suporte é limitado no que se refere às características da orientação a objetos. Essas interfaces só oferecem suporte a funções (métodos) e simulam eventos (connection points) e propriedades (pares get e set).

 

Conforme mencionado anteriormente, embora a classe COM possa conter métodos, propriedades e eventos, ela oferece suporte a poucas características da orientação a objetos (tais como encapsulamento e polimorfismo). Por exemplo, ela não suporta características como herança de implementação nem características pertinentes às classes, como sobrecarga de método (o Visual Basic retorna Ambigous Name). Veja um exemplo na Listagem 1.

 

Listagem 1. Exemplo de métodos e propriedades

Private X_ As Integer, Y_ As Integer

Public Event Moving()

 

'Public Sub Move(ByVal value As Integer) 'Sobrecarga não é permitida!

 

Public Sub Move(ByVal left As Integer, ByVal top As Integer)

    X_ = X_ + left

Y_ = T_ + top

RaiseEvent Moving

End Sub

 

Public Property Let X(ByVal value As Integer)

X_ = value

End Property

 

Public Property Get X() As Integer

   X_ = value

End Property

 " [...] continue lendo...

Artigos relacionados