Programação Orientada
a Objetos(C++)
Equipe: Nome dos integrantes aqui
Antes começarmos precisamos entender melhor o que
é um paradigma e como afeta o jeito que programamos.
Então o que é um paradigma?
Significa modelo ou padrão.
Um conjunto de ideias.
Um paradigma de programação é um modelo a ser seguido,
conjunto de técnicas que segue princípios.
Há diversos paradigmas os mais conhecidos na computação
são o estruturado e orientado a objetos.
Introdução:
Paradigmas da Programação
Paradigma de Programação:
Estruturado x Orientado a Objetos
Acrescentar algo aqui!!!!
Programação Orientada a Objetos:
Surgimento
A orientação a objetos tem sua origem nos anos 60 com Kristen
Nygaard e Ole-Johan Dahl, através da linguagem Simula 67,
nestes, foram introduzido o conceito de Classe e Herança.
O termo programação orientada a objetos foi criado por Alan
Kay, autor da linguagem de programação Smaltalk.
Alan Kay começou a programar em Simula 67, e a partir de seus
conhecimentos em Biologia e Matemática, Alan Kay formulou sua
analogia “Algebrico-Biologica”. Assim, ele lançou um postulado
que um computador ideal deveria funcionar como um organismo
vivo, ou seja, cada célula se comportaria relacionando-se com
outras a fim de alcançar um objetivo comum. Estas células
também poderiam se reagrupar e resolver outros problemas ou
desempenhar outras funções, trocando mensagens “químicas”
entre elas.
Programação Orientada a Objetos:
Princípios
Alan Kay um dia observou seu colega professor ensinando crianças
a programar uma linguagem interpretativa a linguagem Logo.
Então ele percebeu que o conceito de objetos havia um enorme
potencial como ferramenta cognitiva, assim como o modo das
pessoas pensarem. Ele percebeu que um substantivo isolado faz
idealizar ou abstrair uma ideia concreta na mente das pessoas e
um verbo isolado não. Então Alan Kay começou a construir um
sistema de software a partir de agentes autônomos que
interagissem entre sim estabelecendo assim os princípios da
orientação a objetos que são:
Objetos
Atributos, métodos, mensagens
Classes
Abstração
Programação Orientada a Objetos:
Conceito inicial
A programação orientada a objetos foi criada para tentar aproximar o mundo
real do mundo virtual, simulando assim o mundo real dentro do computador. Para
isso nada mais natural que utilizar objetos, que é o que compõe nosso mundo.
Na POO o programador é responsável por moldar o mundo dos objetos, explicar
como estes objetos devem interagir entre si.
Programação Orientada a Objetos:
Objetos
Afinal o que é um objeto?
Tudo é um objeto!!!
Programação Orientada a Objetos:
Objetos
Além disso, objetos tem atributos!
Tipo: Elétrico
Gênero: Masculino
Peso: 6,0kg
Altura: 0,4m
 Habilidades: Choque do Trovão
