SlideShare uma empresa Scribd logo
1 de 25
Baixar para ler offline
Informática
Conteúdo 04:
Orientação a Objetos
Professor: Diego Oliveira
Conteúdo da Aula
• Introdução à Programação Orientada a Objetos
• Linguagem Java
• Classes
• Objetos
• Atributos
• Métodos e Construtores
• Parâmetros
• Visibilidade e Encapsulamento
• Herança e Polimorfismo
• Interfaces 2
O que é Programação
Orientada a Objetos?
• É um paradigma de programação
• Baseia-se em objetos
• É um dos paradigmas mais utilizados
• Possui diversas linguagens que o usam:
– Java
– C++
– Object Pascal
– Python
– VB.NET 3
Orientação a Objetos
• A Orientação a Objetos se baseia em
alguns princípios:
– Abstração
– Encapsulamento
– Composição
– Herança
– Polimorfismo
4
Linguagem Java
• Linguagem de Programação mais utilizada
• Orientada a Objetos
• Multiplataforma
• Possui Várias Versões
– Java Card
– Java ME
– Java SE
– Java EE
– Java TV
– Java FX 5
Classe
• A Classe é o molde, a planta, o esquema,
o modelo a ser seguido pelos objetos
• A planta da casa é o modelo que as casas
construídas terão
• Porém não é possível morar na planta da
casa, apenas na casa já construída
• A Classe define as características da casa
e as funções que ela terá: parte elétrica,
hidráulica, saneamento e etc.
6
Classe
7
Objeto
• Objetos são utilizados para representar
conceitos do mundo real
• Objetos seguem fielmente as especificações
de suas Classes
• Os Objetos são instâncias concretas das
Classes
• As casas são instâncias concretas das
plantas que lhes deram origem
8
Objeto
9
• Definem o estado de uma classe
• Pessoa tem:
– Nome (texto)
– Idade (inteiro)
– Peso (real)
– Altura (real)
– Profissão (texto)
Atributos Existentes
na Classe Pessoa
10
Valores dos Atributos
no Objeto
• Objeto Diego:
– Nome: Diego Oliveira
– Idade: 27
– Peso: 70.0
– Altura: 1.70
– Profissão: Professor
11
Atributos da Classe Pessoa
e Objeto ‘Diego’ em Java
12
Métodos
• Definem o comportamento de uma classe
• Podem ser utilizados para:
– realizar algum trabalho dentro da classe
– modificar o valor de algum atributo
– resgatar o valor de um atributo
– ativar ações em outros objetos
– enviar dados pela rede
– iniciar eventos de interface gráfica
– iniciar sons
– outras ações 13
Exemplo de
Métodos em Java
14
Parâmetros
• Parâmetros são utilizados para passar
valores para métodos
• São utilizados em casos em que o método
precisa de um valor externo para realizar
o seu trabalho
• Os parâmetros são passados entre
parênteses logo após o nome do método
• Cada parâmetro tem um nome e um tipo
15
Exemplo de
Parâmetros em Java
16
Visibilidade
• Definem quem pode visualizar atributos e
métodos
• Modificadores de visibilidade do Java:
– public
– private
– protected
– “default”
17
Exemplos de
Visibilidade em Java
18
Encapsulamento
• Depende diretamente da Visibilidade
• Métodos Java para trabalhar com
encapsulamento de dados:
– setAtributo(parâmetros)
– getAtributo()
• O encapsulamento garante maior segurança
aos programas
• Encapsular dados é uma boa prática de
programação e deve ser seguida
19
Exemplos de
Encapsulamento em Java
20
Herança
• A Herança é utilizada para o
reaproveitamento de código em Java
• Uma classe herda de outra seus atributos e
métodos, dependendo da visibilidade
• É uma boa prática de programação utilizar
Herança para reduzir a replicação de código
• A Herança também ajuda na representação
dos objetos e seus relacionamentos dentro
do programa, de acordo com as
necessidades 21
Herança
• Na figura ao lado temos a
classe-mãe Mamíferos, que
possui como classes filhas
Homem, Cão e Gato
• Cada classe possui seus
métodos de comunicação:
Falar(), Latir() e Miar()
• Todos possuem os atributos
nome, idade, mamas e cor
dos olhos 22
Polimorfismo
• O Polimorfismo está
diretamente relacionado
com a Herança
• Um método chamado em
diferentes pontos da linha
de Herança pode resultar
em comportamentos
diferentes
23
Indicações
24
• https://www.eclipse.org/downloads/
• https://netbeans.org/downloads/
• http://astah.net/download
• http://www.bluej.org/
• http://www.jcreator.com/
• http://www.oracle.com/technetwork/pt/java
/javase/downloads/index.html?ssSourceSit
eId=otnes
Perguntas?
25

