SlideShare uma empresa Scribd logo
Programação
Orientada a Objetos
(POO)
Prof. Silvio Rangel Souza Oliveira
2 Conteúdo Programático
1. Paradigma da Orientação a
Objetos e representação
gráfica em UML (diagramas
de classe e objeto).
3
Programação
estruturada versus
orientada a objetos
Programação orientada a objetos
4
Neste primeiro módulo, você conhecerá um
pouco sobre programação estruturada
(co-mo funciona e qual a sua estrutura) e
sobre programação orientada a objetos
(como funciona e alguns conceitos).
Antes de entender as diferenças entre estas
duas programações, é necessário
entender os conceitos de cada uma.
Programação estruturada versus
orientada a objetos
5
Imagine que quando falamos dessas duas
programações, estamos falando de
duas pessoas diferentes. É importante
saber que apesar dessas duas pessoas terem
o mesmo objetivo de vida, que é
programar, cada uma tem seu jeito
particular de pensar.
Vamos entender melhor como é a progra-
mação estruturada e como ela funciona?
Programação estruturada versus
orientada a objetos
6
 É preciso saber que este tipo de
programação segue uma lógica e
sequência de pensamentos de uma
máquina. Ou seja, a sua lógica é direcio-
nada à linguagem de máquina, já que ela
realiza o que foi orientado pelo programa-
dor por meio de uma linguagem estrutu-
rada.
Programação estruturada
7
 Parasaber mais sobre isso, observe o
recurso abaixo. As imagens contidas nele
representam fluxogramas (símbolos para
representação de regras e procedimento
lógicos que levam a solução de um
problema) das interações já mencionadas:
sequência, decisão e iteração.
Programação estruturada
8 Programação estruturada
Sequência
Segue uma sequência lógica para
realizar determinada ação, ou seja,
os comandos.
9 Programação estruturada
Decisão
Uma ou mais decisões devem ser
testadas pelo programa, por
exemplo: If Else, Else If, SWITCH-CASE.
10 Programação estruturada
Iteração
É uma repetição que pode ser
interrompida quando a condição
for satisfeita, por exemplo:
mostre na tela números de 1 a
100, o programa iniciará
mostrando o número 1 na tela e
só finalizará quando chegar ao
número 100, que neste caso é a
condição a ser satisfeita. As
estruturas a serem utilizadas para
realizar essa tarefa pode ser a
FOR, a WHILE e a DO WHILE.
11
A estruturada segue processo (sequência
contínua de fatos) para conseguir atingir o
seu objeto final, que é a solução de um
determinado problema. Imagine que existe
um programa a ser desenvolvido, onde
várias etapas precisam ser cumpridas. Na
programação estruturada esse programa é
dividido em vários processos pequenos e
depois que todos estão resolvidos, os
juntamos para formar a resolução final do
problema.
Programação estruturada
12
Para entender de forma mais clara o conceito
apresentado, observe o exemplo a seguir:
Em uma pizzaria, você trabalha como pizzaio-
lo, e o problema que precisa resolver é o de fa-
zer uma pizza de calabresa. Muitos processos
devem ser realizados para que você consiga
realizar sua tarefa, não é mesmo?
Programação estruturada
13
Para isso você segue, passo a passo, cada
uma das atividades, como:
1. Preparar a massa;
2. Colocar o recheio;
3. Ligar o forno, se não estiver ligado;
4. Colocar a pizza para assar;
5. Retirar a pizza do forno depois de 10 minutos.
Pronto, você conseguiu preparar a pizza de
calabresa corretamente.
Programação estruturada
14
É assim que funciona a programação
estruturada, ela é realizada por sequên-
cia como a preparação de uma pizza!
Programação estruturada
15
Para conhecer mais sobre a programação estruturada, as
estruturas por meio de fluxogramas e como elas são utilizadas na
programação, convidamos você a assistir o vídeo Fluxogramas e
programação estruturada.
Programação estruturada
https://www.youtube.com/watch?v=kcic0UK-MMY
16
Agora que você compreendeu sobre a lógica
por trás da programação estruturada, vamos
entender como funciona a programação
orientada a objetos?
Como você viu, as duas são um modo de
programação, mas cada uma possui a sua
própria lógica de funcionamento.
Programação orientada a objetos
17
Enquanto a programação estruturada obede-
ce a uma lógica de máquina, a programação
orientada a objetos funciona de um modo
mais similar ao raciocínio humano. Os seus
códigos são organizados de acordo com obje-
tos, e não processos, como no caso da progra-
mação estruturada.
Programação orientada a objetos
18
Portanto, a Programação Orientada a Objetos
transcende a simples manipulação de linhas
de código, introduzindo uma filosofia que se
baseia na modelagem do mundo real.
Em vez de tratar os programas apenas como
instruções abstratas, a POO nos permite criar
representações tangíveis de entidades do
mundo real, conhecidas como “objetos”.
Programação orientada a objetos
19
Esses objetos possuem características (atribu-
tos) e comportamentos (métodos) que espe-
lham seus correspondentes no mundo físico.
Dessa forma, a POO nos permite construir sis-
temas de software que imitam a lógica e a
estrutura das situações do mundo real.
Programação orientada a objetos
20
 Em vez de tratar os programas apenas
