SlideShare uma empresa Scribd logo
1 de 28
Baixar para ler offline
Técnico em Informática/2017 - Prof: Franciel Amorim
08 – Fundamentos da POO
Aula 08 – Fundamentos
Programação Orientada à Objetos
Análise e Projeto de Sistemas
francielamorim@hotmail.com
Técnico em Informática/2017 - Prof: Franciel Amorim
08 – Fundamentos da POO
Sumário
• Características da Orientação à Objetos
✔
Polimorfismo
✔
Herança
✔
Encapsulamento
✔
Abstração
• Classes e Objetos
• Notação de Classes
Técnico em Informática/2017 - Prof: Franciel Amorim
08 – Fundamentos da POO
Introdução
• O desenvolvimento de software é extremamente amplo. Nesse
mercado, existem diversas linguagens de programação, que
seguem diferentes paradigmas.
• Um desses paradigmas é a Orientação a Objetos, que
atualmente é o mais difundido entre todos. Isso acontece
porque se trata de um padrão que tem evoluído muito,
principalmente em questões voltadas para segurança e
reaproveitamento de código, o que é muito importante no
desenvolvimento de qualquer aplicação moderna.
Técnico em Informática/2017 - Prof: Franciel Amorim
08 – Fundamentos da POO
Introdução
• A Programação Orientada a Objetos (POO) diz respeito a um
padrão de desenvolvimento que é seguido por muitas
linguagens, como C# e Java. Esse padrão se baseia em
quatro pilares que veremos ao longo da nossa aula. Além
disso, a POO possui diversas vantagens em sua utilização,
que também serão vistas e explicadas.
Técnico em Informática/2017 - Prof: Franciel Amorim
08 – Fundamentos da POO
Princípios da Orientação Objetos
Técnico em Informática/2017 - Prof: Franciel Amorim
08 – Fundamentos da POO
Polimorfismo
• Significa “várias formas” ou
multiforma. Pode-se entender este
processo como a habilidade de uma
classe adquirir várias formas em
vários objetos, ou, de se comportar
de maneira diferente dependendo de
em que objeto ela atua.
Técnico em Informática/2017 - Prof: Franciel Amorim
08 – Fundamentos da POO
Herança
● Uma das características mais
importantes da Orientação à Objetos,
devido ao fato de permitir o
reaproveitamento de atributos e de
métodos.
● Trabalha com os conceitos de
superclasses e subclasses , alem das
Especializações.
Técnico em Informática/2017 - Prof: Franciel Amorim
08 – Fundamentos da POO
Herança
Técnico em Informática/2017 - Prof: Franciel Amorim
08 – Fundamentos da POO
Encapsulamento
• É a característica da OO capaz de ocultar partes (dados e
detalhes) de implementação interna de classes do mundo
exterior.
• Na imagem abaixo, podemos ver que um objeto que
possui a característica de encapsulamento fica protegido
por uma cápsula. Essa cápsula, que chamamos de
interface, serve para ocultar e proteger de outros objetos,
os detalhes de implementação daquele objeto.
Técnico em Informática/2017 - Prof: Franciel Amorim
08 – Fundamentos da POO
Abstração
• É utilizada para a definição de entidades do mundo real. Sendo
onde são criadas as classes. Essas entidades são consideradas
tudo que é real, tendo como consideração as suas características
e ações. São três pontos que devem ser levados em
consideração nessa abstração: Identidade, Propriedades e
Métodos
Técnico em Informática/2017 - Prof: Franciel Amorim
08 – Fundamentos da POO
Abstração
• Exemplo:
Técnico em Informática/2017 - Prof: Franciel Amorim
08 – Fundamentos da POO
Abstração
Classes e Objetos
Técnico em Informática/2017 - Prof: Franciel Amorim
08 – Fundamentos da POO
Classes e Objetos
●
O mundo real é formado por coisas, na terminologia de
orientação à objetos essas coisas do mundo real são
chamadas de objetos.
✔
Exemplo: um Cliente, um Pedido, um Fornecedor.
●
Seres humanos costumam agrupar os objetos, essa idéia de
agrupar é chamada de Classes de Objetos ou classe.
Técnico em Informática/2017 - Prof: Franciel Amorim
08 – Fundamentos da POO
Classes e Objetos
● Uma classe representa uma categoria, e os objetos são os
membros ou exemplos dessa categoria.
●
Exemplo:
Técnico em Informática/2017 - Prof: Franciel Amorim
08 – Fundamentos da POO
Classes e Objetos
● Obs.: É importante notar que uma classe é uma abstração
das características de um grupo de um mundo real. Para a
modelagem de um sistema somente um subconjunto de
características pode ser relevante.
Técnico em Informática/2017 - Prof: Franciel Amorim
08 – Fundamentos da POO
Notação de uma Classes
● Na UML uma classe é representada por um retângulo que
pode ter até 3 divisões
Técnico em Informática/2017 - Prof: Franciel Amorim
08 – Fundamentos da POO
Elementos
● <Nome da Classe>:descrição ou nome da
classe;
–
Devem receber nomes de acordo com o
vocabulário do domínio do problema.
–
É comum adotar um padrão para nomeá-
las
Ex: todos os nomes de classes serão substantivos
singulares com a primeira letra maiúscula
Técnico em Informática/2017 - Prof: Franciel Amorim
08 – Fundamentos da POO
Elementos
●
<Atributos>: Parte que armazena as propriedades e
seus tipos de dados;
●
Representam o conjunto de características (estado)
dos objetos daquela classe;
●
O tipo do atributo pode ser escrito com dois pontos
após seu nome (dependendo do nível de
abstração)
●
Exemplo: Nome: char [30], Preço: Inteiro
Técnico em Informática/2017 - Prof: Franciel Amorim
08 – Fundamentos da POO
Elementos
●
<Métodos, Operações ou Comportamentos>:
Representam o conjunto de operações
(comportamento) que a classe fornece
●
Os parâmetros dos métodos podem ser
representados nos diagramas entre
parênteses após seu nome
●
O valor de retorno pode ser apresentado após
dois pontos
●
Exemplo: Saldo(int numconta): float,
RetornaNome(int codmatricula): char[30]
Técnico em Informática/2017 - Prof: Franciel Amorim
08 – Fundamentos da POO
Exemplos
Técnico em Informática/2017 - Prof: Franciel Amorim
08 – Fundamentos da POO
Visibilidade
●
É utilizada para indicar o nível de acessibilidade de um
determinado atributo ou método.
- privado: visível somente dentro da própria classe
#protegido: visível para classes do mesmo pacote e subclasses
+ público: visível em qualquer classe de qualquer pacote
Exemplo:
# estado() : boolean
+ liga() : void
Técnico em Informática/2017 - Prof: Franciel Amorim
08 – Fundamentos da POO
Exemplo
Nome da Classe Atributos
Métodos
Visibilidade
Técnico em Informática/2017 - Prof: Franciel Amorim
08 – Fundamentos da POO
Exercício
• 01:Defina uma classe para representar, uma loja que vende roupas
onde, os clientes da loja são cadastrados pelo nome e cada roupa
possui um código de barras, um tamanho e o número de exemplares
que a loja possui daquela roupa.
Técnico em Informática/2017 - Prof: Franciel Amorim
08 – Fundamentos da POO
Exercício
• 01:Defina uma classe para representar, uma loja que vende roupas
onde, os clientes da loja são cadastrados pelo nome e cada roupa
possui um código de barras, um tamanho e o número de exemplares
que a loja possui daquela roupa.
Técnico em Informática/2017 - Prof: Franciel Amorim
08 – Fundamentos da POO
Exercício
• 02:Defina classes para as figuras abaixo:
Técnico em Informática/2017 - Prof: Franciel Amorim
08 – Fundamentos da POO
Exercício
• Crie classes que modelem as seguintes situações. Sugira
valores para a visibilidade, os métodos e os atributos:
–
Em um sistema de uma loja veterinária, cada animal tratado deve
ter armazenadas suas informações de nome, sexo, idade e
espécie. O animal pode iniciar ou finalizar um tratamento;
–
Cada dono de animal, deve ter seu nome, endereço e telefone
que possui armazenados. O dono de animal pode marcar uma
consulta ou tratamento e pagá-los;
–
Os veterinários devem ter seu nome, telefone, endereço e
número do Conselho Veterinário. Cada um pode efetuar uma
consulta ou efetuar um tratamento.
Técnico em Informática/2017 - Prof: Franciel Amorim
08 – Fundamentos da POO
Exercício - resposta
Técnico em Informática/2017 - Prof: Franciel Amorim
08 – Fundamentos da POO
Dúvidas

