SlideShare une entreprise Scribd logo
1  sur  24
Télécharger pour lire hors ligne
Engenharia de Software
Unimep/Pronatec
2° Semestre
AULA 14
- Prof. André Bertoletti -
apbertolet@unimep.br
Nossa agenda de hoje
• Orientação a Objeto (parte 2)
• Princípios da OO
• Demos
Programação Orientada
a Objetos
X
Programação Estruturada
Evolução
Principais diferenças
Programação Estruturada
• Linguagens: C, Clipper, Cobol, Assembler, etc
• Mais performática
• Sequencial, sem muitos desvios
• Desaconselhável para aplicações modernas
(Sites, Apps, etc)
• Possibilita pouco reuso de código
• Etc...
Programação Orientada a Objetos
• Linguagens: C++, C#, Java, Python, Ruby, etc
• Menos performática
• Execução NÃO sequencial, com muitos desvios
• Aconselhável para aplicações modernas (Sites,
Apps, etc)
• Possibilita muito reuso de código
• Etc...
Encapsulamento
Abstração
Herança
Polimorfismo
Abstração
A abstração consiste em um dos pontos mais
importantes dentro de qualquer linguagem
Orientada a Objetos. Como estamos lidando
com uma representação de um objeto real (o
que dá nome ao paradigma), temos que
imaginar o que esse objeto irá realizar dentro de
nosso sistema.
– Identidade
– Propriedades
– Métodos
Abstração
Abstração
Identidade:
Gato
Eventos (ações)
• Miar
• Comer
• Andar
• Brincar
• (etc..)
Propriedades:
• Nome
• Tamanho
• Cor
• Peso
• Raça
• (etc..)
Abstração
Show me
the CODE!
Declarando a CLASSE Gato
Instanciando e usando o OBJETO
Gato
Herança
O reuso de código é uma das grandes vantagens
da programação orientada a objetos. Muito
disso se dá por uma questão que é conhecida
como herança. Essa característica otimiza a
produção da aplicação em tempo e linhas de
código.
Exemplos:
O objeto Mesa herda do objeto Móvel
O objeto Carro herda do objeto Veículo
Outro exemplo de Herança
Animal
Mamífero
Felino
Show me
the CODE!
Declarando a classe base Animal
(somente com aquilo é que comum a todos os animais)
Declarando a classe derivada Mamifero
que herda da classe base Animal
(somente com aquilo é que comum a todos os
mamíferos, e por herança, tudo aquilo que os animais
também fazem/possuem)
Declarando a classe derivada Felino
que herda da classe base Mamifero
(somente com aquilo é que comum a todos os felinos, e
por herança, tudo aquilo que os mamíferos e animais
também fazem/possuem)
Declarando a classe derivada Gato
que herda da classe base Felino
(somente com aquilo é que comum a todos os gatos, e
por herança, tudo aquilo que os felinos, mamíferos e
animais também fazem/possuem)
Declarando a classe derivada Leao
que herda da classe base Felino
(somente com aquilo é que comum a todos os leões, e
por herança, tudo aquilo que os felinos, mamíferos e
animais também fazem/possuem)
Instanciando e usando os objetos
Gato e Leão
Por hoje é só!
Agora é hora de estudar!

Contenu connexe

En vedette

Curso de Introdução a Engenharia de Software - CJR/UnB - Aula 1
Curso de Introdução a Engenharia de Software - CJR/UnB - Aula 1Curso de Introdução a Engenharia de Software - CJR/UnB - Aula 1
Curso de Introdução a Engenharia de Software - CJR/UnB - Aula 1
Renato Leal
 

En vedette (20)

UnP Eng. Software - Aula 1
UnP Eng. Software - Aula 1UnP Eng. Software - Aula 1
UnP Eng. Software - Aula 1
 
Banco de Dados II - Unimep/Pronatec - Aula 2
Banco de Dados II - Unimep/Pronatec - Aula 2Banco de Dados II - Unimep/Pronatec - Aula 2
Banco de Dados II - Unimep/Pronatec - Aula 2
 
