Post on 10-Nov-2018
Técnicas de Orientação à Objeto
IntroduçãoModelagem de objeto, classe, atributos e
métodos em linguagem JavaDesenvolvimento Guiado por Testes
Objeto
● Elemento (físico ou abstrato) existente no mundo real, cujos dados são necessários ao sistema de informação baseado em computador (CBIS):– Exemplo: Sistema de Informação Financeiro
● Objetos prováveis: Faturas, Contas à Pagar, Contas à Receber; Fluxo de Caixa, Conta Corrente, Conta Poupança; Conta Caixa, etc.
– Exemplo2: Sistema de Informação para a Escola Técnica● Objetos prováveis: Estudante, Componente Curricular,
Professor, Curso, etc.
Classes
● As classes são modeladas a partir dos objetos● A necessidade de manipular objetos obriga o arquiteto de
software (analista desenvolvedor) a modelar as classes necessárias para a criação dos objetos 'em tempo de execução'
● Sem classes, não há objetos● As classes são compostas pelo nome da classe, seus atributos
e métodos● A modelagem de classes é muito parecida com a modelagem
de Entidades (Modelo Entidade-Relacionamento), exceto pelo aspecto comportamental definido a partir dos métodos.
Exemplo1: Classe EstudanteNome da Classe:- Substantivo no singular;- Sem espaço, cedilha ou acento;- Com a primeira letra maiúscula
Atributos da classe:- Substantivo no singular;- Sem espaço, cedilha ou acento;- Com a primeira letra minúsculae a primeira da segunda palavra maiúscula, conforme exemplo.
Métodos da classe:- Verbo no gerúndio;- Sem espaço, cedilha ou acento;- Com as primeiras letras minúsculas como os atributos- Seguido por parênteses.
Exemplo2: Conta Corrente
Modelagem de Classes (via código)
● Boas práticas de programação orientada à objetos recomendam a programação guiada por testes (Test Driven Development) TDD
● Logo, é necessário criar uma classe de testes – ANTES – de criar a classe que se deseja modelar
● Logo, se o nome da classe a ser criada é Estudante, então será modelada uma classe TesteEstudante para testá-la;
● Se a classe a ser modelada for ContaCorrente, criaremos antes a classe TesteContaCorrente, e assim por diante.
Exemplo1: TesteEstudante1. Crie um projeto novo no NetBeans
1. Java → Aplicação Java
● Defina o nome do projeto
1. Auladdmm_Ref
2. ATENÇÃO: Não esqueça de desmarcar a opção criar classe principal!
..continua...
3. Defina um pacote
1. Pode atribuir o nome pct ao pacote.
4. Crie a classe de teste
1. TesteEstudante (porque a classe a ser modelada é a classe Estudante)
2. Observe o código gerado.
5. Recomenda-se que os arquivos não tenham seu caminho redirecionado para outro lugar para evitar perdas.
Observe o código da classe de teste TesteEstudante
1. Criação e instância de um objeto para testar a classe Estudante
● Para observar a criação correta da classe e garantir o seu funcionamento é preciso criar e instanciar um objeto da classe a ser modelada:
– 1. Crie o método main dentro da classe de teste
– 2. Crie e instancie o objeto da classe Estudante dentro do escopo do método main:
2. Modelagem da classe principalEstudante
3. Construção do objeto estudante1Modelagem de Atributos
1. Teste a atribuição de dados ao atributo na classe de teste
1. Evoque [ctrl + espaço] o objeto estudante1 adicione o operador ponto e informe o nome do atributo a ser modelado de acordo com o diagrama de classe.
2. Com o operador de atribuição faça o atributo receber um dado de teste.
...continua...1. Modele, na classe Estudante, o atributo utilizado anteriormente na classe
de teste.
1. Defina o tipo de dado do atributo
2. Defina o nome do atributo
...continua.● A repetição do processo descrito anteriormente para cada atributo garantirá que eles serão
modelados com a máxima atenção e a menor possibilidade de erros possível.
● Este processo garante a qualidade do código entregue
● Fique atento aos tipos de dados modelados na classe a ser modelada pois eles estão restritos à linguagem de programação utilizada, e aos dados atribuídos na classe de teste.
4. Imprimir o objeto para teste:Modelagem de Métodos
1. Imprimindo o objeto na tela a partir do método executado na classe de teste:
1. Escrever um rótulo (enunciado) para informar o que será impresso na tela
2. Executar o método apresentarEstudante() utilizado a partir do operador de ponto depois do nome do objeto estudante1 na classe de teste.
...continua.● Modelar o método apresentarEstudante() na classe Estudante.
– Definir a assinatura do método (nome do método e parâmetros, bem como a sua visibilidade e tipo de retorno