SlideShare uma empresa Scribd logo
1 de 43
Baixar para ler offline
Programação Orientada a
Objetos
Aula 3
Curso: Análise e Desenvolvimento de Sistemas
Professor: Rafael Wendel Pinheiro
• Roteiro da Aula
– Introdução aos conceitos de orientação à
objetos (OO)
– Implementação
– Modificadores de Visibilidade
– Instâncias (Objetos)
– Implementação de métodos
– Exercícios
2
Orientação à Objetos:
Introdução
3
• Introdução a POO
– Antes...
– As primeiras linguagens de programação para
computadores trabalhavam sobre um
paradigma estruturado.
– Esse paradigma era pouco funcional e
metodológico.
– Dificulta a organização do código.
– Quanto maior o software, mais difícil a
manutenção.
4
• Introdução a POO
– Programação Orientada à Objetos
– Um paradigma de programação de sistemas
focado em reusabilidade.
– Tenta aproximar o mundo real do mundo virtual
(através da utilização de objetos).
– Os objetos podem ser concretos e abstratos.
– Os objetos definidos dentro de um software
podem “conversar” (interagir) entre si.
5
• Introdução a POO
6
Pessoa
Computador
Cachorro
Venda
Funcionário
Formulario
Objetos do
Mundo real
Objetos do
Software
• Introdução a POO
– Os objetos possuem propriedades (atributos)
7
Pessoa
Nome
Altura
Peso
Computador
Marca
Tipo
Potencia
Venda Data
Valor
Status
Funcionário
Nome
Cargo
Salário
• Introdução a POO
– Os objetos possuem comportamentos (métodos)
8
Pessoa
Andar
Falar
Comer
Computador
Ligar
Desligar
Abrir
Programa
Venda Concluir Venda
Cancelar Venda
Calcular Valor Total
Funcionário
Salvar Funcionário
Editar Funcionário
Excluir
Funcionário
• Introdução à POO
– Classes
• É uma abstração que define o molde de uma
classe de objetos.
• Agrupam uma classe de objetos que compartilham
de uma mesma série de atributos e métodos.
• Os objetos de uma classe respeitam suas
implementações.
9
• Introdução à POO
– Classe “Cadeira”
• Objetos da classe “Cadeira”
10
• Introdução à POO
– Classes: Atributos
• Os atributos são as propriedades que os objetos
compartilham.
• Possuem tipos de dados (String, int, double,
boolean, etc.)
• Funcionam como variáveis.
– Classes: Métodos
• Os métodos são os comportamentos que os objetos
executam.
• Podem ou não retornar alguma informação
11
• Introdução à POO
– Imagine a classe Pessoa.
12
• Atributos
– Nome
– Peso
– Altura
• Métodos
– Falar
– Andar
– Comer
• Introdução à POO
– Exercício 1:
• Defina pelo menos 5 atributos para as classes à
seguir:
1.Cliente
2.Venda
3.Produto
4.Aluno
5.Curso
13
• Introdução à POO
– Objetos
• Objetos são considerados instâncias das classes.
• Enquanto as classes são generalizadas, os
objetos são algo específico, mas que respeitam a
estrutura de uma classe.
• Podem existir vários objetos/instâncias de uma
mesma classe, mas cada um é independente.
14
• Introdução à POO
– Objetos: Para entender melhor...
15
Classe
Pessoa
– Nome
– Peso
– Altura
Objeto1
– João
– 85
– 1.90
Objeto2
– Maria
– 63
– 1.75
Objetos
Implementação
16
• Implementação
– Em um projeto Java, cada classe deve corresponder à
um arquivo de códigos-fonte.
– Para declarar uma classe:
17
public class Pessoa {
}
As chaves delimitam o início e
o fim da classe.
• Implementação
– Atributos: Para se criar os atributos de uma classe,
deve-se respeitar a estrutura: tipo de dado => nome do
atributo.
18
public class Pessoa {
String nome;
double peso;
double altura;
}
Modificadores de Visibilidade
19
• Modificadores de Visibilidade
– Os atributos e métodos de uma classe
possuem modificadores de visibilidade quanto
ao seus acessos.
– Isso possibilita a restrição de acesso às
características ou comportamentos.
– Os modificadores possibilitam a utilização de
um dos principais conceitos de OO. O
encapsulamento.
20
• Modificadores de Visibilidade
– Existem 3 modificadores de visibilidade:
 + public: pode ser acessado dentro e fora da
classe.
 # protected: pode ser acessado por classes
da mesma família
 - private: pode ser acessado apenas dentro
