Linguagem de Programação I

Propaganda
Linguagem de Programação I
Orientação a Objetos em Java
Roteiro







Introdução
Classes e Objetos
Declaração de Classes e Instanciação de um
Objeto de uma Classe
Declarando métodos com parâmetros
Atributos, métodos get e set
Tipos primitivos e tipo referência
Inicializando objetos com construtores
2
Introdução

Programação Orientada a Objetos
• Tudo é visto como objeto
• Na programação imperativa:
•
Estrutura de dados + funções = programa
• Em POO:
•
•
Estrutura de dados + funções = objeto
objeto + objeto + ... + objeto = programa
3
Objetos

O que são objetos em linguagens OO?
4
Objetos

O que são objetos em linguagens OO?
• Objetos representam entidades do mundo real:
•
•
•
•
satélite,
empregado,
número,
conta bancária, etc.
• Objetos podem ser simples ou complexos
5
Objetos


O que são objetos em linguagens OO?
Objetos são compostos de
• atributos
•
dados que definem o estado do objeto
• métodos
•

procedimentos que alteram o estado do objeto
Exemplo de objeto:
• carro
6
Objeto “carro”

Para construir o objeto “carro”, teremos de
abstrair seus atributos e funções:
• um carro pode ter os seguintes recursos ou
atributos:
•
cor, velocidade, combustível, tamanho, modelo
• um carro pode:
•
andar, parar, virar à esquerda, virar à direita
7
POO em Java

Como descrever os objetos no mundo
computacional?
• Temos de mapear os objetos reais em objetos
computacionais e escrever programas que dão
vida a estes objetos em um sistema
computacional.
8
POO em Java

Objetos (computacionais) são caracterizados
por atributos e métodos:
• atributos são as propriedades de um objeto.
• métodos são as ações que um objeto pode
realizar
•
•

a execução de um método muda os valores dos
atributos do objeto responsável pela execução
neste caso dizemos que o objeto mudou de estado
Objetos são modelados através de classes
9
Classes

Como podemos definir as Classes?
10
Classes

Classes são agrupamentos de objetos
(computacionais) que têm propriedades em
comum e podem realizar as mesmas ações.
• este agrupamento e classificação deve refletir o
•
agrupamento natural dos objetos reais.
classes introduzem a noção de tipos em
linguagens orientadas a objetos:
•
Organiza informações;
11
Classes em Java

Java oferece recursos linguísticos para
especificar (descrever) classes:
class Nome_da_Classe {
atributos
métodos
}

o corpo de uma classe é delimitado pelos
símbolos { e }, e corresponde à descrição dos
atributos e métodos da classe
12
Classes em Java
class Carro{
String cor, modelo;
double velocidade = 0.0;
String placa;
void acelerar(double fator){
velocidade = velocidade * fator;
}
void parar(){
acelerar(0.0);
}
}
atributos
métodos
13
Classes em Java
class Pessoa {
private String Nome, Sobrenome;
private int
AnoNasc;
private boolean
solteiro = true;
int seculo_de_nascimento( ) {
return
... (AnoNasc / 100) + 1 ...;
}
int idade(int ano_corrente) {
return
... ano_corrente - AnoNasc ...;
}
...
}
14
Declarando métodos com parâmetros
TipoDeRetorno nomeDoMetodo (Parâmetros) {
Corpo
}
15
Atributos, métodos get e set
private String
nome;
void setNome(Sring n) {
nome = n;
}
String getNome() {
return nome;
}
16
Tipos primitivos e tipo referência

Tipos primitivos
• boolean
• byte
• char
• short
• int
• long
• float
• double
17
Tipos primitivos e tipo referência

Tipo não primitivo ou tipo referência
• As classes que especificam os tipos dos objetos
18
Inicializando objetos com construtores
Cliente(){
nome = "";
endereco = "";
rg = -1;
}
Cliente(String n, String e, int r){
nome = n;
endereco = e;
rg = r;
}
19
Exercício


Criar um classe empregado com os atributos
nome, endereço, cpf e salário. Esta classe
deve conter um método para visualizar os
dados do empregado. Os dados devem ser
acessados e modificados com métodos get e
set.
Exemplo do get e set para nome:
void setNome(Sring n) {
nome = n;
}
String getNome() {
return nome;
}
20
Exercício

Crie uma classe chamada Empregado com capacidade de
gerar objetos contendo informações sobre nome (tipo
String), endereço (tipo String) e o salário mensal
(double) de um empregado. Sua classe deve conter um
construtor para inicializar todas as informações do
empregado. Forneça métodos set e get para cada
atributo. Se o salário mensal não for positivo então grave
o valor 0,0. Escreva uma aplicação de teste chamada de
EmpregadoTeste avaliando as capacidades da classe
Empregado. Crie dois objetos empregado e mostre o
salário anual de cada um deles. Depois, dê um aumento
de 10% no salário e mostre novamente o salário anual de
cada um.
21
Construtor
Empregado(Sring n, Sting e, double s) {
nome = n;
endereco = e;
salario = s;
}
22
Download