Mais conteúdo relacionado

Semelhante a Fundamentos POO Aula

3D4AUTO_R4_Virtual Seminars - PORTUGUESE
3D4AUTO_R4_Virtual Seminars - PORTUGUESE3D4AUTO_R4_Virtual Seminars - PORTUGUESE
3D4AUTO_R4_Virtual Seminars - PORTUGUESE3d4auto
 
Introdução UC - 2010 2011
Introdução UC - 2010 2011Introdução UC - 2010 2011
Introdução UC - 2010 2011Luís Nunes
 
Padrões de Projeto de Software Orientado a Objetos
Padrões de Projeto de Software Orientado a ObjetosPadrões de Projeto de Software Orientado a Objetos
Padrões de Projeto de Software Orientado a ObjetosFabio Kon
 
[VEM2014] PolymorphicView: Visualizando o uso do Polimorfismo em Projetos de ...
[VEM2014] PolymorphicView: Visualizando o uso do Polimorfismo em Projetos de ...[VEM2014] PolymorphicView: Visualizando o uso do Polimorfismo em Projetos de ...
[VEM2014] PolymorphicView: Visualizando o uso do Polimorfismo em Projetos de ...Wildtech
 
Curso de Informática p/ Concurso MP-RJ
Curso de Informática p/ Concurso MP-RJCurso de Informática p/ Concurso MP-RJ
Curso de Informática p/ Concurso MP-RJEstratégia Concursos
 