da classe. 21
• Modificadores de Visibilidade
– O modificador deve ser informado antes da declaração
do atributo ou método.
22
public class Pessoa {
public String nome;
public double peso;
public double altura;
}
• Modificadores de Visibilidade
– Na prática!!!
23
Instâncias (Objetos)
24
• Instâncias (Objetos)
– Como já abordado, os objetos são as instâncias
de uma classe.
– Eles são representações físicas das classes e
que obedecem suas implementações.
– Os objetos podem acessar os atributos e
executar os métodos públicos da classe a qual
pertencem.
– Os objetos funcionam como “variáveis” e
portanto devem possuir nome. 25
• Instâncias (Objetos)
26
public class Pessoa {
public String nome;
public double peso;
public double altura;
}
Pessoa p1 = new Pessoa();
p1.nome = “João”;
p1.peso = 85;
p1.altura = 1.9;
p1 é um objeto do tipo
“Pessoa”.
Classe
Para acessar uma
propriedade/método
da classe, utilize o
sinal ponto (.)
• Instâncias (Objetos)
27
Pessoa p1 = new Pessoa();
p1.nome = “João”;
p1.peso = 85;
p1.altura = 1.9;
Pessoa p2 = new Pessoa();
p2.nome = “Ana”;
p2.peso = 60;
p2.altura = 1.75;
p1 e p2 são
instâncias de uma
mesma classe
(Pessoa), mas ambos
são independentes
entre si.
• Instâncias (Objetos)
– Na prática!!!
28
• Instâncias (Objetos)
– Exercício:
1.Crie a classe Carro com os atributos públicos
marca, modelo, combustível, portas e
capacidade_tanque. Depois crie 5 instâncias da
classe Carro e defina valores para cada um dos
atributos.
29
Implementação de Métodos
30
• Implementação de Métodos
– Os métodos são os comportamentos das
classes.
– São blocos de códigos independentes que
podem ser executados sempre que “chamados”.
– Métodos podem alterar alguma propriedade da
classe ou mesmo executar outros métodos da
própria classe.
– São considerados as funções/procedimentos
da OO. 31
• Implementação de Métodos
– Algumas características dos métodos:
 Possuem modificadores de acesso
 Podem receber parâmetros (dados de entrada)
 Podem ou não retornar alguma informação
(dados de saída)
32
• Implementação de Métodos
33
public class Pessoa {
public String nome;
public double peso;
public double altura;
public void falar(){
System.out.println("Olá");
}
}
void: indica que o
método não
retorna nada.
• Implementação de Métodos
– Os métodos são executados também através do
sinal ponto (.)
34
Pessoa p1 = new Pessoa();
p1.falar(); // Imprime “Olá”
• Implementação de Métodos
35
public class Pessoa {
public String nome;
public double peso;
public double altura;
public String falar(){
String mensagem = "Olá";
return mensagem;
}
}
Indica que o
método deve
retornar uma
String
• Implementação de Métodos
– Como nesse caso o método retorna uma String,
é necessário uma variável para recebê-la.
36
Pessoa p1 = new Pessoa();
String retorno;
retorno = p1.falar(); // Atribui “Olá” à variável retorno
• Implementação de Métodos
37
public class Pessoa {
public String nome;
public double peso;
public double altura;
public void falar(String mensagem){
System.out.println(mensagem);
}
}
Parâmetro de
entrada
• Implementação de Métodos
– Quando um ou mais parâmetros de entrada são
definidos em um método, eles deverão ser
informados quando o método for executado.
38
Pessoa p1 = new Pessoa();
p1.falar(“Uma mensagem qualquer”);
String msg = “Outra mensagem”;
p1.falar(msg);
• Implementação de Métodos
39
public class Calcular{
public int somar(int num1, int num2){
return num1 + num2;
}
}
Indica que o
método deve
retornar um
int
Calcular c = new Calcular();
int resultado;
resultado = c.somar(12, 13);
• Implementação de Métodos
– Exercício:
2.Crie uma classe chamada “Matematica”. Nessa
classe, implemente os métodos “somar”,
“subtrair”, “multiplicar” e “dividir”. Cada um
desses métodos deverá receber 2 inteiros como
parâmetro e imprimir o respectivo resultado.
40
• Implementação de Métodos
– Exercício:
3.Crie uma classe chamada “CalculaArea”. Dentro
dessa classe, crie os atributos altura e largura do
tipo inteiro. Crie um método chamado
calcularArea que deverá retornar a área de um
local. (Área = largura * altura). Crie uma instância
da classe e faça simulações para testar o cálculo
de uma área. 41
• Implementação de Métodos
– Exercício:
4. Crie uma classe chamada Aluno. Essa classe deverá conter
os atributos nomeAluno, notaExercicio, notaTrabalho e
notaProva. A classe ainda deverá ter o método calculaMedia,
que deverá receber como parâmetro os pesos para exercício,
trabalho e prova (pe, pt e pp). A soma dos pesos deverá ser
igual a 1, caso contrário o método imprime uma mensagem
de erro. Recebendo esses parâmetros o método deverá
calcular e imprimir a média final do aluno.
42
• Leitura Complementar:
– http://www.caelum.com.br/apostila-java-orientacao-o
43