como instruções abstratas, a POO nos
permite criar representações tangíveis de
entidades do mundo real, conhecidas como
“objetos”.
Programação orientada a objetos
21
Para ajudá-lo a compreender melhor, assista ao vídeo que trata sobre
como surgiu a POO.
Programação orientada a objetos
https://www.youtube.com/watch?v=f-aDDLRmugU
22
Agora que você já sabe como funciona e qual
a estrutura tanto da programação estruturada
quanto da programação orientada a objetos,
chegou o momento de compreender como
surgiu a programação orientada a objetos.
Vamos lá?
Ela foi desenvolvida na Noruega em meados
de 1962 no Centro Norueguês de Computa-
ção (Norwegian Computing Center - NCC) da
Universidade de Oslo.
Programação orientada a objetos
23
Os pesquisadores Kristen Nygaard e Ole-Johan
Dahl aceitaram o desafio de criar uma língua-
gem de simulação de eventos discretos.
De modo não surpreendente, eles decidiram
batizar a linguagem de SIMULA. Mais tarde,
devido a uma reformulação, ela foi chamada
de SIMULA I e, em sua segunda e final versão,
foi chamada de SIMULA 67. Esta última
versão é reconhecida como a primeira
linguagem de renome no que diz respeito ao
universo da Orientação a Objetos.
Programação orientada a objetos
24
Interessante não é mesmo?
Com isso, o surgimento da programação orien-
tada a objetos aconteceu como forma de fa-
cilitar a programação, o que seria quase im-
possível com a programação estruturada.
Programação orientada a objetos
25
De acordo com o vídeo, o modo de
programar orientado a objetos surgiu da ne-
cessidade de deixar a programação mais fácil,
possibilitando ao desenvolvedor entregar um
software que satisfaça completamente o clien-
te. Algo muito difícil e às vezes, quase impos-
sível, com a programação estruturada.
Para que isso ocorra, é necessário que você,
como programador, ensine a máquina a pen-
sar como os seres humanos, mostrando como
o nosso mundo funciona.
Programação orientada a objetos
26
Certo, mas como se faz isso?
Primeiro, você precisa compreender alguns
conceitos!
Vamos lá?
Programação orientada a objetos
27
São elementos do mundo real para o mundo
da programação. O objeto é criado a partir de
uma classe. É algo que se visualiza, se utiliza e
assume um papel no domínio do problema.
Um exemplo disso é um Fusca 1964.
Programação orientada a objetos
OBJETOS
28
São as características do objeto. Considerando
o exemplo do Fusca 1964, os atributos deles
são: ano de fabricação é 1964 e que ele tem
um formato arredondado e o motor fica na
parte traseira.
Programação orientada a objetos
ATRIBUTOS
29 Programação orientada a objetos
São os comportamentos do objeto. Ainda
de acordo com o exemplo, o Fusca pode se
locomover, transportando pessoas, cargas,
etc.
MÉTODOS
30 Programação orientada a objetos
São os agrupamentos que descrevem todos
os objetos de um único tipo. Por exemplo, o
fusca pertence à classe dos carros. Não
importa a sua marca ou ano. O que importa
é que são objetos que se encaixam nesta
classe, que serve como molde para a
criação dos objetos. É na classe que são
moldados os objetos que serão utilizados do
programa a ser desenvolvido.
CLASSES
31 Programação orientada a objetos
Assim, você entendeu os conceitos funda-
mentais na programação de objetos, os
quais são os objetos e as classes. Todavia, é
preciso também compreender um
outro conceito correlato: o de atributos.
Os atributos são simplesmente as carac-
terísticas de um objeto. Ou seja, no nosso
exemplo de carro, podemos ter atributos
como modelo, placa, ano, cor, tamanho,
etc.
32 Programação orientada a objetos
Veja outro exemplo, reunimos alguns atri-
butos que podem ser inseridos em uma clas-
se de um objeto do tipo “pessoa”.
Nas palavras apresentadas, é possível notar
alguns atributos relacionados à classe pes-
soa (bonita, engraçada, esperta, grande,
gorda, etc.), ou seja, nessa classe, é possível
encontrar pessoas (objetos) com tais carac-
terísticas (atributos).
33 Programação orientada a objetos
Já os métodos são todos os tipos de ação
que um objeto pode realizar. No caso de um
carro podemos pensar em ações como dar
ré, ir para frente, frear, etc. No caso de uma
pessoa, podemos pensar em ações como
comer, correr, falar, andar, entre outras
diversas ações que uma pessoa pode
reali-zar.
34 Programação orientada a objetos
Agora que você já compreendeu os concei-
tos fundamentais da programação de obje-
tos, confira um exemplo de aplicação que
reúne o conceito de método e instância.
35 Programação orientada a objetos
36 Programação orientada a objetos
Observe a classe chamada “Pessoa”, que
possui atributos como: nome, telefone, e-
mail, idade. Lembre-se que os métodos
dessa classe são as ações que essa pessoa
pode realizar como: andar, falar, escrever
e correr. Note que agora temos um novo
conceito, as instâncias. As instâncias são
novos objetos que são criadas a partir de
uma classe. De maneira simples, são objetos
que tem o seu comportamento e estado
definidos por uma classe.
37 Programação orientada a objetos
Dessa forma, todos os novos objetos ou
instâncias terão o mesmo conjunto de
atributos definidos na classe, porém o
conteúdo desses atributos é individual, ou
seja, de cada objeto. Portanto, podemos
observar que as instâncias Fabio e Paulo,
apesar de serem compostas pelo mesmo
conjunto de atributos, possuem conteúdos
individuais.
38 Programação orientada a objetos
Na prática fica mais fácil compreender essas
questões.
Assim sendo, podemos constatar que os
conceitos “Método” e “Instância” estudados
são essenciais para a programação orien-
tada a objetos.
39
Para ajudá-lo a compreender melhor, assista ao vídeo que trata sobre
Classe, Objeto e Instâncias.
Programação orientada a objetos
https://www.youtube.com/watch?v=QJjY2TNyl-8
https://www.youtube.com/watch?v=iwjGqyTeUqM
40
Comparação entre
Programação
Estruturada e POO
41 Programação Estruturada
É um paradigma de programação que or-
ganiza o código em uma sequência de ins-
truções e estruturas de controle de fluxo,
como loops e condicionais. É baseado na
execução sequencial de instruções e na di-
visão do código em funções ou procedi-
mentos, buscando a modularização e a cla-
reza do código. Um exemplo de linguagem
clássica que suporta programação estrutu-
rada é o C.
42 Prós da Programação Estruturada
• Simplicidade: É mais fácil entender e
escrever código estruturado para inici-
antes.
• Desempenho: Em muitos casos, progra-
mas estruturados podem ser mais efici-
entes em termos de uso de recursos com-
putacionais.
• Facilidade de depuração: O fluxo de exe-
cução é linear, facilitando a identificação
e correção de erros.
43
Contras da Programação
Estruturada
• Dificuldade em lidar com sistemas
complexos: À medida que o sistema cres-
ce em complexidade, pode tornar-se difí-
cil manter o código e entender o fluxo de
controle.
• Reutilização limitada de código: As fun-
ções podem não encapsular bem o com-
portamento e os dados, dificultando a
reutilização em diferentes partes do
código.
44 POO
É um paradigma de programação que se
baseia no conceito de “objetos”, que pode
conter dados, na forma de campos ou
atributos, e códigos, na forma de procedi-
mentos ou métodos. Ela enfatiza a modula-
ridade e a reutilização de código, permi-
tindo uma modelagem mais próxima da rea-
lidade. Exemplos de linguagens de progra-
mação orientadas a objetos incluem Python,
Java e C++.
45 Prós da POO
• Reutilização de código: A reutilização de
classes e objetos promove um código
mais modular e menos redundante.
• Encapsulamento: Os objetos encapsulam
dados e comportamentos relacionados,
facilitando a manutenção e a proteção
entre componentes.
• Modelagem do mundo real: A mode-
lagem de problemas do mundo real se
torna mais natural, já que os objetos po-
dem representar entidades reais com
atributos e comportamentos.
46 Contras da POO
• Complexidade inicial: Pode ser mais difícil
para iniciantes entenderem os conceitos
de POO, como herança e polimorfismo.
• Desempenho: Em algumas situações, a
abstração de objetos pode resultar em
sobrecarga de desempenho em compa-
ração com a programação estruturada.
47 Diferenças e Semelhanças
Diferenças:
1. Abordagem: Uma programação estrutu-
rada se concentra em algoritmos e estru-
turas de controle, enquanto uma progra-
mação orientada a objetos se concentra na
modelagem de entidades do mundo real.
2. Modularidade: A programação estrutu-
rada é mais linear, enquanto o POO promo-
ve a modularidade e a reutilização de códi-
go através de classes e objetos.
48 Diferenças e Semelhanças
Semelhanças:
1. Ambos usam controle de fluxo: Ambos os
paradigmas utilizam estruturas de controle
de fluxo, como loops e condicionais, para
controlar a execução do programa.
2. Ambas são amplamente utilizadas: Tanto
a programação estruturada quanto a
voltada para objetos são amplamente utili-
zadas na indústria de desenvolvimento de
software.
49 Exemplos de uso em Python
Programação Estruturada
50 Exemplos de uso em Python
Programação Orientada a Objetos
51 Quadro Comparativo
Portanto, a POO define uma programação voltada aos
conceitos de classes e objetos e, em contrapartida, a
programação estruturada define uma programação
voltada a procedimentos e funções definidas pelo usuário.
52 Quadro Comparativo
PROGRAMAÇÃO
ESTRUTURADA
PROGRAMAÇÃO
ORIENTADA A OBJETOS
PROCESSO OBJETOS
REVELA DADOS OCULTA DADOS
PROJETO MONOLÍTICO PROJETO MODULAR
REUTILIZAÇÃO
USO ÚNICO
ALGORITMO ORDENADO
ALGORITMO
DESORDENADO
53
Programação orientada a objetos : Curso técnico de
informática / Victorio Albani de Carvalho, Giovany Frossard
Teixeira. – Colatina: IFES, 2012.
FURGERI, Sérgio. Programação orientada a objetos: Conceitos e
técnicas. Editora Érica, 2015.
SARAIVA JR., Orlando. Introdução à Orientação a Objetos com C++ e
Python.
Uma Abordagem Prática. Novatec, 2017.
DEITEL, Paul. Java Como Programar. 8 ed. Bookman, 2010.
https://alonza.com.br/programacao-orientada-a-objetos/
Referências
54
Até a próxima aula...
55
A única pessoa
que você tem
que superar
todos os dias é
VOCÊ mesmo!
NUNCA DEIXE
DE ESTUDAR!
56
Bons estudos!