Banco de Dados II - Unimep/Pronatec - Aula 10
Banco de Dados II - Unimep/Pronatec - Aula 10Banco de Dados II - Unimep/Pronatec - Aula 10
Banco de Dados II - Unimep/Pronatec - Aula 10
 
Banco de Dados II - Unimep/Pronatec - Aula 12
Banco de Dados II - Unimep/Pronatec - Aula 12Banco de Dados II - Unimep/Pronatec - Aula 12
Banco de Dados II - Unimep/Pronatec - Aula 12
 
Banco de Dados II - Unimep/Pronatec - Aula 11
Banco de Dados II - Unimep/Pronatec - Aula 11Banco de Dados II - Unimep/Pronatec - Aula 11
Banco de Dados II - Unimep/Pronatec - Aula 11
 
Engenharia de Software - Unimep/Pronatec - Aula 15
Engenharia de Software - Unimep/Pronatec - Aula 15Engenharia de Software - Unimep/Pronatec - Aula 15
Engenharia de Software - Unimep/Pronatec - Aula 15
 
Banco de Dados II - Unimep/Pronatec - Aula 8
Banco de Dados II - Unimep/Pronatec - Aula 8Banco de Dados II - Unimep/Pronatec - Aula 8
Banco de Dados II - Unimep/Pronatec - Aula 8
 
Banco de Dados II - Unimep/Pronatec - Aula 3
Banco de Dados II - Unimep/Pronatec - Aula 3Banco de Dados II - Unimep/Pronatec - Aula 3
Banco de Dados II - Unimep/Pronatec - Aula 3
 
Banco de Dados II - Unimep/Pronatec - Aula 4
Banco de Dados II - Unimep/Pronatec - Aula 4Banco de Dados II - Unimep/Pronatec - Aula 4
Banco de Dados II - Unimep/Pronatec - Aula 4
 
Banco de Dados II - Unimep/Pronatec - Aula 5
Banco de Dados II - Unimep/Pronatec - Aula 5Banco de Dados II - Unimep/Pronatec - Aula 5
Banco de Dados II - Unimep/Pronatec - Aula 5
 
Team building - Software depende de relacionamento
Team building  - Software depende de relacionamentoTeam building  - Software depende de relacionamento
Team building - Software depende de relacionamento
 
Engenharia de Software - Unimep/Pronatec - Aula 7
Engenharia de Software - Unimep/Pronatec - Aula 7Engenharia de Software - Unimep/Pronatec - Aula 7
Engenharia de Software - Unimep/Pronatec - Aula 7
 
Engenharia de Software I - Aula 2
Engenharia de Software I - Aula 2Engenharia de Software I - Aula 2
Engenharia de Software I - Aula 2
 
Engenharia de Software - Unimep/Pronatec - Aula 5
Engenharia de Software - Unimep/Pronatec - Aula 5Engenharia de Software - Unimep/Pronatec - Aula 5
Engenharia de Software - Unimep/Pronatec - Aula 5
 
Engenharia de Software - Unimep/Pronatec - Aula 18
Engenharia de Software - Unimep/Pronatec - Aula 18Engenharia de Software - Unimep/Pronatec - Aula 18
Engenharia de Software - Unimep/Pronatec - Aula 18
 
Engenharia de Software - Unimep/Pronatec - Aula 3
Engenharia de Software - Unimep/Pronatec - Aula 3Engenharia de Software - Unimep/Pronatec - Aula 3
Engenharia de Software - Unimep/Pronatec - Aula 3
 
Engenharia de Software I - Aula 1
Engenharia de Software I - Aula 1Engenharia de Software I - Aula 1
Engenharia de Software I - Aula 1
 
Banco de Dados II - Unimep/Pronatec - Aula 6
Banco de Dados II - Unimep/Pronatec - Aula 6Banco de Dados II - Unimep/Pronatec - Aula 6
Banco de Dados II - Unimep/Pronatec - Aula 6
 
Engenharia de Software - Unimep/Pronatec - Aula 4
Engenharia de Software - Unimep/Pronatec - Aula 4Engenharia de Software - Unimep/Pronatec - Aula 4
Engenharia de Software - Unimep/Pronatec - Aula 4
 