Assim como objetos podem realizar ações(Ou métodos).
Atacar
Eletrocutar seu alvo
Programação Orientada a Objetos:
Atributos, Métodos e Mensagens
Objetos
Constituem as estruturas básica de uma aplicação.
Estão preparados para cumprir um determinado conjunto de requisições.
Recebem requisições através de mensagens.
Possuem um estado representado por informações internas.
O estado de um objeto é representado por variáveis denominadas atributos.
Métodos
São as rotinas que descrevem os possíveis comportamentos ou ações de um objeto.
Alteração no estado de um objeto geralmente ocorre na chamada de um método.
Um método de um objeto é invocado através de um envio de uma mensagem
apropriada.
Programação Orientada a Objetos:
Características
Os 4 pilares da programação orientada a objetos são:
Abstração
Herança
Polimorfismo
Encapsulamento
Programação Orientada a Objetos:
Abstração
Conceito: Abstração é a ação ou efeito de abstrair algo, ou seja,
de isolar mentalmente um elemento ou uma propriedade de um
todo
Consiste em trabalhar um objeto dentro da programação se
preocupando apenas com suas principais propriedades
A lógica da abstração é mais uma forma de pensar.
Na programação orientada a objetos extraímos um item do
mundo real e transformamos o em uma classe.
Programação Orientada a Objetos:
Classes
Uma classe é uma abstração que define um tipo de objeto.
O conceito de classe é relativamente simples, tente pensar no conceito de
classe utilizado na biologia: Um animal é uma classe, e tem suas características,
precisa se alimentar para viver e etc. O ser humano é uma sub-classe dos
animais.
Note que uma classe não tem vida, é só um conceito, mas os objetos(Instancias
de uma classe), possuem vida. Ex: cachorro, seres humanos, Pikachu e etc.
Programação Orientada a Objetos:
Classes
Programação Orientada a Objetos:
Herança
Podemos agora entender o segundo pilar da programação orientada a objetos a
herança.
Voltando a ideia de classes, um ser humano é um animal, ele tem
características(Atributos), e pode realizar ações(Métodos) de um animal. Mas
além disso, ele tem características e ações que só ele pode realizar, em
momentos como este é utilizado a herança.
Uma classe pai pode ter vários filhos mas normalmente nas linguagens de
programação orientada a objetos exigem que cada classe filha tem apenas uma
classe pai. A linguagem C++ permite que uma classe herde as características de
várias classes(Heranças múltiplas). Obs: Muito cuidado ao utilizar este recurso
para não deixar redundante.
Programação Orientada a Objetos:
Polimorfismo
Polimorfismo talvez um dos conceitos mais complicado de se entender na
programação orientada a objetos. O termo polimorfismo vem do grego “muitas
formas”
Na OO, isso significa que um mesmo tipo de objeto, sob certas condições, pode
realizar ações diferentes ao receber uma mensagem.
Exemplo no mundo real: botão de energia.
Programação Orientada a Objetos:
Encapsulamento
Por fim, para entendermos o último pilar da programação orientada a objetos,
devemos entender que cada objeto de um classe, ou seja a estrutura do estado e
dos pares de uma instâncias são todas definidas através da classe a qual objeto
pertence. Estes valores não são visíveis e ficam privado ao resto do código, isso
chamamos de encapsulamento.
Apenas métodos da mesma classe pode modificar o estado de um objeto.
Programação orientada a objetos:
Código em C++
Mostra o código feito em C++ com os recursos da programação orientada a
objetos.
OBRIGADO!!!!

