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 Prof. Fábio Luis Objetos Objetos e classes 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 1 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. 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 3 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). Valores de retorno Métodos podem retornar um resultado via um valor de retorno. Linguagem de Montagem 5 Linguagem de Montagem 6 CC/SI 1
Corpo da Classe O corpo das classes contém campos, construtores e métodos. Campos Campos armazenam valores que determinam o estado de um objeto. Linguagem de Montagem 7 Linguagem de Montagem 8 Construtores Construtores inicializam objetos. Métodos Métodos implementam o comportamento dos objetos. Linguagem de Montagem 9 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. 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 11 Linguagem de Montagem 12 CC/SI 2
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. 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 13 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. 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 15 Linguagem de Montagem 16 Objetos criando objetos Os objetos podem criar outros objetos utilizando o operador new. 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 17 Linguagem de Montagem 18 CC/SI 3
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. objeto.nomedométodo( lista-de-parâmetros ) Linguagem de Montagem 19 Linguagem de Montagem 20 public void timetick() { minutes.increment(); if(minutes.getvalue() == 0) { // acaba de voltar a zero! hours.increment(); updatedisplay(); 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 21 Linguagem de Montagem 22 Método interno /** * Atualiza a string interna que * representa o mostrador. */ private void updatedisplay() { displaystring = hours.getdisplayvalue() + ":" + minutes.getdisplayvalue(); Chamada de Método Externo Os métodos podem chamar métodos de outros objetos utilizando notação de ponto. Linguagem de Montagem 23 Linguagem de Montagem 24 CC/SI 4
interno updatedisplay(); private void updatedisplay() Quando o mesmo nome é utilizado para duas entidades diferentes. (name overloading) externo minutes.increment(); Linguagem de Montagem 25 Linguagem de Montagem 26 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. O que fazer? -> usar this A expressão this referencia o objeto atual. Linguagem de Montagem 27 Linguagem de Montagem 28 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. Depurador Um depurador (debugger) é uma ferramenta de software que ajuda a examinar como a aplicação executa. Ele pode ser utilizado para localizar bugs. Linguagem de Montagem 29 Linguagem de Montagem 30 CC/SI 5