Curso de Introdução a Engenharia de Software - CJR/UnB - Aula 1
Curso de Introdução a Engenharia de Software - CJR/UnB - Aula 1Curso de Introdução a Engenharia de Software - CJR/UnB - Aula 1
Curso de Introdução a Engenharia de Software - CJR/UnB - Aula 1
 

Similaire à Engenharia de Software - Unimep/Pronatec - Aula 14

Python - Introdução Básica
Python - Introdução BásicaPython - Introdução Básica
Python - Introdução Básica
Christian Perone
 
Processamento Automático da Língua Portuguesa - Campus Party Br 6
Processamento Automático da Língua Portuguesa - Campus Party Br 6Processamento Automático da Língua Portuguesa - Campus Party Br 6
Processamento Automático da Língua Portuguesa - Campus Party Br 6
William Colen
 

Similaire à Engenharia de Software - Unimep/Pronatec - Aula 14 (20)

#DNAD15 - Diminuindo sofrimento com código legado de linguagens não mainstreams
#DNAD15  - Diminuindo sofrimento com código legado de linguagens não mainstreams#DNAD15  - Diminuindo sofrimento com código legado de linguagens não mainstreams
#DNAD15 - Diminuindo sofrimento com código legado de linguagens não mainstreams
 
Python Mini Ccurso Consegi2011
Python Mini Ccurso Consegi2011Python Mini Ccurso Consegi2011
Python Mini Ccurso Consegi2011
 
PARADIGMAS_LINGUAGENS_PROG_aula02.pdf
PARADIGMAS_LINGUAGENS_PROG_aula02.pdfPARADIGMAS_LINGUAGENS_PROG_aula02.pdf
PARADIGMAS_LINGUAGENS_PROG_aula02.pdf
 
Python Zope Plone - Fiocruz
Python Zope Plone - FiocruzPython Zope Plone - Fiocruz
Python Zope Plone - Fiocruz
 
Python - Introdução Básica
Python - Introdução BásicaPython - Introdução Básica
Python - Introdução Básica
 
Domain-Driven Design
Domain-Driven DesignDomain-Driven Design
Domain-Driven Design
 
O case da Plataformatec com o Elixir - Como uma empresa brasileira criou uma ...
O case da Plataformatec com o Elixir - Como uma empresa brasileira criou uma ...O case da Plataformatec com o Elixir - Como uma empresa brasileira criou uma ...
O case da Plataformatec com o Elixir - Como uma empresa brasileira criou uma ...
 
Processamento Automático da Língua Portuguesa - Campus Party Br 6
Processamento Automático da Língua Portuguesa - Campus Party Br 6Processamento Automático da Língua Portuguesa - Campus Party Br 6
Processamento Automático da Língua Portuguesa - Campus Party Br 6
 
LIVRO PROPRIETÁRIO - PROGRAMAÇÃO I
LIVRO PROPRIETÁRIO - PROGRAMAÇÃO ILIVRO PROPRIETÁRIO - PROGRAMAÇÃO I
LIVRO PROPRIETÁRIO - PROGRAMAÇÃO I
 
Implementação de Aplicações Móveis e Jogos com Python - Aula 1
Implementação de Aplicações Móveis e Jogos com Python - Aula 1Implementação de Aplicações Móveis e Jogos com Python - Aula 1
Implementação de Aplicações Móveis e Jogos com Python - Aula 1
 
Python Training #0.5 ed. 7
Python Training #0.5 ed. 7Python Training #0.5 ed. 7
Python Training #0.5 ed. 7
 
The zen of python 2010
The zen of python 2010The zen of python 2010
The zen of python 2010
 
Apresentação c++ UFC-Quixadá
Apresentação c++ UFC-QuixadáApresentação c++ UFC-Quixadá
Apresentação c++ UFC-Quixadá
 
Tutorial Python ed. #2
Tutorial Python ed. #2Tutorial Python ed. #2
Tutorial Python ed. #2
 