Mais conteúdo relacionado

Mais procurados

Aula 2 - POO: Fundamentos da linguagem Java
Aula 2 - POO: Fundamentos da linguagem JavaAula 2 - POO: Fundamentos da linguagem Java
Aula 2 - POO: Fundamentos da linguagem JavaDaniel Brandão
 
JAVA - ENCAPSULAMENTO
JAVA - ENCAPSULAMENTOJAVA - ENCAPSULAMENTO
JAVA - ENCAPSULAMENTOAndré Victor
 
POO - 01 - Introdução ao Paradigma Orientado a Objetos
POO - 01 - Introdução ao Paradigma Orientado a ObjetosPOO - 01 - Introdução ao Paradigma Orientado a Objetos
POO - 01 - Introdução ao Paradigma Orientado a ObjetosLudimila Monjardim Casagrande
 
Encapsulamento em Orientação a Objetos
Encapsulamento em Orientação a ObjetosEncapsulamento em Orientação a Objetos
Encapsulamento em Orientação a ObjetosDaniel Brandão
 
Introdução a poo
Introdução a pooIntrodução a poo
Introdução a pooSedu
 
Princípios de Programação Orientada a Objetos Solid, dry e kiss
Princípios de Programação Orientada a Objetos Solid, dry  e kiss Princípios de Programação Orientada a Objetos Solid, dry  e kiss
Princípios de Programação Orientada a Objetos Solid, dry e kiss DanielChristofolli
 
Introdução a linguagem C# (CSharp)
Introdução a linguagem C# (CSharp)Introdução a linguagem C# (CSharp)
Introdução a linguagem C# (CSharp)Marcos Castro
 
Aula1 e aula2 - Analise e Projeto de Sistemas
Aula1 e aula2 - Analise e Projeto de SistemasAula1 e aula2 - Analise e Projeto de Sistemas
Aula1 e aula2 - Analise e Projeto de SistemasGustavo Gonzalez
 
Banco de Dados - Sistemas de Gerenciamento de Banco de Dados
Banco de Dados - Sistemas de Gerenciamento de Banco de DadosBanco de Dados - Sistemas de Gerenciamento de Banco de Dados
Banco de Dados - Sistemas de Gerenciamento de Banco de DadosNatanael Simões
 
Padroes De Projeto
Padroes De ProjetoPadroes De Projeto
Padroes De Projetoejdn1
 
Java orientação a objetos (variaveis de instancia e metodos)
Java   orientação a objetos (variaveis de instancia e metodos)Java   orientação a objetos (variaveis de instancia e metodos)
Java orientação a objetos (variaveis de instancia e metodos)Armando Daniel
 
02 - Orientação a objetos e revisão de C# v1.5
02 - Orientação a objetos e revisão de C# v1.502 - Orientação a objetos e revisão de C# v1.5
02 - Orientação a objetos e revisão de C# v1.5César Augusto Pessôa
 

Mais procurados (20)

Aula 2 - POO: Fundamentos da linguagem Java
Aula 2 - POO: Fundamentos da linguagem JavaAula 2 - POO: Fundamentos da linguagem Java
Aula 2 - POO: Fundamentos da linguagem Java
 
JAVA - ENCAPSULAMENTO
JAVA - ENCAPSULAMENTOJAVA - ENCAPSULAMENTO
JAVA - ENCAPSULAMENTO
 
POO - Aula 1
POO - Aula 1POO - Aula 1
POO - Aula 1
 
POO - 01 - Introdução ao Paradigma Orientado a Objetos
POO - 01 - Introdução ao Paradigma Orientado a ObjetosPOO - 01 - Introdução ao Paradigma Orientado a Objetos
POO - 01 - Introdução ao Paradigma Orientado a Objetos
 
POO - 18 - Sobrecarga e Sobreposição de Métodos
POO - 18 - Sobrecarga e Sobreposição de MétodosPOO - 18 - Sobrecarga e Sobreposição de Métodos
POO - 18 - Sobrecarga e Sobreposição de Métodos
 