Mais conteúdo relacionado

Semelhante a Orientação a Objetos em Java em

Slide Aula - Curso CakePHP
Slide Aula - Curso CakePHPSlide Aula - Curso CakePHP
Slide Aula - Curso CakePHPRangel Javier
 
PHP 5.3 - Classes e Objetos
PHP 5.3 - Classes e ObjetosPHP 5.3 - Classes e Objetos
PHP 5.3 - Classes e ObjetosGeorge Mendonça
 
Uma Abordagem Prática de Orientação a Objetos com PHP (FLISOL DF 2011)
Uma Abordagem Prática de Orientação a Objetos com PHP (FLISOL DF 2011)Uma Abordagem Prática de Orientação a Objetos com PHP (FLISOL DF 2011)
Uma Abordagem Prática de Orientação a Objetos com PHP (FLISOL DF 2011)George Mendonça
 
Programação C - Aula 1
Programação C - Aula 1Programação C - Aula 1
Programação C - Aula 1Filipo Mór
 
Banco de dados orientados a objetos
Banco de dados orientados a objetos Banco de dados orientados a objetos
Banco de dados orientados a objetos Raquel Machado
 
Programação orientada a objetos
Programação orientada a objetosProgramação orientada a objetos
Programação orientada a objetosCleyton Ferrari
 
Programação Orientada a Objetos parte 1
Programação Orientada a Objetos parte 1Programação Orientada a Objetos parte 1
Programação Orientada a Objetos parte 1Elaine Cecília Gatto
 
Três anos de Scala no NewsMonitor
Três anos de Scala no NewsMonitorTrês anos de Scala no NewsMonitor
Três anos de Scala no NewsMonitorFelipe Hummel
 
Metodologia e Linguagem de Programação - Aula 1
Metodologia e Linguagem de Programação - Aula 1Metodologia e Linguagem de Programação - Aula 1
Metodologia e Linguagem de Programação - Aula 1Thyago Maia
 
Banco de Dados em Grafos com Neo4J
Banco de Dados em Grafos com Neo4J  Banco de Dados em Grafos com Neo4J
Banco de Dados em Grafos com Neo4J Daniel San Martin
 
[NetPonto] Entity Framework 4 Code-First
[NetPonto] Entity Framework 4 Code-First[NetPonto] Entity Framework 4 Code-First
[NetPonto] Entity Framework 4 Code-FirstVitor Tomaz
 
Python x R: mas e o Weka?
Python x R: mas e o Weka? Python x R: mas e o Weka?
Python x R: mas e o Weka? pichiliani
 
TDC2016SP - Python x R: mas e o Weka?
TDC2016SP - Python x R: mas e o Weka?TDC2016SP - Python x R: mas e o Weka?
TDC2016SP - Python x R: mas e o Weka?tdc-globalcode
 
Desenvolvimento Web com PHP - Aula 1
Desenvolvimento Web com PHP - Aula 1Desenvolvimento Web com PHP - Aula 1
Desenvolvimento Web com PHP - Aula 1Thyago Maia
 
Apresentação Banco de Dados - Caché
Apresentação Banco de Dados - CachéApresentação Banco de Dados - Caché
Apresentação Banco de Dados - CachéRenzo Petri
 
Planode Aula
Planode AulaPlanode Aula
Planode Aulasofteam
 

Semelhante a Orientação a Objetos em Java em (20)

Slide Aula - Curso CakePHP
Slide Aula - Curso CakePHPSlide Aula - Curso CakePHP
Slide Aula - Curso CakePHP
 
PHP 5.3 - Classes e Objetos
PHP 5.3 - Classes e ObjetosPHP 5.3 - Classes e Objetos
PHP 5.3 - Classes e Objetos
 
Uma Abordagem Prática de Orientação a Objetos com PHP (FLISOL DF 2011)
Uma Abordagem Prática de Orientação a Objetos com PHP (FLISOL DF 2011)Uma Abordagem Prática de Orientação a Objetos com PHP (FLISOL DF 2011)
Uma Abordagem Prática de Orientação a Objetos com PHP (FLISOL DF 2011)
 
Programação C - Aula 1
Programação C - Aula 1Programação C - Aula 1
Programação C - Aula 1
 
00 apresentacao
00   apresentacao00   apresentacao
00 apresentacao
 
