PROGRAMAÇÃO ORIENTADA A OBJETO
INTRODUÇÃO A POO
POO???
INTRODUÇÃO A POO:
Ah,
PROGRAMAÇÃO
ORIENTADA A
OBJETO
MAS COMO ISSO
FUNCIONA???
DEFINIÇÃO:
POO
É um paradigma para o desenvolvimento de
software que baseia-se na utilização de componentes
individuais (o...
HISTÓRIA
A Programação Orientada ao Objeto (Object-Oriented
Programming) foi concebida há muito tempo atrás (no inicio da ...
CÓDIGO ESTRUTURADO
CÓDIGO ORIENTADO A OBJETO
CLASSE SOMA
CLASSE PRINCIPAL
ALGUMAS LINGUAGENS ORIENTADAS A OBJETOS
CARACTERÍSTICAS DE POO
CLASSE, OBJETOS, ATRIBUTOS E
MÉTODOS
ATRIBUTOS E MÉTODOS
ATRIBUTOS:
São as características próprias daqueles
objetos a qual a classe refere-se.
MÉTODOS:
São as...
CLASSE
public class Pessoa{
String nome = null ;
int idade = 0;
String endereço = null ;
public Pessoa ( String n, int i, ...
public class TestePessoa {
public static void main( String [] args) {
String nome = "Joao" ;
int idade = 30;
String endere...
RESUMINDO :
ABSTRAÇÃO
É utilizada para a definição de entidades do mundo real.
Sendo onde são criadas as classes.
Essas entidades são ...
ENCAPSULAMENTO
• Esconder os detalhes da implementação de um
objeto;
• A capacidade de um objeto possuir uma parte
privada...
MÉTODOS PADRÕES
Getters
Setters
Métodos is
São métodos que permitem a leitura
de atributos da classe, sendo uma
boa prátic...
CÓDIGO
public class Data{
private int ano;
private byte mes;
private byte dia;
public int getAno() {
return ano;
} public ...
else
System .out.println( "Dia invalido" );
} public byte getMes() {
return mes;
} public void ajustarMes( byte m) {
if (m...
AGREGAÇÃO
Agregação
é um tipo de associação onde o todo está relacionado com suas partes.
É representada com o símbolo de ...
CÓDIGO
POLIFORMISMO
• A palavra polimorfismo vem do grego e significa que
pode tomar várias formas. É a capacidade de tipos mais
...
TIPOS DE DADOS
• Ad HOC
• Paramétrico
• Herança
CÓDIGO
Abstract class Animal{
abstract void som();
}
Class Gato extends Animal{
void som(0{
System.out.println(“miau”);
}
...
PROGRAMA PRINCIPAL
public class Principal{
public static void main(String[]args){
Animal a;
Cachorro c = new Gato();
a = g...
SOBRECARGA (OVERLOADING) DE MÉTODOS
public class x {
public void m1( ) {...}
public void m1 ( int p ) {...}
}
//Este métod...
SOBREPOSIÇÃO (OVERRIDING) DE MÉTODOS
public class A {
public void m1( ) {
System.out.print (“Classe A ”)
}
}
public class ...
HERANÇA
Herança é o mecanismo que possibilita a definição de
novas classes a partir de uma já existente, como forma de
reu...
HERANÇA DE ATRIBUTOS E MÉTODOS
HERANÇA DE RELACIONAMENTO
TIPOS DE HERANÇA
HERANÇA ESTRITA
HERANÇA NÃO ESTRITA
as subclasses podem redefinir
ou excluir propriedades
herdadas da sup...
HERANÇA MÚLTIPLA
Herança múltipla
é a possibilidade de se definir uma
subclasse com mais de uma superclasse.
CÓDIGO
CLASSE FORNECEDORPESSOA
CLASSE FORNECEDOREMPRESA
RESUMINDO:
EXERCÍCIOS
1) Implemente uma classe Estudante
com os seguintes atributos:
Nome, nt1, nt2, nt3; e com método
chamado média ...
Próximos SlideShares
Carregando em…5
×

Poo (1)

499 visualizações

Publicada em

0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
499
No SlideShare
0
A partir de incorporações
0
Número de incorporações
3
Ações
Compartilhamentos
0
Downloads
20
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Poo (1)

  1. 1. PROGRAMAÇÃO ORIENTADA A OBJETO
  2. 2. INTRODUÇÃO A POO POO??? INTRODUÇÃO A POO: Ah, PROGRAMAÇÃO ORIENTADA A OBJETO MAS COMO ISSO FUNCIONA???
  3. 3. DEFINIÇÃO: POO É um paradigma para o desenvolvimento de software que baseia-se na utilização de componentes individuais (objetos) que colaboram para construir sistemas mais complexos. A colaboração entre os objetos é feita através do envio de mensagens.
  4. 4. HISTÓRIA A Programação Orientada ao Objeto (Object-Oriented Programming) foi concebida há muito tempo atrás (no inicio da década de 70), a sua origem vem da linguagem Simula (Simula Language), concebida na Noruega na década de 60, e como o nome indica, foi criada para fazer simulações; entretanto, seu uso alavancou um conceito que até então passava desapercebido pela maioria dos projetistas: a similaridade com o mundo real. A primeira linguagem de programação a implementar os conceitos de OOP foi a linguagem SIMULA-68; em seguida surgiu a linguagem Smalltalk; criada pela Xerox, que pode ser considerada a linguagem que popularizou e incentivou o emprego da OOP. Hoje quando falamos em programação orientada a objeto a primeira linguagem que vem na nossa cabeça e o java da oracle.
  5. 5. CÓDIGO ESTRUTURADO
  6. 6. CÓDIGO ORIENTADO A OBJETO
  7. 7. CLASSE SOMA
  8. 8. CLASSE PRINCIPAL
  9. 9. ALGUMAS LINGUAGENS ORIENTADAS A OBJETOS
  10. 10. CARACTERÍSTICAS DE POO
  11. 11. CLASSE, OBJETOS, ATRIBUTOS E MÉTODOS
  12. 12. ATRIBUTOS E MÉTODOS ATRIBUTOS: São as características próprias daqueles objetos a qual a classe refere-se. MÉTODOS: São as ações próprias daqueles objetos a qual a classe refere-se. Um método não é nada mais que um procedimento.
  13. 13. CLASSE public class Pessoa{ String nome = null ; int idade = 0; String endereço = null ; public Pessoa ( String n, int i, String e){ nome = n; idade = i; endereço = e; } }
  14. 14. public class TestePessoa { public static void main( String [] args) { String nome = "Joao" ; int idade = 30; String endereco = "Av Paulista 900" ; Pessoa Breno = new Pessoa(nome, idade, endereco); System .out.println(Breno.nome); System .out.println(Breno.idade); System .out.println(Breno.endereco); } } PROGRAMA PRINCIPAL
  15. 15. RESUMINDO :
  16. 16. 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.
  17. 17. ENCAPSULAMENTO • Esconder os detalhes da implementação de um objeto; • A capacidade de um objeto possuir uma parte privada, acessível somente através dos métodos definidos na sua interface pública; • Não se deve permitir acesso direto aos atributos de uma classe;
  18. 18. MÉTODOS PADRÕES Getters Setters Métodos is São métodos que permitem a leitura de atributos da classe, sendo uma boa prática cria-los para cada atributo que desejarmos encapsular. São métodos para modificar os valores dos atributos visando protege-los da escrita ou modificação indevida. É possível estabelecer certas normas e controles dentro dos métodos Setters. São métodos utilizados para leitura de atributos booleanos.
  19. 19. CÓDIGO public class Data{ private int ano; private byte mes; private byte dia; public int getAno() { return ano; } public void setAno( int a) { if (a > 0){ ano = a; } else System .out.println( "Ano invalido" ); } public byte getDia() { return dia; } public void setDia( byte d) { if (d > 0 && d <= 31 ){ dia = d; }
  20. 20. else System .out.println( "Dia invalido" ); } public byte getMes() { return mes; } public void ajustarMes( byte m) { if (m > 0 && m <= 12 ){ mes = m; } else System .out.println( "Mes invalido" ); } public boolean isAnoBissexto(){ if (((ano % 4 == 0) && (ano % 100 != 0)) || (ano % 400 == 0)) return true ; else return false ; } }
  21. 21. AGREGAÇÃO Agregação é um tipo de associação onde o todo está relacionado com suas partes. É representada com o símbolo de um diamante junto a classe agregadora.
  22. 22. CÓDIGO
  23. 23. POLIFORMISMO • A palavra polimorfismo vem do grego e significa que pode tomar várias formas. É a capacidade de tipos mais abstratos representarem tipos mais específicos. • Varias formas de fazer varias coisas.
  24. 24. TIPOS DE DADOS • Ad HOC • Paramétrico • Herança
  25. 25. CÓDIGO Abstract class Animal{ abstract void som(); } Class Gato extends Animal{ void som(0{ System.out.println(“miau”); } } Class Cachorro extends Animal{ void som(){ System.out.println(“auauaua”); } }
  26. 26. PROGRAMA PRINCIPAL public class Principal{ public static void main(String[]args){ Animal a; Cachorro c = new Gato(); a = g; a.som(); // imprime o miau a = c; a.som(); // imprime o auau } }
  27. 27. SOBRECARGA (OVERLOADING) DE MÉTODOS public class x { public void m1( ) {...} public void m1 ( int p ) {...} } //Este método é sobrecarregado por que tem nomes iguais mas assinaturas diferentes.
  28. 28. SOBREPOSIÇÃO (OVERRIDING) DE MÉTODOS public class A { public void m1( ) { System.out.print (“Classe A ”) } } public class B extends A { public void m1( ){ System.out.print (“Classe B ”) } } // Dois métodos (de classes diferentes) sobrepõem-se se têm a mesma assinatura e (necessariamente) o mesmo tipo de resultado.
  29. 29. HERANÇA Herança é o mecanismo que possibilita a definição de novas classes a partir de uma já existente, como forma de reutilizar seus atributos e métodos. Isso é possível mesmo quando não se tem acesso ao código fonte da superclasse.
  30. 30. HERANÇA DE ATRIBUTOS E MÉTODOS
  31. 31. HERANÇA DE RELACIONAMENTO
  32. 32. TIPOS DE HERANÇA HERANÇA ESTRITA HERANÇA NÃO ESTRITA as subclasses podem redefinir ou excluir propriedades herdadas da superclasse. Nesta ele herda mais não pode redefinir nem excluir propriedades.
  33. 33. HERANÇA MÚLTIPLA Herança múltipla é a possibilidade de se definir uma subclasse com mais de uma superclasse.
  34. 34. CÓDIGO
  35. 35. CLASSE FORNECEDORPESSOA
  36. 36. CLASSE FORNECEDOREMPRESA
  37. 37. RESUMINDO:
  38. 38. EXERCÍCIOS 1) Implemente uma classe Estudante com os seguintes atributos: Nome, nt1, nt2, nt3; e com método chamado média onde recebe as três notas como parâmetro e calcula a média. 2) Cria o programa principal para a classe anterior que mande os valores da classe e Mostre o nome do aluno e a sua média;

×