Encapsulamento em Orientação a Objetos
Encapsulamento em Orientação a ObjetosEncapsulamento em Orientação a Objetos
Encapsulamento em Orientação a Objetos
 
Programação Orientado a Objetos
Programação Orientado a ObjetosProgramação Orientado a Objetos
Programação Orientado a Objetos
 
Classes e Objectos JAVA
Classes e Objectos JAVAClasses e Objectos JAVA
Classes e Objectos JAVA
 
Introdução a poo
Introdução a pooIntrodução a poo
Introdução a poo
 
Princípios de Programação Orientada a Objetos Solid, dry e kiss
Princípios de Programação Orientada a Objetos Solid, dry  e kiss Princípios de Programação Orientada a Objetos Solid, dry  e kiss
Princípios de Programação Orientada a Objetos Solid, dry e kiss
 
Introdução a linguagem C# (CSharp)
Introdução a linguagem C# (CSharp)Introdução a linguagem C# (CSharp)
Introdução a linguagem C# (CSharp)
 
Aula1 e aula2 - Analise e Projeto de Sistemas
Aula1 e aula2 - Analise e Projeto de SistemasAula1 e aula2 - Analise e Projeto de Sistemas
Aula1 e aula2 - Analise e Projeto de Sistemas
 
Algoritmos 05 - Estruturas de repetição
Algoritmos 05 - Estruturas de repetiçãoAlgoritmos 05 - Estruturas de repetição
Algoritmos 05 - Estruturas de repetição
 
Linguagem C - Vetores
Linguagem C - VetoresLinguagem C - Vetores
Linguagem C - Vetores
 
Polimorfismo
PolimorfismoPolimorfismo
Polimorfismo
 
Banco de Dados - Sistemas de Gerenciamento de Banco de Dados
Banco de Dados - Sistemas de Gerenciamento de Banco de DadosBanco de Dados - Sistemas de Gerenciamento de Banco de Dados
Banco de Dados - Sistemas de Gerenciamento de Banco de Dados
 
Padroes De Projeto
Padroes De ProjetoPadroes De Projeto
Padroes De Projeto
 
Java orientação a objetos (variaveis de instancia e metodos)
Java   orientação a objetos (variaveis de instancia e metodos)Java   orientação a objetos (variaveis de instancia e metodos)
Java orientação a objetos (variaveis de instancia e metodos)
 
02 - Orientação a objetos e revisão de C# v1.5
02 - Orientação a objetos e revisão de C# v1.502 - Orientação a objetos e revisão de C# v1.5
02 - Orientação a objetos e revisão de C# v1.5
 
Programando com Python
Programando com PythonProgramando com Python
Programando com Python
 

Destaque

Programação Orientada a Objetos parte 3
Programação Orientada a Objetos parte 3Programação Orientada a Objetos parte 3
Programação Orientada a Objetos parte 3Elaine Cecília Gatto
 
Programação Orientada a Objetos parte 2
Programação Orientada a Objetos parte 2Programação Orientada a Objetos parte 2
Programação Orientada a Objetos parte 2Elaine Cecília Gatto
 
Conceitos e arquitetura do sistema de banco de dados
Conceitos e arquitetura do sistema de banco de dadosConceitos e arquitetura do sistema de banco de dados
Conceitos e arquitetura do sistema de banco de dadosElaine Cecília Gatto
 
Aula 01 - Os pontos de orientação (Sistema Anglo)
Aula 01 - Os pontos de orientação (Sistema Anglo)Aula 01 - Os pontos de orientação (Sistema Anglo)
Aula 01 - Os pontos de orientação (Sistema Anglo)Claudio Henrique Ramos Sales
 
Pitagoras - Introdução a Programação Orientada a Objetos - Revisão Final
Pitagoras - Introdução a Programação Orientada a Objetos - Revisão FinalPitagoras - Introdução a Programação Orientada a Objetos - Revisão Final
Pitagoras - Introdução a Programação Orientada a Objetos - Revisão FinalCharles Fortes
 
Pitagoras - Introdução a Programação Orientada a Objetos - Encapsulamento, Ac...
Pitagoras - Introdução a Programação Orientada a Objetos - Encapsulamento, Ac...Pitagoras - Introdução a Programação Orientada a Objetos - Encapsulamento, Ac...
Pitagoras - Introdução a Programação Orientada a Objetos - Encapsulamento, Ac...Charles Fortes
 