Mais conteúdo relacionado

PDF
Introducao POO.pdf
PDF
Programação Orientada a Objeto..........
PDF
ebook - Introdução à Programação Orientada a Objetos (POO).pdf
PDF
01 introducao-a-programacao-orientada-a-objetos-programacao-orientada-a-objet...
PDF
Orientação a objetos java
PPTX
Programação Estruturada e Orientada a Objetos
PPTX
Paradigmas de programação
PDF
Aula de fundamentos de Programação Orientada a Objeto na linguagem de program...
Introducao POO.pdf
Programação Orientada a Objeto..........
ebook - Introdução à Programação Orientada a Objetos (POO).pdf
01 introducao-a-programacao-orientada-a-objetos-programacao-orientada-a-objet...
Orientação a objetos java
Programação Estruturada e Orientada a Objetos
Paradigmas de programação
Aula de fundamentos de Programação Orientada a Objeto na linguagem de program...

Semelhante a Programação Orientada a Objetos - POO (IFPI) (20)

PDF
POO - Aula 1
PDF
Poo frank
PDF
3 oo-concepts
PDF
3 oo-concepts
PPTX
APRESENTAÇÃO - Introdução à programação orientada por objetos.pptx
PDF
Slides 02 - Orientacao a Objetos.pdf
PDF
3294 lógica de programação
PPTX
aula 1.pptx
PDF
Programacao ii volume1_v_final
PDF
Net uma revisão sobre a programação orientada a objetos
PPTX
3.1 orientação objetos
PDF
Programação Orientada á Objeto - Paradigmas e Implementação
PPTX
Linguagem de programação introdução v1
PDF
Descritivo_Introducao_a_Programacao_Orientada_a_Objetos_POO.pdf
PPT
Apresentação programação orientada à objetos
PDF
poo-aula01.pdf
PPT
01 Orientacao A Objetos Programacao
PDF
Poo padadigmas
PPTX
Módulo 9 - Introdução à Programação Orientada a Objectos
PPTX
AULA - 01 - POO e Estrutura de Dados.pptx
POO - Aula 1
Poo frank
3 oo-concepts
3 oo-concepts
APRESENTAÇÃO - Introdução à programação orientada por objetos.pptx
Slides 02 - Orientacao a Objetos.pdf
3294 lógica de programação
aula 1.pptx
Programacao ii volume1_v_final
Net uma revisão sobre a programação orientada a objetos
3.1 orientação objetos
Programação Orientada á Objeto - Paradigmas e Implementação
Linguagem de programação introdução v1
Descritivo_Introducao_a_Programacao_Orientada_a_Objetos_POO.pdf
Apresentação programação orientada à objetos
poo-aula01.pdf
01 Orientacao A Objetos Programacao
Poo padadigmas
Módulo 9 - Introdução à Programação Orientada a Objectos
AULA - 01 - POO e Estrutura de Dados.pptx
Anúncio