Python Zope Plone - Tchelinux
Python Zope Plone - TchelinuxPython Zope Plone - Tchelinux
Python Zope Plone - Tchelinux
 
PyDojo
PyDojoPyDojo
PyDojo
 
BDD: Torne viva a documentação de seus sistemas
BDD: Torne viva a documentação de seus sistemasBDD: Torne viva a documentação de seus sistemas
BDD: Torne viva a documentação de seus sistemas
 
Python Training #1 ed.6
Python Training #1 ed.6 Python Training #1 ed.6
Python Training #1 ed.6
 
Paradigmas de Linguagens de Programacao - Aula #6
Paradigmas de Linguagens de Programacao - Aula #6Paradigmas de Linguagens de Programacao - Aula #6
Paradigmas de Linguagens de Programacao - Aula #6
 
Isc aula 7
Isc   aula 7Isc   aula 7
Isc aula 7
 

Plus de André Phillip Bertoletti

Plus de André Phillip Bertoletti (14)

Teste de software - Conhecendo e Aplicando
Teste de software - Conhecendo e AplicandoTeste de software - Conhecendo e Aplicando
Teste de software - Conhecendo e Aplicando
 
Comunidade Locais de TI
Comunidade Locais de TIComunidade Locais de TI
Comunidade Locais de TI
 
Qualidade e Testes de Software
Qualidade e Testes de SoftwareQualidade e Testes de Software
Qualidade e Testes de Software
 
The clean coder
The clean coder The clean coder
The clean coder
 
Teste de software, na visão de um desenvolvedor
Teste de software, na visão de um desenvolvedorTeste de software, na visão de um desenvolvedor
Teste de software, na visão de um desenvolvedor
 
Política nas mídias sociais
Política nas mídias sociaisPolítica nas mídias sociais
Política nas mídias sociais
 
Banco de Dados II - Unimep/Pronatec - Aula 9
Banco de Dados II - Unimep/Pronatec - Aula 9Banco de Dados II - Unimep/Pronatec - Aula 9
Banco de Dados II - Unimep/Pronatec - Aula 9
 
Interface Homem-máquina - Unimep/Pronatec - Aula 9
Interface Homem-máquina - Unimep/Pronatec - Aula 9Interface Homem-máquina - Unimep/Pronatec - Aula 9
Interface Homem-máquina - Unimep/Pronatec - Aula 9
 
Interface Homem-máquina - Unimep/Pronatec - Aula 7
Interface Homem-máquina - Unimep/Pronatec - Aula 7Interface Homem-máquina - Unimep/Pronatec - Aula 7
Interface Homem-máquina - Unimep/Pronatec - Aula 7
 
Interface Homem-máquina - Unimep/Pronatec - Aula 6
Interface Homem-máquina - Unimep/Pronatec - Aula 6Interface Homem-máquina - Unimep/Pronatec - Aula 6
Interface Homem-máquina - Unimep/Pronatec - Aula 6
 
Interface Homem-máquina - Unimep/Pronatec - Aula 4
Interface Homem-máquina - Unimep/Pronatec - Aula 4Interface Homem-máquina - Unimep/Pronatec - Aula 4
Interface Homem-máquina - Unimep/Pronatec - Aula 4
 
Interface Homem-máquina - Unimep/Pronatec - Aula 3
Interface Homem-máquina - Unimep/Pronatec - Aula 3Interface Homem-máquina - Unimep/Pronatec - Aula 3
Interface Homem-máquina - Unimep/Pronatec - Aula 3
 
Interface Homem-máquina - Unimep/Pronatec - Aula 2
Interface Homem-máquina - Unimep/Pronatec - Aula 2Interface Homem-máquina - Unimep/Pronatec - Aula 2
Interface Homem-máquina - Unimep/Pronatec - Aula 2
 
Interface Homem-máquina - Unimep/Pronatec - Aula 1
Interface Homem-máquina - Unimep/Pronatec - Aula 1Interface Homem-máquina - Unimep/Pronatec - Aula 1
Interface Homem-máquina - Unimep/Pronatec - Aula 1
 

Engenharia de Software - Unimep/Pronatec - Aula 14