Orientação e coordenadas geográficas
Orientação e coordenadas geográficasOrientação e coordenadas geográficas
Orientação e coordenadas geográficasProfessor
 
Orientação no espaço geográfico 6º ano
Orientação no espaço geográfico 6º anoOrientação no espaço geográfico 6º ano
Orientação no espaço geográfico 6º anoNilberte Correia
 

Destaque (12)

Programação Orientada a Objetos parte 3
Programação Orientada a Objetos parte 3Programação Orientada a Objetos parte 3
Programação Orientada a Objetos parte 3
 
TUTORIAL JAVA
TUTORIAL JAVATUTORIAL JAVA
TUTORIAL JAVA
 
POO - Aula 1 introducao
POO - Aula 1   introducaoPOO - Aula 1   introducao
POO - Aula 1 introducao
 
Programação Orientada a Objetos parte 2
Programação Orientada a Objetos parte 2Programação Orientada a Objetos parte 2
Programação Orientada a Objetos parte 2
 
Conceitos e arquitetura do sistema de banco de dados
Conceitos e arquitetura do sistema de banco de dadosConceitos e arquitetura do sistema de banco de dados
Conceitos e arquitetura do sistema de banco de dados
 
Aula01 - POO
Aula01 - POOAula01 - POO
Aula01 - POO
 
Aula 01 - Os pontos de orientação (Sistema Anglo)
Aula 01 - Os pontos de orientação (Sistema Anglo)Aula 01 - Os pontos de orientação (Sistema Anglo)
Aula 01 - Os pontos de orientação (Sistema Anglo)
 
Pitagoras - Introdução a Programação Orientada a Objetos - Revisão Final
Pitagoras - Introdução a Programação Orientada a Objetos - Revisão FinalPitagoras - Introdução a Programação Orientada a Objetos - Revisão Final
Pitagoras - Introdução a Programação Orientada a Objetos - Revisão Final
 
Pitagoras - Introdução a Programação Orientada a Objetos - Encapsulamento, Ac...
Pitagoras - Introdução a Programação Orientada a Objetos - Encapsulamento, Ac...Pitagoras - Introdução a Programação Orientada a Objetos - Encapsulamento, Ac...
Pitagoras - Introdução a Programação Orientada a Objetos - Encapsulamento, Ac...
 
Pontos Cardeais
Pontos CardeaisPontos Cardeais
Pontos Cardeais
 
Orientação e coordenadas geográficas
Orientação e coordenadas geográficasOrientação e coordenadas geográficas
Orientação e coordenadas geográficas
 
Orientação no espaço geográfico 6º ano
Orientação no espaço geográfico 6º anoOrientação no espaço geográfico 6º ano
Orientação no espaço geográfico 6º ano
 

Semelhante a Aula 3 introducao a orientação a objetos

Semelhante a Aula 3 introducao a orientação a objetos (20)

Programação Orientada a Objetos - Uso da O.O. em Java
Programação Orientada a Objetos - Uso da O.O. em JavaProgramação Orientada a Objetos - Uso da O.O. em Java
Programação Orientada a Objetos - Uso da O.O. em Java
 
Aula3-POO-ConceitosBasicos.pdf
Aula3-POO-ConceitosBasicos.pdfAula3-POO-ConceitosBasicos.pdf
Aula3-POO-ConceitosBasicos.pdf
 
Poo
PooPoo
Poo
 
JAVA - Orientação a Objetos
JAVA - Orientação a ObjetosJAVA - Orientação a Objetos
JAVA - Orientação a Objetos
 
POO - Aula 003
POO - Aula 003POO - Aula 003
POO - Aula 003
 
Java - Visão geral e Exercícios
Java - Visão geral e ExercíciosJava - Visão geral e Exercícios
Java - Visão geral e Exercícios
 
Desenvolvimento em .Net - Programaçao Orientada a Objectos
Desenvolvimento em .Net - Programaçao Orientada a ObjectosDesenvolvimento em .Net - Programaçao Orientada a Objectos
Desenvolvimento em .Net - Programaçao Orientada a Objectos
 
Programação C - Aula 1
Programação C - Aula 1Programação C - Aula 1
Programação C - Aula 1
 
02_revisao_OO.pdf
02_revisao_OO.pdf02_revisao_OO.pdf
02_revisao_OO.pdf
 
Aula 1 - Linguagem III
Aula 1 - Linguagem IIIAula 1 - Linguagem III
Aula 1 - Linguagem III
 
Orientação a Objetos - Conceitos
Orientação a Objetos - ConceitosOrientação a Objetos - Conceitos
Orientação a Objetos - Conceitos
 
