conceitos de oo em java parte i curso de linguagem java
Post on 07-Apr-2016
237 Views
Preview:
TRANSCRIPT
Conceitos de OO em JavaConceitos de OO em JavaParte IParte I
Curso de Linguagem JavaCurso de Linguagem Java
Linguagem Java 2
class Pessoa {
}
int qualIdade () { return idade; }
void casar (Pessoa p) {
conjuge = p; }
int idade;Pessoa conjuge;
Estrutura de uma classeEstrutura de uma classe
Classe
Propriedades
Métodos
Linguagem Java 3
ClassesClasses
Declaração:class Ponto {...
} Propriedades: dados que as instâncias da classe
conterão:class Ponto {float x, y;
}
X = 1 Y = 1
Qualquer objeto do tipo
Ponto possuirá dois atributos denominados
x e y
X = 2 Y = 2 X = 3
Y = 3
Linguagem Java 4
class Editor {public static void main (String arg[]) { Ponto p; int a = 2; }
}
Instanciação de ObjetosInstanciação de Objetos
Toda classe criada pode ser usada na declaração de varíaveis (objetos).
Exemplo:
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 5
Instanciação de ObjetosInstanciaçã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 6
class Editor { public static void main (String arg[]) {
Ponto p = new Ponto(); }}
Instanciação de ObjetosInstanciação de Objetos
X = 0 Y = 0
p
Linguagem Java 7
Atribuição de valoresAtribuiçã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 8
Atribuição de valores (cont.)Atribuição de valores (cont.)
Atenção !!!
Ponto p1 = new Ponto();p1.x = 1;
Declaração
Instanciação
Atribuição
Linguagem Java 9
Acessando membros de uma classeAcessando membros de uma classe
Membros de uma classe são suas propriedades e métodos.
p1.x = 1;
p1 x. 1Nome do objeto
Separador Nome doAtributo
Valor atribuído ao atributo do objeto
=
Linguagem Java 10
MétodosMé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 11
Tipos de MétodosTipos de Métodosclass Pessoa { int a; MinhaClasse b;
Pessoa(){ …} float Exemplo (int a){ …}
}
MétodosConstrutores
MétodosOperacionais
Linguagem Java 12
Métodos ConstrutoresMé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; }}
Ponto (int x, int y)
Linguagem Java 13
Assinatura de um método ConstrutorAssinatura de um método Construtor
Ponto (int x, int y)
Não possui tipo deretorno
Nome do método deve ser igual ao nome da classe
Parâmetros
Linguagem Java 14
Uso de ConstrutoresUso de Construtores
Deve ser usado no momento da criação do objeto:
Ponto p1 = new Ponto(1,2);
Ponto p2 = new Ponto(3,4);
p1X = 1 Y = 2
p2
X = 3 Y = 4
Linguagem Java 15
Método Construtor ExemploMétodo Construtor Exemploclass EditorGrafico {
public static void main (String arg []){ Ponto p1, p2; p1 = new Ponto (1,2); p2 = new Ponto (3,4);}
}
Linguagem Java 16
Construtor PadrãoConstrutor 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 17
Métodos ConstrutoresMétodos Construtores
Usados na criação de um objeto através do comando new
Possuem o mesmo nome da classePodem receber parâmetros que servirão
para incialização dos atributos da classeUma classe pode ter vários métodos
construtores
Linguagem Java 18
class Funcionario{ String nomefunc;
float salario;Funcionario (String nome,float sal){
salario = sal;nomefunc = nome;
}...…
}
Métodos ConstrutoresMétodos Construtores
Método Construtor
OutrosMétodos
Linguagem Java 19
ExemploExemplo
class ProgramaPrincipal{
public static void main (String arg[]){
Funcionario func;func = new Funcionario(“Juca”,102f);
}
}
Método Construtor
Linguagem Java 20
Métodos OperacionaisMétodos Operacionais
Implementam as funções de uma classePossuem 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 21
Retorno
Corpo
Assinatura
Métodos OperacionaisMétodos Operacionais
class Funcionario{ String nomeFunc;
float salario;...float calcularSalario (int horas){ float salMes = 0;if (horas < 220) { salMes =(salario/220)*horas;}return salMes;}...
}
Linguagem Java 22
Assinatura de um método OperacionalAssinatura de um método Operacional
float calcularSalario (int horas)
Tipo deRetorno
Nome Parâmetro
Linguagem Java 23
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);
ExemploExemplo
Executando o Método calcularSalario da classe Funcionario
func nomeFunc = “Juca”salario = 2200-----------------calcularSalario(horas)
sal = (salario/220)*horas;sal = (2200/220)*80 sal = 800
sal = func.calcularSalario(80);
Linguagem Java 24
Dinâmica de um Sistema Orientado a Dinâmica de um Sistema Orientado a ObjetosObjetos
Estímulo Externo
Resposta
Linguagem Java 25
Interação entre ObjetosInteração entre ObjetosExemplo: Pintando um ponto na tela Exemplo: Pintando um ponto na tela
AreaDesenho
Editor
Ponto
e1.criarPonto( cx, cy);
Ponto p1 = new Ponto();
p1.desenhar();
CLICK (GUI)
e1
p1
a1
Linguagem Java 26
Chamadas de MétodoChamadas de Método
A troca de mensagens entre os objetos é realizada através da chamada de métodos com passagem de parâmetros
Exemploclass Editor {void criarPonto (int x1, int y1) {
Ponto p1 = new Ponto (); p1.x = x1; p1.y = y1; p1.desenhar(); }}
Linguagem Java 27
class Editor {void criarPonto (int x1, int y1) {
Ponto p1 = new Ponto (); p1.x = x1; p1.y = y1; p1.desenhar(); }}
Mensagem entre ObjetosMensagem entre Objetos
Troca de mensagem de um objeto da classe
Editor com o objeto da classe Ponto
denominado aqui como p1
Linguagem Java 28
Mensagem entre ObjetosMensagem entre Objetos
Objeto a Objeto ff.ehChefe ( );
...float calcularBonus (Funcionario f) { float bonus = 0; if ( f.ehChefe ( ) ) { bonus = f.salario * 0.5; } else bonus = f.salario * 0.2; return bonus; }...
true
a.calcularBonus (joao);
Premissas:Método da Classe Folha.Instância denominada a.
true
top related