Padrões de Projeto de Software Orientado a Objetos
Padrões de Projeto de Software Orientado a ObjetosPadrões de Projeto de Software Orientado a Objetos
Padrões de Projeto de Software Orientado a ObjetosCloves da Rocha
 
Introdução a Machine Learning
Introdução a Machine LearningIntrodução a Machine Learning
Introdução a Machine LearningMarcelo Oliveira
 
Analise_OO1a_Introducao.ppt
Analise_OO1a_Introducao.pptAnalise_OO1a_Introducao.ppt
Analise_OO1a_Introducao.pptssuser12105c
 
Curso tecnologia em gestão da tecnologia da informação disciplina gerenciam...
Curso tecnologia em gestão da tecnologia da informação   disciplina gerenciam...Curso tecnologia em gestão da tecnologia da informação   disciplina gerenciam...
Curso tecnologia em gestão da tecnologia da informação disciplina gerenciam...Universal.org.mx
 
Criando Framework - Conceitos, Estratégias e Dicas
Criando Framework - Conceitos, Estratégias e DicasCriando Framework - Conceitos, Estratégias e Dicas
Criando Framework - Conceitos, Estratégias e DicasNorton Guimarães
 
Slide de Apresentação da Disciplina de Gestão de Operações e Manufatura
Slide de Apresentação da Disciplina de Gestão de Operações e ManufaturaSlide de Apresentação da Disciplina de Gestão de Operações e Manufatura
Slide de Apresentação da Disciplina de Gestão de Operações e ManufaturaLabCEO UFF
 
Curso de Informática para Concurso TRT 11 (AM)
Curso de Informática para Concurso TRT 11 (AM)Curso de Informática para Concurso TRT 11 (AM)
Curso de Informática para Concurso TRT 11 (AM)Estratégia Concursos
 

Semelhante a Fundamentos POO Aula (20)

Aula01-IntroducaoOO.pptx
Aula01-IntroducaoOO.pptxAula01-IntroducaoOO.pptx
Aula01-IntroducaoOO.pptx
 