Java Básico :: Orientação a objetos
Java Básico :: Orientação a objetosJava Básico :: Orientação a objetos
Java Básico :: Orientação a objetos
 
AULA 1 - Classes e Objetos.ppt
AULA 1 - Classes e Objetos.pptAULA 1 - Classes e Objetos.ppt
AULA 1 - Classes e Objetos.ppt
 
Java7
Java7Java7
Java7
 
Desenvolvimento Web com PHP - Aula 3
Desenvolvimento Web com PHP - Aula 3Desenvolvimento Web com PHP - Aula 3
Desenvolvimento Web com PHP - Aula 3
 
10 - JS OOP.pptx
10 - JS OOP.pptx10 - JS OOP.pptx
10 - JS OOP.pptx
 
Programação OO - Java
Programação OO - JavaProgramação OO - Java
Programação OO - Java
 
Classes objetos
Classes objetosClasses objetos
Classes objetos
 
Curso Java Básico - Aula02
Curso Java Básico - Aula02Curso Java Básico - Aula02
Curso Java Básico - Aula02
 
Curso de PHP - Objetos
Curso de PHP - ObjetosCurso de PHP - Objetos
Curso de PHP - Objetos
 

Mais de Rafael Pinheiro

CodeIgniter 4 - Introdução
CodeIgniter 4 - IntroduçãoCodeIgniter 4 - Introdução
CodeIgniter 4 - IntroduçãoRafael Pinheiro
 
Code Igniter - O Framework php mais fácil e ágil
Code Igniter - O Framework php mais fácil e ágilCode Igniter - O Framework php mais fácil e ágil
Code Igniter - O Framework php mais fácil e ágilRafael Pinheiro
 
Aula 2 conversao de variaveis j option-pane
Aula 2   conversao de variaveis j option-paneAula 2   conversao de variaveis j option-pane
Aula 2 conversao de variaveis j option-paneRafael Pinheiro
 
Conheça mais o SlideShare
Conheça mais o SlideShareConheça mais o SlideShare
Conheça mais o SlideShareRafael Pinheiro
 
ProgramaçãO Em Camadas E O Foco Em Desenvolvimento
ProgramaçãO Em Camadas E O Foco Em DesenvolvimentoProgramaçãO Em Camadas E O Foco Em Desenvolvimento
ProgramaçãO Em Camadas E O Foco Em DesenvolvimentoRafael Pinheiro
 
Mini Curso Banco De Dados – Unicerp
Mini Curso Banco De Dados – UnicerpMini Curso Banco De Dados – Unicerp
Mini Curso Banco De Dados – UnicerpRafael Pinheiro
 

Mais de Rafael Pinheiro (10)

CodeIgniter 4 - Introdução
CodeIgniter 4 - IntroduçãoCodeIgniter 4 - Introdução
CodeIgniter 4 - Introdução
 
Code Igniter - O Framework php mais fácil e ágil
Code Igniter - O Framework php mais fácil e ágilCode Igniter - O Framework php mais fácil e ágil
Code Igniter - O Framework php mais fácil e ágil
 
Aula 2 conversao de variaveis j option-pane
Aula 2   conversao de variaveis j option-paneAula 2   conversao de variaveis j option-pane
Aula 2 conversao de variaveis j option-pane
 
Conheça mais o SlideShare
Conheça mais o SlideShareConheça mais o SlideShare
Conheça mais o SlideShare
 
Mini Curso Wordpress
Mini Curso WordpressMini Curso Wordpress
Mini Curso Wordpress
 
Metodologia SCRUM
Metodologia SCRUMMetodologia SCRUM
Metodologia SCRUM
 
PHP - Arrays
PHP - ArraysPHP - Arrays
PHP - Arrays
 
ProgramaçãO Em Camadas E O Foco Em Desenvolvimento
ProgramaçãO Em Camadas E O Foco Em DesenvolvimentoProgramaçãO Em Camadas E O Foco Em Desenvolvimento
ProgramaçãO Em Camadas E O Foco Em Desenvolvimento
 
Mini Curso Banco De Dados – Unicerp
Mini Curso Banco De Dados – UnicerpMini Curso Banco De Dados – Unicerp
Mini Curso Banco De Dados – Unicerp
 
Integridade De Dados
Integridade De DadosIntegridade De Dados
Integridade De Dados
 