JAVA - Orientação a Objetos
JAVA - Orientação a ObjetosJAVA - Orientação a Objetos
JAVA - Orientação a Objetos
 
Banco de dados orientados a objetos
Banco de dados orientados a objetos Banco de dados orientados a objetos
Banco de dados orientados a objetos
 
Programação orientada a objetos
Programação orientada a objetosProgramação orientada a objetos
Programação orientada a objetos
 
POO Plano de Curso
POO Plano de CursoPOO Plano de Curso
POO Plano de Curso
 
Programação Orientada a Objetos parte 1
Programação Orientada a Objetos parte 1Programação Orientada a Objetos parte 1
Programação Orientada a Objetos parte 1
 
Três anos de Scala no NewsMonitor
Três anos de Scala no NewsMonitorTrês anos de Scala no NewsMonitor
Três anos de Scala no NewsMonitor
 
Metodologia e Linguagem de Programação - Aula 1
Metodologia e Linguagem de Programação - Aula 1Metodologia e Linguagem de Programação - Aula 1
Metodologia e Linguagem de Programação - Aula 1
 
Banco de Dados em Grafos com Neo4J
Banco de Dados em Grafos com Neo4J  Banco de Dados em Grafos com Neo4J
Banco de Dados em Grafos com Neo4J
 
Entity Framework 4 Code-First
Entity Framework 4 Code-FirstEntity Framework 4 Code-First
Entity Framework 4 Code-First
 
[NetPonto] Entity Framework 4 Code-First
[NetPonto] Entity Framework 4 Code-First[NetPonto] Entity Framework 4 Code-First
[NetPonto] Entity Framework 4 Code-First
 
Python x R: mas e o Weka?
Python x R: mas e o Weka? Python x R: mas e o Weka?
Python x R: mas e o Weka?
 
TDC2016SP - Python x R: mas e o Weka?
TDC2016SP - Python x R: mas e o Weka?TDC2016SP - Python x R: mas e o Weka?
TDC2016SP - Python x R: mas e o Weka?
 
Desenvolvimento Web com PHP - Aula 1
Desenvolvimento Web com PHP - Aula 1Desenvolvimento Web com PHP - Aula 1
Desenvolvimento Web com PHP - Aula 1
 
Apresentação Banco de Dados - Caché
Apresentação Banco de Dados - CachéApresentação Banco de Dados - Caché
Apresentação Banco de Dados - Caché
 
Planode Aula
Planode AulaPlanode Aula
Planode Aula
 

Mais de Jadna Almeida

Introdução Segurança e Auditoria.pptx
Introdução Segurança e Auditoria.pptxIntrodução Segurança e Auditoria.pptx
Introdução Segurança e Auditoria.pptxJadna Almeida
 
Tópicos em Sistemas de Informação e Web I.pptx
Tópicos em Sistemas de Informação e Web I.pptxTópicos em Sistemas de Informação e Web I.pptx
Tópicos em Sistemas de Informação e Web I.pptxJadna Almeida
 
Aula 02- Projeto de Interfaces.ppt
Aula 02- Projeto de Interfaces.pptAula 02- Projeto de Interfaces.ppt
Aula 02- Projeto de Interfaces.pptJadna Almeida
 
Aula03_04_ModelosProcessos.pdf
Aula03_04_ModelosProcessos.pdfAula03_04_ModelosProcessos.pdf
Aula03_04_ModelosProcessos.pdfJadna Almeida
 
2019_Aula 1 - Introdução à Engenharia de Software.pdf
2019_Aula 1 - Introdução à Engenharia de Software.pdf2019_Aula 1 - Introdução à Engenharia de Software.pdf
2019_Aula 1 - Introdução à Engenharia de Software.pdfJadna Almeida
 
Aula 01 e 02 - Engenharia de Software.pdf
Aula 01 e 02 - Engenharia de Software.pdfAula 01 e 02 - Engenharia de Software.pdf
Aula 01 e 02 - Engenharia de Software.pdfJadna Almeida
 
Aula 08LingProgrMauricio.pdf
Aula 08LingProgrMauricio.pdfAula 08LingProgrMauricio.pdf
Aula 08LingProgrMauricio.pdfJadna Almeida
 
Slides 02 - Orientacao a Objetos.pdf
Slides 02 - Orientacao a Objetos.pdfSlides 02 - Orientacao a Objetos.pdf
Slides 02 - Orientacao a Objetos.pdfJadna Almeida
 
Slides 04 - A Linguagem Java.pdf
Slides 04 - A Linguagem Java.pdfSlides 04 - A Linguagem Java.pdf
Slides 04 - A Linguagem Java.pdfJadna Almeida
 