3D4AUTO_R4_Virtual Seminars - PORTUGUESE
3D4AUTO_R4_Virtual Seminars - PORTUGUESE3D4AUTO_R4_Virtual Seminars - PORTUGUESE
3D4AUTO_R4_Virtual Seminars - PORTUGUESE
 
UML
UMLUML
UML
 
Informática Básica para Concurso
Informática Básica para ConcursoInformática Básica para Concurso
Informática Básica para Concurso
 
Introdução UC - 2010 2011
Introdução UC - 2010 2011Introdução UC - 2010 2011
Introdução UC - 2010 2011
 
Análise de sistemas oo 1
Análise de sistemas oo   1Análise de sistemas oo   1
Análise de sistemas oo 1
 
GoF.ppt
GoF.pptGoF.ppt
GoF.ppt
 
Padrões de Projeto de Software Orientado a Objetos
Padrões de Projeto de Software Orientado a ObjetosPadrões de Projeto de Software Orientado a Objetos
Padrões de Projeto de Software Orientado a Objetos
 
[VEM2014] PolymorphicView: Visualizando o uso do Polimorfismo em Projetos de ...
[VEM2014] PolymorphicView: Visualizando o uso do Polimorfismo em Projetos de ...[VEM2014] PolymorphicView: Visualizando o uso do Polimorfismo em Projetos de ...
[VEM2014] PolymorphicView: Visualizando o uso do Polimorfismo em Projetos de ...
 
Curso de Informática p/ Concurso MP-RJ
Curso de Informática p/ Concurso MP-RJCurso de Informática p/ Concurso MP-RJ
Curso de Informática p/ Concurso MP-RJ
 
Padrões de Projeto de Software Orientado a Objetos
Padrões de Projeto de Software Orientado a ObjetosPadrões de Projeto de Software Orientado a Objetos
Padrões de Projeto de Software Orientado a Objetos
 
Introdução a Machine Learning
Introdução a Machine LearningIntrodução a Machine Learning
Introdução a Machine Learning
 
Exercício 1
Exercício 1Exercício 1
Exercício 1
 
Analise_OO1a_Introducao.ppt
Analise_OO1a_Introducao.pptAnalise_OO1a_Introducao.ppt
Analise_OO1a_Introducao.ppt
 
Apresentação E-Profile
Apresentação E-ProfileApresentação E-Profile
Apresentação E-Profile
 
Curso tecnologia em gestão da tecnologia da informação disciplina gerenciam...
Curso tecnologia em gestão da tecnologia da informação   disciplina gerenciam...Curso tecnologia em gestão da tecnologia da informação   disciplina gerenciam...
Curso tecnologia em gestão da tecnologia da informação disciplina gerenciam...
 
Aula4 TEES UFS: Orientação a Objetos
Aula4 TEES UFS: Orientação a ObjetosAula4 TEES UFS: Orientação a Objetos
Aula4 TEES UFS: Orientação a Objetos
 
Criando Framework - Conceitos, Estratégias e Dicas
Criando Framework - Conceitos, Estratégias e DicasCriando Framework - Conceitos, Estratégias e Dicas
Criando Framework - Conceitos, Estratégias e Dicas
 
Slide de Apresentação da Disciplina de Gestão de Operações e Manufatura
Slide de Apresentação da Disciplina de Gestão de Operações e ManufaturaSlide de Apresentação da Disciplina de Gestão de Operações e Manufatura
Slide de Apresentação da Disciplina de Gestão de Operações e Manufatura
 
Curso de Informática para Concurso TRT 11 (AM)
Curso de Informática para Concurso TRT 11 (AM)Curso de Informática para Concurso TRT 11 (AM)
Curso de Informática para Concurso TRT 11 (AM)
 

Fundamentos POO Aula

  • 1. Técnico em Informática/2017 - Prof: Franciel Amorim 08 – Fundamentos da POO Aula 08 – Fundamentos Programação Orientada à Objetos Análise e Projeto de Sistemas francielamorim@hotmail.com
  • 2. Técnico em Informática/2017 - Prof: Franciel Amorim 08 – Fundamentos da POO Sumário • Características da Orientação à Objetos ✔ Polimorfismo ✔ Herança ✔ Encapsulamento ✔ Abstração • Classes e Objetos • Notação de Classes
  • 3. Técnico em Informática/2017 - Prof: Franciel Amorim 08 – Fundamentos da POO Introdução • O desenvolvimento de software é extremamente amplo. Nesse mercado, existem diversas linguagens de programação, que seguem diferentes paradigmas. • Um desses paradigmas é a Orientação a Objetos, que atualmente é o mais difundido entre todos. Isso acontece porque se trata de um padrão que tem evoluído muito, principalmente em questões voltadas para segurança e reaproveitamento de código, o que é muito importante no desenvolvimento de qualquer aplicação moderna.
  • 4. Técnico em Informática/2017 - Prof: Franciel Amorim 08 – Fundamentos da POO Introdução • A Programação Orientada a Objetos (POO) diz respeito a um padrão de desenvolvimento que é seguido por muitas linguagens, como C# e Java. Esse padrão se baseia em quatro pilares que veremos ao longo da nossa aula. Além disso, a POO possui diversas vantagens em sua utilização, que também serão vistas e explicadas.
  • 5. Técnico em Informática/2017 - Prof: Franciel Amorim 08 – Fundamentos da POO Princípios da Orientação Objetos
  • 6. Técnico em Informática/2017 - Prof: Franciel Amorim 08 – Fundamentos da POO Polimorfismo • Significa “várias formas” ou multiforma. Pode-se entender este processo como a habilidade de uma classe adquirir várias formas em vários objetos, ou, de se comportar de maneira diferente dependendo de em que objeto ela atua.
  • 7. Técnico em Informática/2017 - Prof: Franciel Amorim 08 – Fundamentos da POO Herança ● Uma das características mais importantes da Orientação à Objetos, devido ao fato de permitir o reaproveitamento de atributos e de métodos. ● Trabalha com os conceitos de superclasses e subclasses , alem das Especializações.
  • 8. Técnico em Informática/2017 - Prof: Franciel Amorim 08 – Fundamentos da POO Herança
  • 9. Técnico em Informática/2017 - Prof: Franciel Amorim 08 – Fundamentos da POO Encapsulamento • É a característica da OO capaz de ocultar partes (dados e detalhes) de implementação interna de classes do mundo exterior. • Na imagem abaixo, podemos ver que um objeto que possui a característica de encapsulamento fica protegido por uma cápsula. Essa cápsula, que chamamos de interface, serve para ocultar e proteger de outros objetos, os detalhes de implementação daquele objeto.
  • 10. Técnico em Informática/2017 - Prof: Franciel Amorim 08 – Fundamentos da POO Abstração • É utilizada para a definição de entidades do mundo real. Sendo onde são criadas as classes. Essas entidades são consideradas tudo que é real, tendo como consideração as suas características e ações. São três pontos que devem ser levados em consideração nessa abstração: Identidade, Propriedades e Métodos
  • 11. Técnico em Informática/2017 - Prof: Franciel Amorim 08 – Fundamentos da POO Abstração • Exemplo:
  • 12. Técnico em Informática/2017 - Prof: Franciel Amorim 08 – Fundamentos da POO Abstração Classes e Objetos
  • 13. Técnico em Informática/2017 - Prof: Franciel Amorim 08 – Fundamentos da POO Classes e Objetos ● O mundo real é formado por coisas, na terminologia de orientação à objetos essas coisas do mundo real são chamadas de objetos. ✔ Exemplo: um Cliente, um Pedido, um Fornecedor. ● Seres humanos costumam agrupar os objetos, essa idéia de agrupar é chamada de Classes de Objetos ou classe.
  • 14. Técnico em Informática/2017 - Prof: Franciel Amorim 08 – Fundamentos da POO Classes e Objetos ● Uma classe representa uma categoria, e os objetos são os membros ou exemplos dessa categoria. ● Exemplo:
  • 15. Técnico em Informática/2017 - Prof: Franciel Amorim 08 – Fundamentos da POO Classes e Objetos ● Obs.: É importante notar que uma classe é uma abstração das características de um grupo de um mundo real. Para a modelagem de um sistema somente um subconjunto de características pode ser relevante.
  • 16. Técnico em Informática/2017 - Prof: Franciel Amorim 08 – Fundamentos da POO Notação de uma Classes ● Na UML uma classe é representada por um retângulo que pode ter até 3 divisões
  • 17. Técnico em Informática/2017 - Prof: Franciel Amorim 08 – Fundamentos da POO Elementos ● <Nome da Classe>:descrição ou nome da classe; – Devem receber nomes de acordo com o vocabulário do domínio do problema. – É comum adotar um padrão para nomeá- las Ex: todos os nomes de classes serão substantivos singulares com a primeira letra maiúscula
  • 18. Técnico em Informática/2017 - Prof: Franciel Amorim 08 – Fundamentos da POO Elementos ● <Atributos>: Parte que armazena as propriedades e seus tipos de dados; ● Representam o conjunto de características (estado) dos objetos daquela classe; ● O tipo do atributo pode ser escrito com dois pontos após seu nome (dependendo do nível de abstração) ● Exemplo: Nome: char [30], Preço: Inteiro
  • 19. Técnico em Informática/2017 - Prof: Franciel Amorim 08 – Fundamentos da POO Elementos ● <Métodos, Operações ou Comportamentos>: Representam o conjunto de operações (comportamento) que a classe fornece ● Os parâmetros dos métodos podem ser representados nos diagramas entre parênteses após seu nome ● O valor de retorno pode ser apresentado após dois pontos ● Exemplo: Saldo(int numconta): float, RetornaNome(int codmatricula): char[30]
  • 20. Técnico em Informática/2017 - Prof: Franciel Amorim 08 – Fundamentos da POO Exemplos
  • 21. Técnico em Informática/2017 - Prof: Franciel Amorim 08 – Fundamentos da POO Visibilidade ● É utilizada para indicar o nível de acessibilidade de um determinado atributo ou método. - privado: visível somente dentro da própria classe #protegido: visível para classes do mesmo pacote e subclasses + público: visível em qualquer classe de qualquer pacote Exemplo: # estado() : boolean + liga() : void
  • 22. Técnico em Informática/2017 - Prof: Franciel Amorim 08 – Fundamentos da POO Exemplo Nome da Classe Atributos Métodos Visibilidade
  • 23. Técnico em Informática/2017 - Prof: Franciel Amorim 08 – Fundamentos da POO Exercício • 01:Defina uma classe para representar, uma loja que vende roupas onde, os clientes da loja são cadastrados pelo nome e cada roupa possui um código de barras, um tamanho e o número de exemplares que a loja possui daquela roupa.
  • 24. Técnico em Informática/2017 - Prof: Franciel Amorim 08 – Fundamentos da POO Exercício • 01:Defina uma classe para representar, uma loja que vende roupas onde, os clientes da loja são cadastrados pelo nome e cada roupa possui um código de barras, um tamanho e o número de exemplares que a loja possui daquela roupa.
  • 25. Técnico em Informática/2017 - Prof: Franciel Amorim 08 – Fundamentos da POO Exercício • 02:Defina classes para as figuras abaixo:
  • 26. Técnico em Informática/2017 - Prof: Franciel Amorim 08 – Fundamentos da POO Exercício • Crie classes que modelem as seguintes situações. Sugira valores para a visibilidade, os métodos e os atributos: – Em um sistema de uma loja veterinária, cada animal tratado deve ter armazenadas suas informações de nome, sexo, idade e espécie. O animal pode iniciar ou finalizar um tratamento; – Cada dono de animal, deve ter seu nome, endereço e telefone que possui armazenados. O dono de animal pode marcar uma consulta ou tratamento e pagá-los; – Os veterinários devem ter seu nome, telefone, endereço e número do Conselho Veterinário. Cada um pode efetuar uma consulta ou efetuar um tratamento.
  • 27. Técnico em Informática/2017 - Prof: Franciel Amorim 08 – Fundamentos da POO Exercício - resposta
  • 28. Técnico em Informática/2017 - Prof: Franciel Amorim 08 – Fundamentos da POO Dúvidas