Conceitos Fundamentais de POO, Relacionamentos e Testes

Classificado em Computação

Escrito em em português com um tamanho de 3,55 KB

Fundamentos da Orientação a Objetos (OO)

Objeto

Elemento do mundo real que possui relevância para a solução do problema. Possui características.

Características

Conjunto de informações que definem o objeto (Ex: CPF, Nome, Celular).

Estado

Conjunto de informações que identificam o objeto em um momento específico (Ex: CPF: 460.359.398-06).

Operações (Comportamento)

  • Objetivo: Consultar ou alterar o estado de um objeto.
  • Responsável pelo processamento em sistemas Orientados a Objetos (OO).

Classe

É a especificação do objeto. Representa o conjunto de objetos que têm os mesmos atributos, operações, relacionamentos e semântica.

Objeto vs. Classe

O objeto é a instância de uma classe.

Abstração

É o processo de focar em um grupo de objetos com as mesmas propriedades, comportamento, relacionamento e semântica.

Definição e Propósito da Abstração

  • Selecionar determinados aspectos do problema.
  • Isolar o que é importante ou não para a solução do problema.
  • Está relacionada à capacidade de resolver o problema.

Comunicação e Visibilidade

Mensagem Síncrona

Mensagens que implicam um sincronismo rígido entre o objeto que envia e os objetos que recebem a mensagem.

Mensagem Assíncrona

Não há dependência do estado do objeto chamador e do processamento do objeto chamado.

Visibilidade (Métodos e Atributos)

  • Públicos: Podem ser acessados por qualquer parte do sistema.
  • Privados: Só podem ser acessados dentro da classe em que estão declarados.

Relacionamentos em Orientação a Objetos

Herança

Ocorre quando uma classe filha herda todos os atributos e métodos da classe mãe.

Agregação e Composição

Ambos descrevem situações onde um objeto faz parte de outro (relacionamento "todo-parte"). A diferença fundamental reside no ciclo de vida dos objetos.

Agregação

A existência de um objeto da Classe B (a parte) é independente da existência de um objeto da Classe A (o todo). Exemplo: Carro e Motor.

Composição

A existência de um objeto da Classe B (a parte) depende da existência de um objeto da Classe A (o todo). O objeto B não existe sem o objeto A.

Associação

Apenas indica que um objeto pode se relacionar com outro. É o relacionamento mais genérico. Exemplo: Cliente e Produto (relação de compra).

Dependência

Ocorre quando um objeto depende de outro (geralmente passado como parâmetro) para executar um determinado comportamento. Exemplo: Leitora de Cartão e Cartão.

Asserções Comuns em Testes Unitários

assertEqual
Testa se o valor do primeiro e do segundo parâmetros são iguais. O teste falha se forem diferentes.
assertNotEqual
Testa se o valor do primeiro e do segundo parâmetros são diferentes. O teste falha se forem iguais.
assertTrue / assertFalse
Verifica a condição booleana da expressão.
assertIs / assertIsNot
Compara se dois objetos são o mesmo (comparação de identidade).

Entradas relacionadas: