A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Conceitos de OO em Java Parte I

Apresentações semelhantes


Apresentação em tema: "Conceitos de OO em Java Parte I"— Transcrição da apresentação:

1 Conceitos de OO em Java Parte I
Curso de Linguagem Java

2 Estrutura de uma classe
Jose Antonio F. Macedo Estrutura de uma classe Classe class Pessoa { } Propriedades int idade; Pessoa conjuge; Métodos int qualIdade () { return idade; } void casar (Pessoa p) { conjuge = p; Linguagem Java Linguagem Java

3 Classes Declaração: class Ponto { ... }
Jose Antonio F. Macedo Classes Qualquer objeto do tipo Ponto possuirá dois atributos denominados x e y Declaração: class Ponto { ... } Propriedades: dados que as instâncias da classe conterão: float x, y; X = 1 Y = 1 X = 2 Y = 2 X = 3 Y = 3 Linguagem Java Linguagem Java

4 Instanciação de Objetos
Jose Antonio F. Macedo Instanciação de Objetos Toda classe criada pode ser usada na declaração de varíaveis (objetos). Exemplo: class Editor { public static void main (String arg[]) { Ponto p; int a = 2; } Declaração de uma variável p do tipo da classe Ponto. Declaração de uma variável a do tipo inteiro. X = ? Y = ? 2 Linguagem Java Linguagem Java

5 Instanciação de Objetos
Jose Antonio F. Macedo Instanciação de Objetos Dada uma classe, pode ser criada uma nova instância desta classe usando o comando new. Exemplo: class Editor { public static void main (String arg[]) { Ponto p = new Ponto(); } Linguagem Java Linguagem Java

6 Instanciação de Objetos
Jose Antonio F. Macedo Instanciação de Objetos class Editor { public static void main (String arg[]) { Ponto p = new Ponto(); } p X = 0 Y = 0 Linguagem Java Linguagem Java

7 Jose Antonio F. Macedo Atribuição de valores As propriedades dos objetos podem ser manipuladas diretamente: Ponto p1 = new Ponto(); p1.x = 1; p1.y = 2; // p1 representa o ponto (1,2) Ponto p2 = new Ponto(); p2.x = 3; p2.y = 4; // p2 representa o ponto (3,4) X = 1 Y = 2 p1 X = 3 Y = 4 p2 Linguagem Java Linguagem Java

8 Atribuição de valores (cont.)
Jose Antonio F. Macedo Atribuição de valores (cont.) Atenção !!! Ponto p1 = new Ponto(); p1.x = 1; Declaração Instanciação Atribuição Linguagem Java Linguagem Java

9 Acessando membros de uma classe
Jose Antonio F. Macedo Acessando membros de uma classe Membros de uma classe são suas propriedades e métodos. p1.x = 1; p1 . x = 1 Nome do objeto Separador Nome do Atributo Valor atribuído ao atributo do objeto Linguagem Java Linguagem Java

10 Métodos Define o comportamento da classe. Declaração:
Jose Antonio F. Macedo Métodos Define o comportamento da classe. Declaração: class Ponto { int x, y; void mover ( int dx, int dy) { x += dx; y += dy; } Linguagem Java Linguagem Java

11 Tipos de Métodos Métodos Construtores Métodos Operacionais
Jose Antonio F. Macedo Tipos de Métodos class Pessoa { int a; MinhaClasse b; Pessoa() } float Exemplo (int a) Métodos Construtores Métodos Operacionais Linguagem Java Linguagem Java

12 Jose Antonio F. Macedo Métodos Construtores Devemos usar os métodos construtores quando queremos atribuir valores aos atributos de um objeto no momento de sua criação class Ponto { int x=0; int y=0; { this.x = x; this.y = y; } Método Construtor Ponto (int x, int y) Linguagem Java Linguagem Java

13 Assinatura de um método Construtor
Jose Antonio F. Macedo Assinatura de um método Construtor Ponto (int x, int y) Nome do método deve ser igual ao nome da classe Parâmetros Não possui tipo de retorno Linguagem Java Linguagem Java

14 Uso de Construtores Deve ser usado no momento da criação do objeto:
Jose Antonio F. Macedo Uso de Construtores Deve ser usado no momento da criação do objeto: Ponto p1 = new Ponto(1,2); Ponto p2 = new Ponto(3,4); p1 X = 1 Y = 2 p2 X = 3 Y = 4 Linguagem Java Linguagem Java

15 Método Construtor Exemplo
Jose Antonio F. Macedo Método Construtor Exemplo class EditorGrafico { public static void main (String arg []) Ponto p1, p2; p1 = new Ponto (1,2); p2 = new Ponto (3,4); } Linguagem Java Linguagem Java

16 Jose Antonio F. Macedo Construtor Padrão A linguagem Java declara um construtor padrão, vazio, que não recebe nenhum parâmetro Quando declaramos um novo construtor, esse construtor padrão deixa de existir e é substituído pelo novo construtor Linguagem Java Linguagem Java

17 Jose Antonio F. Macedo Métodos Construtores Usados na criação de um objeto através do comando new Possuem o mesmo nome da classe Podem receber parâmetros que servirão para incialização dos atributos da classe Uma classe pode ter vários métodos construtores Linguagem Java Linguagem Java

18 Métodos Construtores class Funcionario { String nomefunc;
Jose Antonio F. Macedo Métodos Construtores class Funcionario { String nomefunc; float salario; Funcionario (String nome,float sal) { salario = sal; nomefunc = nome; } ... Método Construtor Outros Métodos Linguagem Java Linguagem Java

19 Exemplo class ProgramaPrincipal {
Jose Antonio F. Macedo Exemplo class ProgramaPrincipal { public static void main (String arg[]) Funcionario func; func = new Funcionario(“Juca”,102f); } Método Construtor Linguagem Java Linguagem Java

20 Métodos Operacionais Implementam as funções de uma classe
Jose Antonio F. Macedo Métodos Operacionais Implementam as funções de uma classe Possuem sintaxe semelhante à sintaxe de definição das funções de um programa procedural Determinam o comportamento da classe e a troca de mensagens com outras classes Linguagem Java Linguagem Java

21 Métodos Operacionais Assinatura Corpo Retorno class Funcionario
Jose Antonio F. Macedo Métodos Operacionais class Funcionario { String nomeFunc; float salario; ... float calcularSalario (int horas) { float salMes = 0; if (horas < 220) { salMes =(salario/220)*horas; } return salMes; Assinatura Corpo Retorno Linguagem Java Linguagem Java

22 Assinatura de um método Operacional
Jose Antonio F. Macedo Assinatura de um método Operacional float calcularSalario (int horas) Tipo de Retorno Nome Parâmetro Linguagem Java Linguagem Java

23 sal = func.calcularSalario(80);
Exemplo Jose Antonio F. Macedo class ProgramaPrincipal { public static void main (String arg[]) { float sal; Funcionario func; func = new Funcionario(“Juca”,2200); System.out.println (sal); } sal = func.calcularSalario(80); Executando o Método calcularSalario da classe Funcionario nomeFunc = “Juca” salario = 2200 calcularSalario(horas) func sal = (salario/220)*horas; sal = (2200/220)*80 sal = 800 sal = func.calcularSalario(80); Linguagem Java Linguagem Java

24 Dinâmica de um Sistema Orientado a Objetos
Estímulo Externo Resposta Linguagem Java

25 Interação entre Objetos Exemplo: Pintando um ponto na tela
Area Desenho e1.criarPonto( cx, cy); CLICK (GUI) Editor p1 Ponto p1 = new Ponto(); Ponto p1.desenhar(); Linguagem Java

26 Chamadas de Método Exemplo
Jose Antonio F. Macedo Chamadas de Método A troca de mensagens entre os objetos é realizada através da chamada de métodos com passagem de parâmetros Exemplo class Editor { void criarPonto (int x1, int y1) { Ponto p1 = new Ponto (); p1.x = x1; p1.y = y1; p1.desenhar(); } Linguagem Java Linguagem Java

27 Mensagem entre Objetos
class Editor { void criarPonto (int x1, int y1) { Ponto p1 = new Ponto (); p1.x = x1; p1.y = y1; p1.desenhar(); } Troca de mensagem de um objeto da classe Editor com o objeto da classe Ponto denominado aqui como p1 Linguagem Java

28 Mensagem entre Objetos
... float calcularBonus (Funcionario f) { float bonus = 0; if ( f.ehChefe ( ) ) { bonus = f.salario * 0.5; } else bonus = f.salario * 0.2; return bonus; Premissas: Método da Classe Folha. Instância denominada a. f.ehChefe ( ); a.calcularBonus (joao); Objeto a Objeto f true true Linguagem Java


Carregar ppt "Conceitos de OO em Java Parte I"

Apresentações semelhantes


Anúncios Google