Aula 2 - Introducao e Algoritmos.ppt
Aula 2 - Introducao e Algoritmos.pptAula 2 - Introducao e Algoritmos.ppt
Aula 2 - Introducao e Algoritmos.pptJadna Almeida
 
A04_Orientacao a Objetos 02.pdf
A04_Orientacao a Objetos 02.pdfA04_Orientacao a Objetos 02.pdf
A04_Orientacao a Objetos 02.pdfJadna Almeida
 
linguagens_de_programacao.ppt
linguagens_de_programacao.pptlinguagens_de_programacao.ppt
linguagens_de_programacao.pptJadna Almeida
 
Aula 2 - Introducao a Algoritmo.pptx
Aula 2 - Introducao a Algoritmo.pptxAula 2 - Introducao a Algoritmo.pptx
Aula 2 - Introducao a Algoritmo.pptxJadna Almeida
 
COMP6411.1.history.ppt
COMP6411.1.history.pptCOMP6411.1.history.ppt
COMP6411.1.history.pptJadna Almeida
 

Mais de Jadna Almeida (20)

Introdução Segurança e Auditoria.pptx
Introdução Segurança e Auditoria.pptxIntrodução Segurança e Auditoria.pptx
Introdução Segurança e Auditoria.pptx
 
Tópicos em Sistemas de Informação e Web I.pptx
Tópicos em Sistemas de Informação e Web I.pptxTópicos em Sistemas de Informação e Web I.pptx
Tópicos em Sistemas de Informação e Web I.pptx
 
PadroesGRASP.ppt
PadroesGRASP.pptPadroesGRASP.ppt
PadroesGRASP.ppt
 
lect22.ppt
lect22.pptlect22.ppt
lect22.ppt
 
Aula 02- Projeto de Interfaces.ppt
Aula 02- Projeto de Interfaces.pptAula 02- Projeto de Interfaces.ppt
Aula 02- Projeto de Interfaces.ppt
 
Aula03_04_ModelosProcessos.pdf
Aula03_04_ModelosProcessos.pdfAula03_04_ModelosProcessos.pdf
Aula03_04_ModelosProcessos.pdf
 
2019_Aula 1 - Introdução à Engenharia de Software.pdf
2019_Aula 1 - Introdução à Engenharia de Software.pdf2019_Aula 1 - Introdução à Engenharia de Software.pdf
2019_Aula 1 - Introdução à Engenharia de Software.pdf
 
Aula 01 e 02 - Engenharia de Software.pdf
Aula 01 e 02 - Engenharia de Software.pdfAula 01 e 02 - Engenharia de Software.pdf
Aula 01 e 02 - Engenharia de Software.pdf
 
Aula 08LingProgrMauricio.pdf
Aula 08LingProgrMauricio.pdfAula 08LingProgrMauricio.pdf
Aula 08LingProgrMauricio.pdf
 
Slides 02 - Orientacao a Objetos.pdf
Slides 02 - Orientacao a Objetos.pdfSlides 02 - Orientacao a Objetos.pdf
Slides 02 - Orientacao a Objetos.pdf
 
Slides 04 - A Linguagem Java.pdf
Slides 04 - A Linguagem Java.pdfSlides 04 - A Linguagem Java.pdf
Slides 04 - A Linguagem Java.pdf
 
poo-aula01.pdf
poo-aula01.pdfpoo-aula01.pdf
poo-aula01.pdf
 
Aula 2 - Introducao e Algoritmos.ppt
Aula 2 - Introducao e Algoritmos.pptAula 2 - Introducao e Algoritmos.ppt
Aula 2 - Introducao e Algoritmos.ppt
 
A04_Orientacao a Objetos 02.pdf
A04_Orientacao a Objetos 02.pdfA04_Orientacao a Objetos 02.pdf
A04_Orientacao a Objetos 02.pdf
 
linguagens_de_programacao.ppt
linguagens_de_programacao.pptlinguagens_de_programacao.ppt
linguagens_de_programacao.ppt
 
Aula 2 - Introducao a Algoritmo.pptx
Aula 2 - Introducao a Algoritmo.pptxAula 2 - Introducao a Algoritmo.pptx
Aula 2 - Introducao a Algoritmo.pptx
 
COMP6411.1.history.ppt
COMP6411.1.history.pptCOMP6411.1.history.ppt
COMP6411.1.history.ppt
 
22_ideals (1).ppt
22_ideals (1).ppt22_ideals (1).ppt
22_ideals (1).ppt
 
