Linguagem de Montagem

UNIP – Universidade Paulista Campus Tatuapé - SP Ciência da Computação Sistemas de Informação

Linguagem de Montagem
Prof. Marcelo Nogueira Prof. Fábio Vieira do Amaral
Linguagem de Montagem

1

Objetos e classes
• Objetos
– Representam ‘coisas’ do mundo real ou do domínio de algum problema (exemplo: “o carro vermelho ali no estacionamento”).

• Classes
– Representam todos os tipos de objetos (exemplo: “carro”).
Linguagem de Montagem

2

Métodos e parâmetros
• Objetos têm operações que podem ser invocadas (o Java as chama de métodos). • Métodos podem ter parâmetros para passar informações adicionais necessárias para sua execução.

Linguagem de Montagem

3

Profs. Marcelo Nogueira / Fábio Amaral

1

Linguagem de Montagem

Outras observações
• Várias instâncias podem ser criadas a partir de uma única classe. • Um objeto tem atributos: valores armazenados em campos. • A classe define quais campos um objeto tem, mas todo objeto armazena seu próprio conjunto de valores (o estado do objeto).
Linguagem de Montagem

4

Código-fonte
• Toda classe tem um código-fonte (código Java) associado a ela que define seus detalhes (campos e métodos).

Linguagem de Montagem

5

Valores de retorno
• Métodos podem retornar um resultado via um valor de retorno.

Linguagem de Montagem

6

Profs. Marcelo Nogueira / Fábio Amaral

2

Linguagem de Montagem

Corpo da Classe
• O corpo das classes contém campos, construtores e métodos.

Linguagem de Montagem

7

Campos
• Campos armazenam valores que determinam o estado de um objeto.

Linguagem de Montagem

8

Construtores
• Construtores inicializam objetos.

Linguagem de Montagem

9

Profs. Marcelo Nogueira / Fábio Amaral

3

Linguagem de Montagem

Métodos
• Métodos implementam o comportamento dos objetos.

Linguagem de Montagem

10

Campos, Parâmetros e Variáveis Locais
• Campos, parâmetros e variáveis locais são variáveis. • Campos persistem pelo tempo de vida de um objeto. • Parâmetros são utilizados para receber valores em um construtor ou método. • Variáveis locais são utilizadas para armazenamento temporário de curta duração.
Linguagem de Montagem

11

Condicional (if)
• Objetos podem tomar decisões via atribuições condicionais (if). • Um teste de verdadeiro ou falso permite que uma entre duas ações alternativas seja tomada.

Linguagem de Montagem

12

Profs. Marcelo Nogueira / Fábio Amaral

4

Linguagem de Montagem

Abstração e modularização
• Abstração é a habilidade de ignorar detalhes sobre as partes para concentrar a atenção no nível mais alto de um problema. • Modularização é o processo de dividir um todo em partes bem definidas, que podem ser construídas e examinadas separadamente e que interagem de uma maneira bem definida.
Linguagem de Montagem

13

Classes definem Tipos
• Um nome de classe pode ser utilizado como tipo para uma variável. Variáveis que têm uma classe como seu tipo podem armazenar objetos dessa classe.

Linguagem de Montagem

14

Diagrama de classes
• O diagrama de classes mostra as classes de uma aplicação e os relacionamentos entre elas. Ele fornece as informações sobre o código-fonte. Apresenta a visualização estática de um programa.
Linguagem de Montagem

15

Profs. Marcelo Nogueira / Fábio Amaral

5

Linguagem de Montagem

Tipo primitivo
• Os tipos primitivos em java são os tipos não-objeto. Tipos como int, char, boolean, double e long são os mais comuns. Os tipos primitivos não têm nenhum método.

Linguagem de Montagem

16

Objetos criando objetos
• Os objetos podem criar outros objetos utilizando o operador new.

Linguagem de Montagem

17

Objetos criando objetos
Na classe NumberDisplay:
public NumberDisplay(int rollOverLimit);

parâmetro formal Na classe ClockDisplay:
hours = new NumberDisplay(24);

parâmetro real
Linguagem de Montagem

18

Profs. Marcelo Nogueira / Fábio Amaral

6

Linguagem de Montagem

Sobrecarga
• Uma classe pode conter mais de um construtor ou mais de um método do mesmo nome, contanto que cada um tenha um conjunto distinto de tipos de parâmetro.

Linguagem de Montagem

19

Chamadas de método
objeto.nomeDoMétodo( lista-de-parâmetros )

Linguagem de Montagem

20

Chamadas de método
public void timeTick() { minutes.increment(); if(minutes.getValue() == 0) { // acaba de voltar a zero! hours.increment(); } updateDisplay(); }

Linguagem de Montagem

21

Profs. Marcelo Nogueira / Fábio Amaral

7

Linguagem de Montagem

Chamada de Método Interno
• Os métodos podem chamar outros métodos da mesma classe como parte de sua implementação.

Linguagem de Montagem

22

Método interno
/** * Atualiza a string interna que * representa o mostrador. */ private void updateDisplay() { displayString = hours.getDisplayValue() + ":" + minutes.getDisplayValue(); }

Linguagem de Montagem

23

Chamada de Método Externo
• Os métodos podem chamar métodos de outros objetos utilizando notação de ponto.

Linguagem de Montagem

24

Profs. Marcelo Nogueira / Fábio Amaral

8

Linguagem de Montagem

Chamadas de método
• Chamadas de método interno
updateDisplay(); … private void updateDisplay()

Chamadas de método externo
minutes.increment();

Linguagem de Montagem

25

Sobrecarga de Nome
• Quando o mesmo nome é utilizado para duas entidades diferentes. (name overloading)

Linguagem de Montagem

26

Sobrecarga de Nome
• Exemplo: Uma classe possui três campos, chamados: from, to e message. O construtor tem três parâmetros, também chamados from, to e message.

Linguagem de Montagem

27

Profs. Marcelo Nogueira / Fábio Amaral

9

Linguagem de Montagem

Sobrecarga de Nome
• O que fazer? -> usar “this” • A expressão this referencia o objeto atual.

Linguagem de Montagem

28

Sobrecarga de Nome
• Escrevendo this.from referenciamos o campo from no objeto atual. Assim essa construção nos fornece um meio de referenciar o campo em vez do parâmetro com o mesmo nome.
Linguagem de Montagem

29

Depurador
• Um depurador (debugger) é uma ferramenta de software que ajuda a examinar como ua aplicação executa. Ele pode ser utilizado para localizar bugs.

Linguagem de Montagem

30

Profs. Marcelo Nogueira / Fábio Amaral

10