Paradigmas de programação

  • 1.
  • 2.
    Antes começarmos precisamosentender melhor o que é um paradigma e como afeta o jeito que programamos. Então o que é um paradigma? Significa modelo ou padrão. Um conjunto de ideias. Um paradigma de programação é um modelo a ser seguido, conjunto de técnicas que segue princípios. Há diversos paradigmas os mais conhecidos na computação são o estruturado e orientado a objetos. Introdução: Paradigmas da Programação
  • 3.
    Paradigma de Programação: Estruturadox Orientado a Objetos Acrescentar algo aqui!!!!
  • 4.
    Programação Orientada aObjetos: Surgimento A orientação a objetos tem sua origem nos anos 60 com Kristen Nygaard e Ole-Johan Dahl, através da linguagem Simula 67, nestes, foram introduzido o conceito de Classe e Herança. O termo programação orientada a objetos foi criado por Alan Kay, autor da linguagem de programação Smaltalk. Alan Kay começou a programar em Simula 67, e a partir de seus conhecimentos em Biologia e Matemática, Alan Kay formulou sua analogia “Algebrico-Biologica”. Assim, ele lançou um postulado que um computador ideal deveria funcionar como um organismo vivo, ou seja, cada célula se comportaria relacionando-se com outras a fim de alcançar um objetivo comum. Estas células também poderiam se reagrupar e resolver outros problemas ou desempenhar outras funções, trocando mensagens “químicas” entre elas.
  • 5.
    Programação Orientada aObjetos: Princípios Alan Kay um dia observou seu colega professor ensinando crianças a programar uma linguagem interpretativa a linguagem Logo. Então ele percebeu que o conceito de objetos havia um enorme potencial como ferramenta cognitiva, assim como o modo das pessoas pensarem. Ele percebeu que um substantivo isolado faz idealizar ou abstrair uma ideia concreta na mente das pessoas e um verbo isolado não. Então Alan Kay começou a construir um sistema de software a partir de agentes autônomos que interagissem entre sim estabelecendo assim os princípios da orientação a objetos que são: Objetos Atributos, métodos, mensagens Classes Abstração
  • 6.
    Programação Orientada aObjetos: Conceito inicial A programação orientada a objetos foi criada para tentar aproximar o mundo real do mundo virtual, simulando assim o mundo real dentro do computador. Para isso nada mais natural que utilizar objetos, que é o que compõe nosso mundo. Na POO o programador é responsável por moldar o mundo dos objetos, explicar como estes objetos devem interagir entre si.
  • 7.
    Programação Orientada aObjetos: Objetos Afinal o que é um objeto? Tudo é um objeto!!!
  • 8.
    Programação Orientada aObjetos: Objetos Além disso, objetos tem atributos! Tipo: Elétrico Gênero: Masculino Peso: 6,0kg Altura: 0,4m  Habilidades: Choque do Trovão Assim como objetos podem realizar ações(Ou métodos). Atacar Eletrocutar seu alvo
  • 9.
    Programação Orientada aObjetos: Atributos, Métodos e Mensagens Objetos Constituem as estruturas básica de uma aplicação. Estão preparados para cumprir um determinado conjunto de requisições. Recebem requisições através de mensagens. Possuem um estado representado por informações internas. O estado de um objeto é representado por variáveis denominadas atributos. Métodos São as rotinas que descrevem os possíveis comportamentos ou ações de um objeto. Alteração no estado de um objeto geralmente ocorre na chamada de um método. Um método de um objeto é invocado através de um envio de uma mensagem apropriada.
  • 10.
    Programação Orientada aObjetos: Características Os 4 pilares da programação orientada a objetos são: Abstração Herança Polimorfismo Encapsulamento
  • 11.
    Programação Orientada aObjetos: Abstração Conceito: Abstração é a ação ou efeito de abstrair algo, ou seja, de isolar mentalmente um elemento ou uma propriedade de um todo Consiste em trabalhar um objeto dentro da programação se preocupando apenas com suas principais propriedades A lógica da abstração é mais uma forma de pensar. Na programação orientada a objetos extraímos um item do mundo real e transformamos o em uma classe.
  • 12.
    Programação Orientada aObjetos: Classes Uma classe é uma abstração que define um tipo de objeto. O conceito de classe é relativamente simples, tente pensar no conceito de classe utilizado na biologia: Um animal é uma classe, e tem suas características, precisa se alimentar para viver e etc. O ser humano é uma sub-classe dos animais. Note que uma classe não tem vida, é só um conceito, mas os objetos(Instancias de uma classe), possuem vida. Ex: cachorro, seres humanos, Pikachu e etc.
  • 13.
    Programação Orientada aObjetos: Classes
  • 14.
    Programação Orientada aObjetos: Herança Podemos agora entender o segundo pilar da programação orientada a objetos a herança. Voltando a ideia de classes, um ser humano é um animal, ele tem características(Atributos), e pode realizar ações(Métodos) de um animal. Mas além disso, ele tem características e ações que só ele pode realizar, em momentos como este é utilizado a herança. Uma classe pai pode ter vários filhos mas normalmente nas linguagens de programação orientada a objetos exigem que cada classe filha tem apenas uma classe pai. A linguagem C++ permite que uma classe herde as características de várias classes(Heranças múltiplas). Obs: Muito cuidado ao utilizar este recurso para não deixar redundante.
  • 15.
    Programação Orientada aObjetos: Polimorfismo Polimorfismo talvez um dos conceitos mais complicado de se entender na programação orientada a objetos. O termo polimorfismo vem do grego “muitas formas” Na OO, isso significa que um mesmo tipo de objeto, sob certas condições, pode realizar ações diferentes ao receber uma mensagem. Exemplo no mundo real: botão de energia.
  • 16.
    Programação Orientada aObjetos: Encapsulamento Por fim, para entendermos o último pilar da programação orientada a objetos, devemos entender que cada objeto de um classe, ou seja a estrutura do estado e dos pares de uma instâncias são todas definidas através da classe a qual objeto pertence. Estes valores não são visíveis e ficam privado ao resto do código, isso chamamos de encapsulamento. Apenas métodos da mesma classe pode modificar o estado de um objeto.
  • 17.
    Programação orientada aobjetos: Código em C++ Mostra o código feito em C++ com os recursos da programação orientada a objetos.
  • 18.