Último (7)

DOC
COMO AUTOMATIZR JOGOS SUPER NINTENDO ATRAVES DA PROGRAMAÇÃO
PDF
Evolução em código: algoritmos genéticos com PHP
PDF
Dos requisitos ao código: como criar código rastreável em PHP
PPTX
Curso de Windows 11 resumido na prática.pptx
DOC
CODIGO PARA AUTOMATIZAR A JOGABILIDADE SUPER MARIO
PPTX
Mapeamento de Objeto para Tabela Relacional
PDF
apresentacao introducao computacao ead.pdf
COMO AUTOMATIZR JOGOS SUPER NINTENDO ATRAVES DA PROGRAMAÇÃO
Evolução em código: algoritmos genéticos com PHP
Dos requisitos ao código: como criar código rastreável em PHP
Curso de Windows 11 resumido na prática.pptx
CODIGO PARA AUTOMATIZAR A JOGABILIDADE SUPER MARIO
Mapeamento de Objeto para Tabela Relacional
apresentacao introducao computacao ead.pdf
Anúncio

Programação Orientada a Objetos - POO (IFPI)

  • 1. Programação Orientada a Objetos (POO) Prof. Silvio Rangel Souza Oliveira
  • 2. 2 Conteúdo Programático 1. Paradigma da Orientação a Objetos e representação gráfica em UML (diagramas de classe e objeto).
  • 3. 3 Programação estruturada versus orientada a objetos Programação orientada a objetos
  • 4. 4 Neste primeiro módulo, você conhecerá um pouco sobre programação estruturada (co-mo funciona e qual a sua estrutura) e sobre programação orientada a objetos (como funciona e alguns conceitos). Antes de entender as diferenças entre estas duas programações, é necessário entender os conceitos de cada uma. Programação estruturada versus orientada a objetos
  • 5. 5 Imagine que quando falamos dessas duas programações, estamos falando de duas pessoas diferentes. É importante saber que apesar dessas duas pessoas terem o mesmo objetivo de vida, que é programar, cada uma tem seu jeito particular de pensar. Vamos entender melhor como é a progra- mação estruturada e como ela funciona? Programação estruturada versus orientada a objetos
  • 6. 6  É preciso saber que este tipo de programação segue uma lógica e sequência de pensamentos de uma máquina. Ou seja, a sua lógica é direcio- nada à linguagem de máquina, já que ela realiza o que foi orientado pelo programa- dor por meio de uma linguagem estrutu- rada. Programação estruturada
  • 7. 7  Parasaber mais sobre isso, observe o recurso abaixo. As imagens contidas nele representam fluxogramas (símbolos para representação de regras e procedimento lógicos que levam a solução de um problema) das interações já mencionadas: sequência, decisão e iteração. Programação estruturada
  • 8. 8 Programação estruturada Sequência Segue uma sequência lógica para realizar determinada ação, ou seja, os comandos.
  • 9. 9 Programação estruturada Decisão Uma ou mais decisões devem ser testadas pelo programa, por exemplo: If Else, Else If, SWITCH-CASE.
  • 10. 10 Programação estruturada Iteração É uma repetição que pode ser interrompida quando a condição for satisfeita, por exemplo: mostre na tela números de 1 a 100, o programa iniciará mostrando o número 1 na tela e só finalizará quando chegar ao número 100, que neste caso é a condição a ser satisfeita. As estruturas a serem utilizadas para realizar essa tarefa pode ser a FOR, a WHILE e a DO WHILE.
  • 11. 11 A estruturada segue processo (sequência contínua de fatos) para conseguir atingir o seu objeto final, que é a solução de um determinado problema. Imagine que existe um programa a ser desenvolvido, onde várias etapas precisam ser cumpridas. Na programação estruturada esse programa é dividido em vários processos pequenos e depois que todos estão resolvidos, os juntamos para formar a resolução final do problema. Programação estruturada
  • 12. 12 Para entender de forma mais clara o conceito apresentado, observe o exemplo a seguir: Em uma pizzaria, você trabalha como pizzaio- lo, e o problema que precisa resolver é o de fa- zer uma pizza de calabresa. Muitos processos devem ser realizados para que você consiga realizar sua tarefa, não é mesmo? Programação estruturada
  • 13. 13 Para isso você segue, passo a passo, cada uma das atividades, como: 1. Preparar a massa; 2. Colocar o recheio; 3. Ligar o forno, se não estiver ligado; 4. Colocar a pizza para assar; 5. Retirar a pizza do forno depois de 10 minutos. Pronto, você conseguiu preparar a pizza de calabresa corretamente. Programação estruturada
  • 14. 14 É assim que funciona a programação estruturada, ela é realizada por sequên- cia como a preparação de uma pizza! Programação estruturada
  • 15. 15 Para conhecer mais sobre a programação estruturada, as estruturas por meio de fluxogramas e como elas são utilizadas na programação, convidamos você a assistir o vídeo Fluxogramas e programação estruturada. Programação estruturada https://www.youtube.com/watch?v=kcic0UK-MMY
  • 16. 16 Agora que você compreendeu sobre a lógica por trás da programação estruturada, vamos entender como funciona a programação orientada a objetos? Como você viu, as duas são um modo de programação, mas cada uma possui a sua própria lógica de funcionamento. Programação orientada a objetos
  • 17. 17 Enquanto a programação estruturada obede- ce a uma lógica de máquina, a programação orientada a objetos funciona de um modo mais similar ao raciocínio humano. Os seus códigos são organizados de acordo com obje- tos, e não processos, como no caso da progra- mação estruturada. Programação orientada a objetos
  • 18. 18 Portanto, a Programação Orientada a Objetos transcende a simples manipulação de linhas de código, introduzindo uma filosofia que se baseia na modelagem do mundo real. Em vez de tratar os programas apenas como instruções abstratas, a POO nos permite criar representações tangíveis de entidades do mundo real, conhecidas como “objetos”. Programação orientada a objetos
  • 19. 19 Esses objetos possuem características (atribu- tos) e comportamentos (métodos) que espe- lham seus correspondentes no mundo físico. Dessa forma, a POO nos permite construir sis- temas de software que imitam a lógica e a estrutura das situações do mundo real. Programação orientada a objetos
  • 20. 20  Em vez de tratar os programas apenas como instruções abstratas, a POO nos permite criar representações tangíveis de entidades do mundo real, conhecidas como “objetos”. Programação orientada a objetos
  • 21. 21 Para ajudá-lo a compreender melhor, assista ao vídeo que trata sobre como surgiu a POO. Programação orientada a objetos https://www.youtube.com/watch?v=f-aDDLRmugU
  • 22. 22 Agora que você já sabe como funciona e qual a estrutura tanto da programação estruturada quanto da programação orientada a objetos, chegou o momento de compreender como surgiu a programação orientada a objetos. Vamos lá? Ela foi desenvolvida na Noruega em meados de 1962 no Centro Norueguês de Computa- ção (Norwegian Computing Center - NCC) da Universidade de Oslo. Programação orientada a objetos
  • 23. 23 Os pesquisadores Kristen Nygaard e Ole-Johan Dahl aceitaram o desafio de criar uma língua- gem de simulação de eventos discretos. De modo não surpreendente, eles decidiram batizar a linguagem de SIMULA. Mais tarde, devido a uma reformulação, ela foi chamada de SIMULA I e, em sua segunda e final versão, foi chamada de SIMULA 67. Esta última versão é reconhecida como a primeira linguagem de renome no que diz respeito ao universo da Orientação a Objetos. Programação orientada a objetos
  • 24. 24 Interessante não é mesmo? Com isso, o surgimento da programação orien- tada a objetos aconteceu como forma de fa- cilitar a programação, o que seria quase im- possível com a programação estruturada. Programação orientada a objetos
  • 25. 25 De acordo com o vídeo, o modo de programar orientado a objetos surgiu da ne- cessidade de deixar a programação mais fácil, possibilitando ao desenvolvedor entregar um software que satisfaça completamente o clien- te. Algo muito difícil e às vezes, quase impos- sível, com a programação estruturada. Para que isso ocorra, é necessário que você, como programador, ensine a máquina a pen- sar como os seres humanos, mostrando como o nosso mundo funciona. Programação orientada a objetos
  • 26. 26 Certo, mas como se faz isso? Primeiro, você precisa compreender alguns conceitos! Vamos lá? Programação orientada a objetos
  • 27. 27 São elementos do mundo real para o mundo da programação. O objeto é criado a partir de uma classe. É algo que se visualiza, se utiliza e assume um papel no domínio do problema. Um exemplo disso é um Fusca 1964. Programação orientada a objetos OBJETOS
  • 28. 28 São as características do objeto. Considerando o exemplo do Fusca 1964, os atributos deles são: ano de fabricação é 1964 e que ele tem um formato arredondado e o motor fica na parte traseira. Programação orientada a objetos ATRIBUTOS
  • 29. 29 Programação orientada a objetos São os comportamentos do objeto. Ainda de acordo com o exemplo, o Fusca pode se locomover, transportando pessoas, cargas, etc. MÉTODOS
  • 30. 30 Programação orientada a objetos São os agrupamentos que descrevem todos os objetos de um único tipo. Por exemplo, o fusca pertence à classe dos carros. Não importa a sua marca ou ano. O que importa é que são objetos que se encaixam nesta classe, que serve como molde para a criação dos objetos. É na classe que são moldados os objetos que serão utilizados do programa a ser desenvolvido. CLASSES
  • 31. 31 Programação orientada a objetos Assim, você entendeu os conceitos funda- mentais na programação de objetos, os quais são os objetos e as classes. Todavia, é preciso também compreender um outro conceito correlato: o de atributos. Os atributos são simplesmente as carac- terísticas de um objeto. Ou seja, no nosso exemplo de carro, podemos ter atributos como modelo, placa, ano, cor, tamanho, etc.
  • 32. 32 Programação orientada a objetos Veja outro exemplo, reunimos alguns atri- butos que podem ser inseridos em uma clas- se de um objeto do tipo “pessoa”. Nas palavras apresentadas, é possível notar alguns atributos relacionados à classe pes- soa (bonita, engraçada, esperta, grande, gorda, etc.), ou seja, nessa classe, é possível encontrar pessoas (objetos) com tais carac- terísticas (atributos).
  • 33. 33 Programação orientada a objetos Já os métodos são todos os tipos de ação que um objeto pode realizar. No caso de um carro podemos pensar em ações como dar ré, ir para frente, frear, etc. No caso de uma pessoa, podemos pensar em ações como comer, correr, falar, andar, entre outras diversas ações que uma pessoa pode reali-zar.
  • 34. 34 Programação orientada a objetos Agora que você já compreendeu os concei- tos fundamentais da programação de obje- tos, confira um exemplo de aplicação que reúne o conceito de método e instância.
  • 36. 36 Programação orientada a objetos Observe a classe chamada “Pessoa”, que possui atributos como: nome, telefone, e- mail, idade. Lembre-se que os métodos dessa classe são as ações que essa pessoa pode realizar como: andar, falar, escrever e correr. Note que agora temos um novo conceito, as instâncias. As instâncias são novos objetos que são criadas a partir de uma classe. De maneira simples, são objetos que tem o seu comportamento e estado definidos por uma classe.
  • 37. 37 Programação orientada a objetos Dessa forma, todos os novos objetos ou instâncias terão o mesmo conjunto de atributos definidos na classe, porém o conteúdo desses atributos é individual, ou seja, de cada objeto. Portanto, podemos observar que as instâncias Fabio e Paulo, apesar de serem compostas pelo mesmo conjunto de atributos, possuem conteúdos individuais.
  • 38. 38 Programação orientada a objetos Na prática fica mais fácil compreender essas questões. Assim sendo, podemos constatar que os conceitos “Método” e “Instância” estudados são essenciais para a programação orien- tada a objetos.
  • 39. 39 Para ajudá-lo a compreender melhor, assista ao vídeo que trata sobre Classe, Objeto e Instâncias. Programação orientada a objetos https://www.youtube.com/watch?v=QJjY2TNyl-8 https://www.youtube.com/watch?v=iwjGqyTeUqM
  • 41. 41 Programação Estruturada É um paradigma de programação que or- ganiza o código em uma sequência de ins- truções e estruturas de controle de fluxo, como loops e condicionais. É baseado na execução sequencial de instruções e na di- visão do código em funções ou procedi- mentos, buscando a modularização e a cla- reza do código. Um exemplo de linguagem clássica que suporta programação estrutu- rada é o C.
  • 42. 42 Prós da Programação Estruturada • Simplicidade: É mais fácil entender e escrever código estruturado para inici- antes. • Desempenho: Em muitos casos, progra- mas estruturados podem ser mais efici- entes em termos de uso de recursos com- putacionais. • Facilidade de depuração: O fluxo de exe- cução é linear, facilitando a identificação e correção de erros.
  • 43. 43 Contras da Programação Estruturada • Dificuldade em lidar com sistemas complexos: À medida que o sistema cres- ce em complexidade, pode tornar-se difí- cil manter o código e entender o fluxo de controle. • Reutilização limitada de código: As fun- ções podem não encapsular bem o com- portamento e os dados, dificultando a reutilização em diferentes partes do código.
  • 44. 44 POO É um paradigma de programação que se baseia no conceito de “objetos”, que pode conter dados, na forma de campos ou atributos, e códigos, na forma de procedi- mentos ou métodos. Ela enfatiza a modula- ridade e a reutilização de código, permi- tindo uma modelagem mais próxima da rea- lidade. Exemplos de linguagens de progra- mação orientadas a objetos incluem Python, Java e C++.
  • 45. 45 Prós da POO • Reutilização de código: A reutilização de classes e objetos promove um código mais modular e menos redundante. • Encapsulamento: Os objetos encapsulam dados e comportamentos relacionados, facilitando a manutenção e a proteção entre componentes. • Modelagem do mundo real: A mode- lagem de problemas do mundo real se torna mais natural, já que os objetos po- dem representar entidades reais com atributos e comportamentos.
  • 46. 46 Contras da POO • Complexidade inicial: Pode ser mais difícil para iniciantes entenderem os conceitos de POO, como herança e polimorfismo. • Desempenho: Em algumas situações, a abstração de objetos pode resultar em sobrecarga de desempenho em compa- ração com a programação estruturada.
  • 47. 47 Diferenças e Semelhanças Diferenças: 1. Abordagem: Uma programação estrutu- rada se concentra em algoritmos e estru- turas de controle, enquanto uma progra- mação orientada a objetos se concentra na modelagem de entidades do mundo real. 2. Modularidade: A programação estrutu- rada é mais linear, enquanto o POO promo- ve a modularidade e a reutilização de códi- go através de classes e objetos.
  • 48. 48 Diferenças e Semelhanças Semelhanças: 1. Ambos usam controle de fluxo: Ambos os paradigmas utilizam estruturas de controle de fluxo, como loops e condicionais, para controlar a execução do programa. 2. Ambas são amplamente utilizadas: Tanto a programação estruturada quanto a voltada para objetos são amplamente utili- zadas na indústria de desenvolvimento de software.
  • 49. 49 Exemplos de uso em Python Programação Estruturada
  • 50. 50 Exemplos de uso em Python Programação Orientada a Objetos
  • 51. 51 Quadro Comparativo Portanto, a POO define uma programação voltada aos conceitos de classes e objetos e, em contrapartida, a programação estruturada define uma programação voltada a procedimentos e funções definidas pelo usuário.
  • 52. 52 Quadro Comparativo PROGRAMAÇÃO ESTRUTURADA PROGRAMAÇÃO ORIENTADA A OBJETOS PROCESSO OBJETOS REVELA DADOS OCULTA DADOS PROJETO MONOLÍTICO PROJETO MODULAR REUTILIZAÇÃO USO ÚNICO ALGORITMO ORDENADO ALGORITMO DESORDENADO
  • 53. 53 Programação orientada a objetos : Curso técnico de informática / Victorio Albani de Carvalho, Giovany Frossard Teixeira. – Colatina: IFES, 2012. FURGERI, Sérgio. Programação orientada a objetos: Conceitos e técnicas. Editora Érica, 2015. SARAIVA JR., Orlando. Introdução à Orientação a Objetos com C++ e Python. Uma Abordagem Prática. Novatec, 2017. DEITEL, Paul. Java Como Programar. 8 ed. Bookman, 2010. https://alonza.com.br/programacao-orientada-a-objetos/ Referências
  • 55. 55 A única pessoa que você tem que superar todos os dias é VOCÊ mesmo! NUNCA DEIXE DE ESTUDAR!