Aula 3 introducao a orientação a objetos

  • 1. Programação Orientada a Objetos Aula 3 Curso: Análise e Desenvolvimento de Sistemas Professor: Rafael Wendel Pinheiro
  • 2. • Roteiro da Aula – Introdução aos conceitos de orientação à objetos (OO) – Implementação – Modificadores de Visibilidade – Instâncias (Objetos) – Implementação de métodos – Exercícios 2
  • 4. • Introdução a POO – Antes... – As primeiras linguagens de programação para computadores trabalhavam sobre um paradigma estruturado. – Esse paradigma era pouco funcional e metodológico. – Dificulta a organização do código. – Quanto maior o software, mais difícil a manutenção. 4
  • 5. • Introdução a POO – Programação Orientada à Objetos – Um paradigma de programação de sistemas focado em reusabilidade. – Tenta aproximar o mundo real do mundo virtual (através da utilização de objetos). – Os objetos podem ser concretos e abstratos. – Os objetos definidos dentro de um software podem “conversar” (interagir) entre si. 5
  • 6. • Introdução a POO 6 Pessoa Computador Cachorro Venda Funcionário Formulario Objetos do Mundo real Objetos do Software
  • 7. • Introdução a POO – Os objetos possuem propriedades (atributos) 7 Pessoa Nome Altura Peso Computador Marca Tipo Potencia Venda Data Valor Status Funcionário Nome Cargo Salário
  • 8. • Introdução a POO – Os objetos possuem comportamentos (métodos) 8 Pessoa Andar Falar Comer Computador Ligar Desligar Abrir Programa Venda Concluir Venda Cancelar Venda Calcular Valor Total Funcionário Salvar Funcionário Editar Funcionário Excluir Funcionário
  • 9. • Introdução à POO – Classes • É uma abstração que define o molde de uma classe de objetos. • Agrupam uma classe de objetos que compartilham de uma mesma série de atributos e métodos. • Os objetos de uma classe respeitam suas implementações. 9
  • 10. • Introdução à POO – Classe “Cadeira” • Objetos da classe “Cadeira” 10
  • 11. • Introdução à POO – Classes: Atributos • Os atributos são as propriedades que os objetos compartilham. • Possuem tipos de dados (String, int, double, boolean, etc.) • Funcionam como variáveis. – Classes: Métodos • Os métodos são os comportamentos que os objetos executam. • Podem ou não retornar alguma informação 11
  • 12. • Introdução à POO – Imagine a classe Pessoa. 12 • Atributos – Nome – Peso – Altura • Métodos – Falar – Andar – Comer
  • 13. • Introdução à POO – Exercício 1: • Defina pelo menos 5 atributos para as classes à seguir: 1.Cliente 2.Venda 3.Produto 4.Aluno 5.Curso 13
  • 14. • Introdução à POO – Objetos • Objetos são considerados instâncias das classes. • Enquanto as classes são generalizadas, os objetos são algo específico, mas que respeitam a estrutura de uma classe. • Podem existir vários objetos/instâncias de uma mesma classe, mas cada um é independente. 14
  • 15. • Introdução à POO – Objetos: Para entender melhor... 15 Classe Pessoa – Nome – Peso – Altura Objeto1 – João – 85 – 1.90 Objeto2 – Maria – 63 – 1.75 Objetos
  • 17. • Implementação – Em um projeto Java, cada classe deve corresponder à um arquivo de códigos-fonte. – Para declarar uma classe: 17 public class Pessoa { } As chaves delimitam o início e o fim da classe.
  • 18. • Implementação – Atributos: Para se criar os atributos de uma classe, deve-se respeitar a estrutura: tipo de dado => nome do atributo. 18 public class Pessoa { String nome; double peso; double altura; }
  • 20. • Modificadores de Visibilidade – Os atributos e métodos de uma classe possuem modificadores de visibilidade quanto ao seus acessos. – Isso possibilita a restrição de acesso às características ou comportamentos. – Os modificadores possibilitam a utilização de um dos principais conceitos de OO. O encapsulamento. 20
  • 21. • Modificadores de Visibilidade – Existem 3 modificadores de visibilidade:  + public: pode ser acessado dentro e fora da classe.  # protected: pode ser acessado por classes da mesma família  - private: pode ser acessado apenas dentro da classe. 21
  • 22. • Modificadores de Visibilidade – O modificador deve ser informado antes da declaração do atributo ou método. 22 public class Pessoa { public String nome; public double peso; public double altura; }
  • 23. • Modificadores de Visibilidade – Na prática!!! 23
  • 25. • Instâncias (Objetos) – Como já abordado, os objetos são as instâncias de uma classe. – Eles são representações físicas das classes e que obedecem suas implementações. – Os objetos podem acessar os atributos e executar os métodos públicos da classe a qual pertencem. – Os objetos funcionam como “variáveis” e portanto devem possuir nome. 25
  • 26. • Instâncias (Objetos) 26 public class Pessoa { public String nome; public double peso; public double altura; } Pessoa p1 = new Pessoa(); p1.nome = “João”; p1.peso = 85; p1.altura = 1.9; p1 é um objeto do tipo “Pessoa”. Classe Para acessar uma propriedade/método da classe, utilize o sinal ponto (.)
  • 27. • Instâncias (Objetos) 27 Pessoa p1 = new Pessoa(); p1.nome = “João”; p1.peso = 85; p1.altura = 1.9; Pessoa p2 = new Pessoa(); p2.nome = “Ana”; p2.peso = 60; p2.altura = 1.75; p1 e p2 são instâncias de uma mesma classe (Pessoa), mas ambos são independentes entre si.
  • 28. • Instâncias (Objetos) – Na prática!!! 28
  • 29. • Instâncias (Objetos) – Exercício: 1.Crie a classe Carro com os atributos públicos marca, modelo, combustível, portas e capacidade_tanque. Depois crie 5 instâncias da classe Carro e defina valores para cada um dos atributos. 29
  • 31. • Implementação de Métodos – Os métodos são os comportamentos das classes. – São blocos de códigos independentes que podem ser executados sempre que “chamados”. – Métodos podem alterar alguma propriedade da classe ou mesmo executar outros métodos da própria classe. – São considerados as funções/procedimentos da OO. 31
  • 32. • Implementação de Métodos – Algumas características dos métodos:  Possuem modificadores de acesso  Podem receber parâmetros (dados de entrada)  Podem ou não retornar alguma informação (dados de saída) 32
  • 33. • Implementação de Métodos 33 public class Pessoa { public String nome; public double peso; public double altura; public void falar(){ System.out.println("Olá"); } } void: indica que o método não retorna nada.
  • 34. • Implementação de Métodos – Os métodos são executados também através do sinal ponto (.) 34 Pessoa p1 = new Pessoa(); p1.falar(); // Imprime “Olá”
  • 35. • Implementação de Métodos 35 public class Pessoa { public String nome; public double peso; public double altura; public String falar(){ String mensagem = "Olá"; return mensagem; } } Indica que o método deve retornar uma String
  • 36. • Implementação de Métodos – Como nesse caso o método retorna uma String, é necessário uma variável para recebê-la. 36 Pessoa p1 = new Pessoa(); String retorno; retorno = p1.falar(); // Atribui “Olá” à variável retorno
  • 37. • Implementação de Métodos 37 public class Pessoa { public String nome; public double peso; public double altura; public void falar(String mensagem){ System.out.println(mensagem); } } Parâmetro de entrada
  • 38. • Implementação de Métodos – Quando um ou mais parâmetros de entrada são definidos em um método, eles deverão ser informados quando o método for executado. 38 Pessoa p1 = new Pessoa(); p1.falar(“Uma mensagem qualquer”); String msg = “Outra mensagem”; p1.falar(msg);
  • 39. • Implementação de Métodos 39 public class Calcular{ public int somar(int num1, int num2){ return num1 + num2; } } Indica que o método deve retornar um int Calcular c = new Calcular(); int resultado; resultado = c.somar(12, 13);
  • 40. • Implementação de Métodos – Exercício: 2.Crie uma classe chamada “Matematica”. Nessa classe, implemente os métodos “somar”, “subtrair”, “multiplicar” e “dividir”. Cada um desses métodos deverá receber 2 inteiros como parâmetro e imprimir o respectivo resultado. 40
  • 41. • Implementação de Métodos – Exercício: 3.Crie uma classe chamada “CalculaArea”. Dentro dessa classe, crie os atributos altura e largura do tipo inteiro. Crie um método chamado calcularArea que deverá retornar a área de um local. (Área = largura * altura). Crie uma instância da classe e faça simulações para testar o cálculo de uma área. 41
  • 42. • Implementação de Métodos – Exercício: 4. Crie uma classe chamada Aluno. Essa classe deverá conter os atributos nomeAluno, notaExercicio, notaTrabalho e notaProva. A classe ainda deverá ter o método calculaMedia, que deverá receber como parâmetro os pesos para exercício, trabalho e prova (pe, pt e pp). A soma dos pesos deverá ser igual a 1, caso contrário o método imprime uma mensagem de erro. Recebendo esses parâmetros o método deverá calcular e imprimir a média final do aluno. 42
  • 43. • Leitura Complementar: – http://www.caelum.com.br/apostila-java-orientacao-o 43