Noções básicas de programação orientada a objetos



Introdução à programação orientada a objetos

OOP (Programação orientada a objetos) é uma maneira de organizar o código em um programa agrupando-o em objetos, elementos individuais que incluem informações (valores de dados) e funcionalidade. O uso de uma abordagem orientada a objetos para organizar um programa permite agrupar partes específicas de informações (por exemplo, informações sobre música, como título do álbum, título da faixa ou nome do artista) juntamente com a funcionalidade comum ou com as ações associadas a essas informações (como “adicionar faixa à lista de reprodução” ou “reproduzir todas as canções desse artista”). Esses itens são combinados em único item, um objeto (por exemplo, um “Album” ou “MusicTrack”). Vários benefícios são obtidos quando se pode agrupar esses valores e funções em conjunto, incluindo apenas a necessidade de manter o rastreio de uma única variável, em vez de várias, organizar a funcionalidade relacionada em conjunto, e poder estruturar programas de maneiras muito correspondentes ao mundo real.

Tarefas de programação orientadas a objetos comuns

Na prática, a programação orientada a objetos tem duas partes. Uma parte são as estratégias e técnicas para criar um programa (freqüentemente chamada de design orientado a objetos). Esse é um assunto abrangente e não é discutido neste capítulo. A outra parte da OOP são as estruturas reais de programação que estão disponíveis em uma determinada linguagem de programação para criar um programa usando uma abordagem orientada a objetos. Este capítulo abrange as seguintes tarefas comuns na OOP:

  • Definição de classes

  • Criação de propriedades, métodos e obtenção e definição de acessor (métodos de acessor)

  • Controle do acesso a classes, propriedades, métodos e acessores

  • Criação de propriedades e métodos estáticos

  • Criação de estruturas semelhantes a enumeração

  • Definição e uso de interfaces

  • Trabalho com herança, incluindo substituição de elementos de classes

Conceitos e termos importantes

A lista de referência a seguir contém termos importantes usados neste capítulo:

  • Atributo: Uma característica atribuída a um elemento de classe (como uma propriedade ou método) na definição de classe. Os atributos são usados normalmente para definir se a propriedade ou método estará disponível para acesso por código em outras partes do programa. Por exemplo, private e public são atributos. Um método particular pode ser chamado apenas pelo código dentro da classe, enquanto um método público pode ser chamado por qualquer código no programa.

  • Classe: A definição da estrutura e o comportamento de objetos de um determinado tipo (como um modelo ou plano gráfico de objetos desse tipo de dados).

  • Hierarquia de classes: A estrutura de várias classes relacionadas, especificando a classes que herdam funcionalidade de outras classes.

  • Construtor: Um método especial que você pode definir em uma classe, que é chamado quando uma ocorrência da classe é criada. Um construtor é usado normalmente para especificar valores padrão ou, de outra forma, executar operações de configuração do objeto.

  • Tipo de dados: O tipo de informações que uma variável específica pode armazenar. Em geral, tipo de dados tem o mesmo significado que classe.

  • Operador ponto: O sinal de ponto (.), que no ActionScript (e em muitas outras linguagens de programação) é usado para indicar que um nome faz referência a um elemento filho de um objeto (como uma propriedade ou método). Por exemplo, na expressão myObject.myProperty, o operador ponto indica que o termo myProperty está fazendo referência a algum valor que é um elemento do objeto denominado myObject.

  • Enumeração: Um conjunto de valores constantes relacionados, agrupados em conjunto por conveniência como propriedades de uma única classe.

  • Herança: O mecanismo da OOP que permite que uma definição de classe inclua toda a funcionalidade de uma definição de classe diferente (e geralmente seja adicionada a essa funcionalidade).

  • Ocorrência: Um objeto real criado em um programa.

  • Espaço para nomes: Essencialmente um atributo personalizado que permite controle mais refinado sobre qual código pode acessar outro código.

Teste dos exemplos do capítulo

Talvez você queira testar algumas das listagens de código de exemplo por si próprio, durante a leitura deste capítulo. Como as listagens de código neste capítulo tratam principalmente com a definição e a manipulação de tipos de dados, testar os exemplos envolve a criação de uma ocorrência da classe que está sendo definida, a manipulação dessa ocorrência usando suas propriedades ou métodos e a exibição dos valores das propriedades dessa ocorrência. Para exibir esses valores, grave-os em uma ocorrência do campo de texto no Palco ou use a função trace() para imprimir valores no painel Saída. Essas técnicas são descritas em detalhes em Teste de listagens de código de exemplo dos capítulos.