lecture244-mf.pptx
lecture244-mf.pptxlecture244-mf.pptx
lecture244-mf.pptx
 
lecture26-mf.pptx
lecture26-mf.pptxlecture26-mf.pptx
lecture26-mf.pptx
 

Orientação a Objetos em Java em

  • 1. Informática Conteúdo 04: Orientação a Objetos Professor: Diego Oliveira
  • 2. Conteúdo da Aula • Introdução à Programação Orientada a Objetos • Linguagem Java • Classes • Objetos • Atributos • Métodos e Construtores • Parâmetros • Visibilidade e Encapsulamento • Herança e Polimorfismo • Interfaces 2
  • 3. O que é Programação Orientada a Objetos? • É um paradigma de programação • Baseia-se em objetos • É um dos paradigmas mais utilizados • Possui diversas linguagens que o usam: – Java – C++ – Object Pascal – Python – VB.NET 3
  • 4. Orientação a Objetos • A Orientação a Objetos se baseia em alguns princípios: – Abstração – Encapsulamento – Composição – Herança – Polimorfismo 4
  • 5. Linguagem Java • Linguagem de Programação mais utilizada • Orientada a Objetos • Multiplataforma • Possui Várias Versões – Java Card – Java ME – Java SE – Java EE – Java TV – Java FX 5
  • 6. Classe • A Classe é o molde, a planta, o esquema, o modelo a ser seguido pelos objetos • A planta da casa é o modelo que as casas construídas terão • Porém não é possível morar na planta da casa, apenas na casa já construída • A Classe define as características da casa e as funções que ela terá: parte elétrica, hidráulica, saneamento e etc. 6
  • 8. Objeto • Objetos são utilizados para representar conceitos do mundo real • Objetos seguem fielmente as especificações de suas Classes • Os Objetos são instâncias concretas das Classes • As casas são instâncias concretas das plantas que lhes deram origem 8
  • 10. • Definem o estado de uma classe • Pessoa tem: – Nome (texto) – Idade (inteiro) – Peso (real) – Altura (real) – Profissão (texto) Atributos Existentes na Classe Pessoa 10
  • 11. Valores dos Atributos no Objeto • Objeto Diego: – Nome: Diego Oliveira – Idade: 27 – Peso: 70.0 – Altura: 1.70 – Profissão: Professor 11
  • 12. Atributos da Classe Pessoa e Objeto ‘Diego’ em Java 12
  • 13. Métodos • Definem o comportamento de uma classe • Podem ser utilizados para: – realizar algum trabalho dentro da classe – modificar o valor de algum atributo – resgatar o valor de um atributo – ativar ações em outros objetos – enviar dados pela rede – iniciar eventos de interface gráfica – iniciar sons – outras ações 13
  • 15. Parâmetros • Parâmetros são utilizados para passar valores para métodos • São utilizados em casos em que o método precisa de um valor externo para realizar o seu trabalho • Os parâmetros são passados entre parênteses logo após o nome do método • Cada parâmetro tem um nome e um tipo 15
  • 17. Visibilidade • Definem quem pode visualizar atributos e métodos • Modificadores de visibilidade do Java: – public – private – protected – “default” 17
  • 19. Encapsulamento • Depende diretamente da Visibilidade • Métodos Java para trabalhar com encapsulamento de dados: – setAtributo(parâmetros) – getAtributo() • O encapsulamento garante maior segurança aos programas • Encapsular dados é uma boa prática de programação e deve ser seguida 19
  • 21. Herança • A Herança é utilizada para o reaproveitamento de código em Java • Uma classe herda de outra seus atributos e métodos, dependendo da visibilidade • É uma boa prática de programação utilizar Herança para reduzir a replicação de código • A Herança também ajuda na representação dos objetos e seus relacionamentos dentro do programa, de acordo com as necessidades 21
  • 22. Herança • Na figura ao lado temos a classe-mãe Mamíferos, que possui como classes filhas Homem, Cão e Gato • Cada classe possui seus métodos de comunicação: Falar(), Latir() e Miar() • Todos possuem os atributos nome, idade, mamas e cor dos olhos 22
  • 23. Polimorfismo • O Polimorfismo está diretamente relacionado com a Herança • Um método chamado em diferentes pontos da linha de Herança pode resultar em comportamentos diferentes 23
  • 24. Indicações 24 • https://www.eclipse.org/downloads/ • https://netbeans.org/downloads/ • http://astah.net/download • http://www.bluej.org/ • http://www.jcreator.com/ • http://www.oracle.com/technetwork/pt/java /javase/downloads/index.html?ssSourceSit eId=otnes