2. Conceitos e Fundamentos de P.O.O.
• Programação orientada a objetos (P.O.O.) é a metodologia
de programação que procura representar, no computador,
objetos do mundo real.
• Objeto é uma instanciação de um conjunto de dados,
criada durante a execução de um programa orientado a
objetos, de acordo com o que o programador especificou
em uma classe.
• Os diferentes dados ou características de um objeto,
chamados de atributos ou campos, são armazenados em
variáveis; objetos também podem ser armazenados em
variáveis.
• Exemplos:
– Um objeto “cliente”, pode ter os atributos “nome”, “cpf”, “salário”,
entre outros;
– um automóvel pode ter os atributos “marca”, “modelo”, “ano de
fabricação”, “número do chassi”, e “potência do motor”.
• Estado de um objeto é o conjunto formado pelos valores
dos atributos em um determinado instante.
3. Conceitos e Fundamentos de P.O.O.
• Métodos são procedimentos ou ações feitas sobre
os atributos.
• Exemplos:
– imprimir os atributos de um objeto;
– modificar o conteúdo de uma variável;
– fazer operações aritméticas com variáveis e apresentar
o resultado;
– pedir ao usuário que digite dados pelo teclado.
• Alguns tipos de métodos são:
– Método Construtor: usado para dar valores iniciais aos
atributos, quando um objeto é instanciado.
– Método de Acesso: usado para retornar o valor de um
atributo.
– Método Modificador: usado para modificar o valor de um
atributo.
4. Conceitos e Fundamentos de P.O.O.
• Classe é a especificação do que será um objeto,
ou seja, uma classe contém a descrição da
estrutura (atributos) e comportamento (métodos)
que estarão disponíveis a um ou mais objetos.
• Num programa (ou aplicação) orientado a objetos,
um objeto é instanciado (criado) a partir de uma
classe.
• Numa aplicação o. o., objetos são criados, para
chamar (solicitar a execução) de métodos; objetos
também podem criar outros objetos, os quais
podem chamar métodos uns dos outros.
• Quando mais de um objeto é instanciado a partir
de uma mesma classe, o que se tem é múltiplas
instâncias a partir daquela classe.
5. Conceitos e Fundamentos de P.O.O.
• Um programa ou aplicação orientada a objetos
possui uma ou mais classes.
• O programador distribui entre as classes (e entre
os métodos de cada classe) da aplicação as etapas
da solução obtidas no(s) algoritmo(s).
• Para escrever um programa ou uma aplicação
orientada a objetos, o programador deve usar uma
linguagem de programação orientada a objetos.
• O conjunto de comandos e símbolos de uma
linguagem de programação, usados para descrever
uma classe, formam o código-fonte de uma classe
ou de uma aplicação o. o.; ou seja o código-fonte é
o texto escrito em uma linguagem de programação.
6. Conceitos e Fundamentos de P.O.O.
• Numa classe, dados de atributos são armazenados em
variáveis globais, as quais são “reconhecidas” (e podem
ser usadas) por todos os métodos da classe.
• Variáveis locais são normalmente declaradas dentro de
métodos ou de blocos internos aos métodos; elas são
“reconhecidas” apenas dentro dos métodos (ou blocos) em
que foram declaradas.
• Desta forma, variáveis globais têm escopo mais abrangente
que as variáveis locais, e o tempo de vida de uma variável
global é maior que o tempo de vida de uma variável local,
porque a variável global normalmente tem o tempo de vida
de um objeto, enquanto que a variável local tem tempo de
vida limitado ao tempo de execução do método em que foi
criada.
7. Conceitos e Fundamentos de P.O.O.
• Um método pode ser chamado (executado) por um objeto
de duas maneiras:
– Chamada interna de método: é uma chamada (pedido de execução)
de um método da mesma classe;
– Chamada externa de método: é uma chamada (pedido de execução)
de um método de outra classe.
• Para se fazer uma chamada externa, numa classe “A”, de
um método que existe em uma classe “B”, é necessário
que, na classe “A”, seja instanciado um objeto da classe “B”;
esse objeto será usado para chamar o método desejado.
• Uma classe pode ter mais de um método com o mesmo
nome; neste caso, dizemos que esse método está
sobrecarregado.
• Um método sobrecarregado é um método que possui mais
de uma versão dele mesmo em uma classe; a sobrecarga
pode ser feita variando a quantidade ou variando o tipo de
parâmetros de uma versão para a outra.
8. Conceitos e Fundamentos de P.O.O.
• Abstração é a capacidade de ignorar detalhes de partes de
um problema, para focalizar a atenção na essência do
mesmo, em um nível mais elevado.
• Modularização é o processo de se dividir um problema em
partes menores bem definidas, de modo que possam ser
examinadas e solucionadas separadamente; a solução do
problema será a integração das soluções dos problemas
menores.
• Diagrama de classes mostra as classes de uma aplicação
orientada a objetos e os relacionamentos entre elas;
apresenta uma visualização estática da aplicação.
• Diagrama de objetos mostra os objetos, informações sobre
os objetos e seus relacionamentos em um determinado
instante da execução da aplicação orientada a objetos;
apresenta uma visualização dinâmica da aplicação.