Paradigmas Aula14
Paradigmas de Linguagens I
1
3.4. Programação Orientada a Objetos
Os conceitos de objetos e classes, vistos nas seções anteriores, são fundamentais na programação orientada a objetos. Complementando a definição destes conceitos, nesta seção métodos, mensagens e polimorfismo são detalhadamente descritos. Na seção 3.4.3 são apresentadas algumas questões de projeto referentes às Linguagens
Orientada à Objetos.
3.4.1. Método e Mensagem
Conforme descrito anteriormente, cada objeto inclui um conjunto de métodos, através dos quais seu estado local pode ser acessado e alterado. Como já comentado, métodos diferenciam-se de procedimentos e funções porque podem automaticamente acessar os atributos do objeto (ao contrário do "mundo externo") e pode-se considerar que eles incluem um parâmetro implícito representando o próprio objeto. A chamada de um método de um objeto é, geralmente, considerada equivalente ao envio de uma mensagem ao objeto [LOU 93].
Para exemplificar estes conceitos, a partir de agora será utilizada a sintaxe da linguagem Smalltalk.
Smalltalk permite três tipos de mensagens, unária, binária e keyword, distinguidas através do número de parâmetros e da maneira pela qual são especificadas. Mensagens unárias não possuem parâmetros e são especificadas através de identificadores com a primeira letra maiúscula para uma mensagem de classe e minúscula para uma mensagem de instância. Por exemplo: "6 factorial" e "12 negated". Mensagens binárias são nomeadas através de um ou dois caracteres especiais e sempre requerem um único parâmetro que segue o símbolo que representa a mensagem. Um exemplo de mensagem binária é "6 + 5".
Mensagens keyword consistem em um ou mais pares de parâmetros formais. Tanto as keywords quanto os parâmetros são identificadores, e a keyword é separada do seu parâmetro formal correspondente através de dois pontos. As keywords para métodos são escolhidas para fazer a leitura de uma mensagem tão "explícita" da sua