SlideShare uma empresa Scribd logo
Unidade 0 Programação Orientada a Objetos Regis Pires Magalhães [email_address]
Roteiro Introdução Programação Orientada a Objetos (por Alan Kay) Classe Objeto Encapsulamento Herança Polimorfismo Resumo Referências e Recursos
Programação Orientada a Objeto (por Alan Kay) 1. Tudo é um objeto Um objeto pode ser visto como uma variável extravagante Um objeto armazena Dados Requisições que podem ser feitas para ele Realizam operações sobre si mesmo 2. Um programa é conjunto de objetos que trocam mensagens entre si Para fazer uma requisição para um objeto, uma mensagem é enviada para ele
Programação Orientada a Objeto (por Alan Kay) 3. Cada objeto possui sua própria memória, composta de outros objetos Objetos complexos, que contenham outros objetos, podem ser criados Apesar da complexidade interna de tais objetos, do ponto de vista de uma entidade externa eles se apresentam com a mesma simplicidade de qualquer outro objeto 4. Todo objeto possui um tipo Cada objeto é uma instância de uma classe, onde classe é um sinônimo para tipo 5. Todos os objetos de um tipo particular podem receber as mesmas mensagens O mesmo código pode ser utilizado para manipular objetos que “se baseiam” em uma mesma classe
Programação Orientada a Objeto (POO) Classe Esqueleto para a criação de objetos Programadores codificam classes, não objetos Tipos definidos pelo programador Descreve um conjunto de objetos que possuem as mesmas características (dados) e comportamentos (operações)  O conjunto de requisições que podem ser feitas a um objeto define sua  interface Para escrever uma classe Defina seus dados (atributos) Defina seus comportamentos (métodos)
Classe Exemplo:  Uma classe Cachorro com: atributos nome e idade; métodos latir, obterNome e obterIdade
Programação Orientada a Objetos class   Cachorro   { String   nome ; int   idade ; Cachorro(String   n,   int   id)   { nome   =   n; idade   =   id; } void   latir()   { System. out .println( "Au, Au" ); } int   obterIdade()   { return   idade ; } String   obterNome()   { return   nome ; } } Exemplo escrito em Java
Programação Orientada a Objetos Objeto Possui dados (atributos) Informação sobre o estado do objeto Possui um conjunto definido de comportamentos Ações que o objeto pode realizar em si mesmo Mudam o estado do objeto Possui uma identidade Pode ser distinguido de outros objetos Um objeto é uma instância de uma classe
Alguns ambientes educacionais que facilitam o entendimento da OO BlueJ
Alguns ambientes educacionais que facilitam o entendimento da OO BlueJ
Alguns ambientes educacionais que facilitam o entendimento da OO Greenfoot – Filho do BlueJ
Alguns ambientes educacionais que facilitam o entendimento da OO Robocode
Programação Orientada a Objeto Encapsulamento Ocultação da informação Lida com a separação entre interface e implementação Decisão de projeto Altamente desejável Implementado como uma técnica na linguagem Java
Programação Orientada a Objeto Herança Termo “bonito” para uma idéia simples “ A propriedade que assegura que uma instância de uma classe-filha pode acessar tanto os atributos quanto os métodos de sua classe-pai” Timothy Budd - Object Oriented Programming
Programação Orientada a Objeto Herança “ Herança é uma forma poderosa de se compartilhar semelhanças entre classes, mas preservando as diferenças entre elas” Rumbaugh et al – Object Oriented Modelling and Design  Maneira de organizar classes em uma hierarquia Permite abstrair o propósito de uma classe tomando-se por base as classes que a precedem na hierarquia Possibilita a reutilização de código Quando um método é herdado, o código que o define não precisa ser reescrito Economia de tempo de codificação Redução da possibilidade de introdução de novos erros Código herdado pode ser bem eficiente
Programação Orientada a Objeto Herança Possibilita o compartilhamento de código Projetos complexos podem ser implementados por diversos programadores Implementada como um recurso específico de Java Termos essenciais para a POO Superclasse Classe utilizada como base para a criação de uma nova classe Subclasse Classe criada a partir da definição de uma classe já existente (superclasse) A subclasse X herda da superclasse Y Superclasse direta Superclasse da qual uma subclasse herda explicitamente (diretamente)
Programação Orientada a Objeto Herança Termos essenciais  para a POO Superclasse indireta Superclasse da qual uma subclasse herda de forma implícita (indireta) Exemplo:
Programação Orientada a Objeto Polimorfismo Habilidade da linguagem de manipular instâncias de subclasses de uma mesma superclasse através de métodos definidos na superclasse Possibilitado pela redefinição de métodos existentes em uma superclasse em suas subclasses Implementado com o uso de alguns recursos em Java Promove extensibilidade
Resumo Programação Orientada a Objeto Definição por Alan Kay Conceitos Classe Objeto Encapsulamento Herança Polimorfismo
Referências e Recursos Livros Object-Oriented System Development: HTML Edition http://g.oswego.edu/dl/oosdw3/ Software Engineering (5th Edition) – Ian Sommerville Object-Oriented Analysis and Design with Applications – Grady Booch Object-Oriented Software Engineering: A Case Driven Approach – Ivar Jacobson Web http://www.argonavis.com.br/cursos/java/j100/index.html  http://www.bluej.org/  http://www.greenfoot.org/  http://robocode.sourceforge.net/

Mais conteúdo relacionado

Mais procurados

O paradigma da orientação a objetos
O paradigma da orientação a objetosO paradigma da orientação a objetos
O paradigma da orientação a objetos
Nécio de Lima Veras
 
Aula 09 - introducao oo
Aula 09 - introducao ooAula 09 - introducao oo
Aula 09 - introducao oo
Moacir Jóse Ferreira Junior Ferreira
 
Programação Orientado a Objetos
Programação Orientado a ObjetosProgramação Orientado a Objetos
Programação Orientado a Objetos
Jéssica Nathany Carvalho Freitas
 
04 api javadoc
04   api javadoc04   api javadoc
04 api javadoc
Artur Todeschini
 
Programação orientada a objetos
Programação orientada a objetosProgramação orientada a objetos
Programação orientada a objetos
Cleyton Ferrari
 
Java - Aula 4 - Sobrecarga de construtores, UML e Herança
Java - Aula 4 - Sobrecarga de construtores, UML e HerançaJava - Aula 4 - Sobrecarga de construtores, UML e Herança
Java - Aula 4 - Sobrecarga de construtores, UML e Herança
Moises Omena
 
Virada Tecnológica 2017
Virada Tecnológica 2017Virada Tecnológica 2017
Virada Tecnológica 2017
Orlando Saraiva Júnior
 
JAVA - Orientação a Objetos
JAVA - Orientação a ObjetosJAVA - Orientação a Objetos
JAVA - Orientação a Objetos
Elaine Cecília Gatto
 
Conhecendo A Linguagem de Programação Java
Conhecendo A Linguagem de Programação JavaConhecendo A Linguagem de Programação Java
Conhecendo A Linguagem de Programação Java
Micael Coutinho
 
Aula 1 - Linguagem III
Aula 1 - Linguagem IIIAula 1 - Linguagem III
Aula 1 - Linguagem III
Juliano Weber
 
Especialização e generalização em java
Especialização e generalização em javaEspecialização e generalização em java
Especialização e generalização em java
Diogo Winck
 
Classes e Objectos JAVA
Classes e Objectos JAVAClasses e Objectos JAVA
Classes e Objectos JAVA
Pedro De Almeida
 
Introdução a programação Orientada a Objeto
Introdução a programação Orientada a ObjetoIntrodução a programação Orientada a Objeto
Introdução a programação Orientada a Objeto
Marconi Rodrigues
 
Java - Aula 2 - Orientado a Objetos
Java - Aula 2 - Orientado a ObjetosJava - Aula 2 - Orientado a Objetos
Java - Aula 2 - Orientado a Objetos
Moises Omena
 
POO - Aula 07 - Construtores e Atributos de Classe
POO - Aula 07 - Construtores e Atributos de ClassePOO - Aula 07 - Construtores e Atributos de Classe
POO - Aula 07 - Construtores e Atributos de Classe
Felipe J. R. Vieira
 
v
vv
http://www.dm.ufscar.br/~waldeck/curso/java/
http://www.dm.ufscar.br/~waldeck/curso/java/http://www.dm.ufscar.br/~waldeck/curso/java/
http://www.dm.ufscar.br/~waldeck/curso/java/
Rodrigo Vieira
 
Java Básico :: Orientação a objetos
Java Básico :: Orientação a objetosJava Básico :: Orientação a objetos
Java Básico :: Orientação a objetos
Wesley R. Bezerra
 
Análise Orientada a Objetos - Objetos E Classes
Análise Orientada a Objetos  -   Objetos E ClassesAnálise Orientada a Objetos  -   Objetos E Classes
Análise Orientada a Objetos - Objetos E Classes
CursoSENAC
 
Construtores em Java
Construtores em JavaConstrutores em Java
Construtores em Java
Ederson Lima
 

Mais procurados (20)

O paradigma da orientação a objetos
O paradigma da orientação a objetosO paradigma da orientação a objetos
O paradigma da orientação a objetos
 
Aula 09 - introducao oo
Aula 09 - introducao ooAula 09 - introducao oo
Aula 09 - introducao oo
 
Programação Orientado a Objetos
Programação Orientado a ObjetosProgramação Orientado a Objetos
Programação Orientado a Objetos
 
04 api javadoc
04   api javadoc04   api javadoc
04 api javadoc
 
Programação orientada a objetos
Programação orientada a objetosProgramação orientada a objetos
Programação orientada a objetos
 
Java - Aula 4 - Sobrecarga de construtores, UML e Herança
Java - Aula 4 - Sobrecarga de construtores, UML e HerançaJava - Aula 4 - Sobrecarga de construtores, UML e Herança
Java - Aula 4 - Sobrecarga de construtores, UML e Herança
 
Virada Tecnológica 2017
Virada Tecnológica 2017Virada Tecnológica 2017
Virada Tecnológica 2017
 
JAVA - Orientação a Objetos
JAVA - Orientação a ObjetosJAVA - Orientação a Objetos
JAVA - Orientação a Objetos
 
Conhecendo A Linguagem de Programação Java
Conhecendo A Linguagem de Programação JavaConhecendo A Linguagem de Programação Java
Conhecendo A Linguagem de Programação Java
 
Aula 1 - Linguagem III
Aula 1 - Linguagem IIIAula 1 - Linguagem III
Aula 1 - Linguagem III
 
Especialização e generalização em java
Especialização e generalização em javaEspecialização e generalização em java
Especialização e generalização em java
 
Classes e Objectos JAVA
Classes e Objectos JAVAClasses e Objectos JAVA
Classes e Objectos JAVA
 
Introdução a programação Orientada a Objeto
Introdução a programação Orientada a ObjetoIntrodução a programação Orientada a Objeto
Introdução a programação Orientada a Objeto
 
Java - Aula 2 - Orientado a Objetos
Java - Aula 2 - Orientado a ObjetosJava - Aula 2 - Orientado a Objetos
Java - Aula 2 - Orientado a Objetos
 
POO - Aula 07 - Construtores e Atributos de Classe
POO - Aula 07 - Construtores e Atributos de ClassePOO - Aula 07 - Construtores e Atributos de Classe
POO - Aula 07 - Construtores e Atributos de Classe
 
v
vv
v
 
http://www.dm.ufscar.br/~waldeck/curso/java/
http://www.dm.ufscar.br/~waldeck/curso/java/http://www.dm.ufscar.br/~waldeck/curso/java/
http://www.dm.ufscar.br/~waldeck/curso/java/
 
Java Básico :: Orientação a objetos
Java Básico :: Orientação a objetosJava Básico :: Orientação a objetos
Java Básico :: Orientação a objetos
 
Análise Orientada a Objetos - Objetos E Classes
Análise Orientada a Objetos  -   Objetos E ClassesAnálise Orientada a Objetos  -   Objetos E Classes
Análise Orientada a Objetos - Objetos E Classes
 
Construtores em Java
Construtores em JavaConstrutores em Java
Construtores em Java
 

Destaque

Análise para licenciatura g,ávila completo.pdf
Análise para  licenciatura g,ávila completo.pdfAnálise para  licenciatura g,ávila completo.pdf
Análise para licenciatura g,ávila completo.pdf
Antonio Batista Mota
 
POO - 21 - Java e Banco de Dados
POO - 21 - Java e Banco de DadosPOO - 21 - Java e Banco de Dados
POO - 21 - Java e Banco de Dados
Ludimila Monjardim Casagrande
 
Java - Aula 3 - Construtores
Java - Aula 3 - ConstrutoresJava - Aula 3 - Construtores
Java - Aula 3 - Construtores
Moises Omena
 
Exercícios eletricidade ii_circuitos_rc_séries_e_rc_paralelo_resolução
Exercícios eletricidade ii_circuitos_rc_séries_e_rc_paralelo_resoluçãoExercícios eletricidade ii_circuitos_rc_séries_e_rc_paralelo_resolução
Exercícios eletricidade ii_circuitos_rc_séries_e_rc_paralelo_resolução
Rodrigo Amorim
 
Poo
PooPoo
Bancode dados modelagem conceitual
Bancode dados modelagem conceitualBancode dados modelagem conceitual
Bancode dados modelagem conceitual
Mario Sergio
 
Aplicação do Teorema de Thévenin em circuitos com malhas
Aplicação do Teorema de Thévenin em circuitos com malhasAplicação do Teorema de Thévenin em circuitos com malhas
Aplicação do Teorema de Thévenin em circuitos com malhas
Adilson Nakamura
 
Introdução à Programação
Introdução à ProgramaçãoIntrodução à Programação
Introdução à Programação
Mario Sergio
 
Mariana montezzana-receitas-low-carb (
Mariana montezzana-receitas-low-carb (Mariana montezzana-receitas-low-carb (
Mariana montezzana-receitas-low-carb (
Deonice E Orlando Sazonov
 
Pitagoras - Introdução a Programação Orientada a Objetos - Conceitos
Pitagoras - Introdução a Programação Orientada a Objetos - ConceitosPitagoras - Introdução a Programação Orientada a Objetos - Conceitos
Pitagoras - Introdução a Programação Orientada a Objetos - Conceitos
Charles Fortes
 
Pitagoras - Introdução a Programação Orientada a Objetos - Encapsulamento, Ac...
Pitagoras - Introdução a Programação Orientada a Objetos - Encapsulamento, Ac...Pitagoras - Introdução a Programação Orientada a Objetos - Encapsulamento, Ac...
Pitagoras - Introdução a Programação Orientada a Objetos - Encapsulamento, Ac...
Charles Fortes
 
Pitagoras - Introdução a Programação Orientada a Objetos - Revisão Final
Pitagoras - Introdução a Programação Orientada a Objetos - Revisão FinalPitagoras - Introdução a Programação Orientada a Objetos - Revisão Final
Pitagoras - Introdução a Programação Orientada a Objetos - Revisão Final
Charles Fortes
 
Aula 5 - Estruturas de seleção simples e composta - parte 1
Aula 5 - Estruturas de seleção simples e composta - parte 1Aula 5 - Estruturas de seleção simples e composta - parte 1
Aula 5 - Estruturas de seleção simples e composta - parte 1
Pacc UAB
 
Análise de circuitos edminister
Análise de circuitos edministerAnálise de circuitos edminister
Análise de circuitos edminister
ricard0606
 
Teoremas exer resolvido
Teoremas exer resolvidoTeoremas exer resolvido
Teoremas exer resolvido
Gabriel Sousa
 
Banco de dados exercícios resolvidos
Banco de dados exercícios resolvidosBanco de dados exercícios resolvidos
Banco de dados exercícios resolvidos
Gleydson Sousa
 
Circuitos elétricos joseph a. edminister - coleção schaum
Circuitos elétricos   joseph a. edminister - coleção schaumCircuitos elétricos   joseph a. edminister - coleção schaum
Circuitos elétricos joseph a. edminister - coleção schaum
Reginaldo Dantas
 
Circuitos eletricos 1 - Circuitos Elétricos em Corrente Contínua
Circuitos eletricos 1 - Circuitos Elétricos em Corrente ContínuaCircuitos eletricos 1 - Circuitos Elétricos em Corrente Contínua
Circuitos eletricos 1 - Circuitos Elétricos em Corrente Contínua
José Albuquerque
 
47781762 curso-de-circuitos-electricos
47781762 curso-de-circuitos-electricos47781762 curso-de-circuitos-electricos
47781762 curso-de-circuitos-electricos
Hugo Hernan Carhuallanqui Aliaga
 
Circuitos electricos schaum
Circuitos electricos   schaumCircuitos electricos   schaum
Circuitos electricos schaum
NeymarLeonel
 

Destaque (20)

Análise para licenciatura g,ávila completo.pdf
Análise para  licenciatura g,ávila completo.pdfAnálise para  licenciatura g,ávila completo.pdf
Análise para licenciatura g,ávila completo.pdf
 
POO - 21 - Java e Banco de Dados
POO - 21 - Java e Banco de DadosPOO - 21 - Java e Banco de Dados
POO - 21 - Java e Banco de Dados
 
Java - Aula 3 - Construtores
Java - Aula 3 - ConstrutoresJava - Aula 3 - Construtores
Java - Aula 3 - Construtores
 
Exercícios eletricidade ii_circuitos_rc_séries_e_rc_paralelo_resolução
Exercícios eletricidade ii_circuitos_rc_séries_e_rc_paralelo_resoluçãoExercícios eletricidade ii_circuitos_rc_séries_e_rc_paralelo_resolução
Exercícios eletricidade ii_circuitos_rc_séries_e_rc_paralelo_resolução
 
Poo
PooPoo
Poo
 
Bancode dados modelagem conceitual
Bancode dados modelagem conceitualBancode dados modelagem conceitual
Bancode dados modelagem conceitual
 
Aplicação do Teorema de Thévenin em circuitos com malhas
Aplicação do Teorema de Thévenin em circuitos com malhasAplicação do Teorema de Thévenin em circuitos com malhas
Aplicação do Teorema de Thévenin em circuitos com malhas
 
Introdução à Programação
Introdução à ProgramaçãoIntrodução à Programação
Introdução à Programação
 
Mariana montezzana-receitas-low-carb (
Mariana montezzana-receitas-low-carb (Mariana montezzana-receitas-low-carb (
Mariana montezzana-receitas-low-carb (
 
Pitagoras - Introdução a Programação Orientada a Objetos - Conceitos
Pitagoras - Introdução a Programação Orientada a Objetos - ConceitosPitagoras - Introdução a Programação Orientada a Objetos - Conceitos
Pitagoras - Introdução a Programação Orientada a Objetos - Conceitos
 
Pitagoras - Introdução a Programação Orientada a Objetos - Encapsulamento, Ac...
Pitagoras - Introdução a Programação Orientada a Objetos - Encapsulamento, Ac...Pitagoras - Introdução a Programação Orientada a Objetos - Encapsulamento, Ac...
Pitagoras - Introdução a Programação Orientada a Objetos - Encapsulamento, Ac...
 
Pitagoras - Introdução a Programação Orientada a Objetos - Revisão Final
Pitagoras - Introdução a Programação Orientada a Objetos - Revisão FinalPitagoras - Introdução a Programação Orientada a Objetos - Revisão Final
Pitagoras - Introdução a Programação Orientada a Objetos - Revisão Final
 
Aula 5 - Estruturas de seleção simples e composta - parte 1
Aula 5 - Estruturas de seleção simples e composta - parte 1Aula 5 - Estruturas de seleção simples e composta - parte 1
Aula 5 - Estruturas de seleção simples e composta - parte 1
 
Análise de circuitos edminister
Análise de circuitos edministerAnálise de circuitos edminister
Análise de circuitos edminister
 
Teoremas exer resolvido
Teoremas exer resolvidoTeoremas exer resolvido
Teoremas exer resolvido
 
Banco de dados exercícios resolvidos
Banco de dados exercícios resolvidosBanco de dados exercícios resolvidos
Banco de dados exercícios resolvidos
 
Circuitos elétricos joseph a. edminister - coleção schaum
Circuitos elétricos   joseph a. edminister - coleção schaumCircuitos elétricos   joseph a. edminister - coleção schaum
Circuitos elétricos joseph a. edminister - coleção schaum
 
Circuitos eletricos 1 - Circuitos Elétricos em Corrente Contínua
Circuitos eletricos 1 - Circuitos Elétricos em Corrente ContínuaCircuitos eletricos 1 - Circuitos Elétricos em Corrente Contínua
Circuitos eletricos 1 - Circuitos Elétricos em Corrente Contínua
 
47781762 curso-de-circuitos-electricos
47781762 curso-de-circuitos-electricos47781762 curso-de-circuitos-electricos
47781762 curso-de-circuitos-electricos
 
Circuitos electricos schaum
Circuitos electricos   schaumCircuitos electricos   schaum
Circuitos electricos schaum
 

Semelhante a Java 00 Poo

03 - Orientação a objetos e classes em C# v1.0
03 - Orientação a objetos e classes em C# v1.003 - Orientação a objetos e classes em C# v1.0
03 - Orientação a objetos e classes em C# v1.0
César Augusto Pessôa
 
Orientacao a Objetos
Orientacao a ObjetosOrientacao a Objetos
Orientacao a Objetos
Robson Silva Espig
 
Java7
Java7Java7
Apresentação curso de Extensão em Java (UERJ-IME) v1
Apresentação curso de Extensão em Java (UERJ-IME) v1Apresentação curso de Extensão em Java (UERJ-IME) v1
Apresentação curso de Extensão em Java (UERJ-IME) v1
Marcelo Zeferino
 
Mini aula-java
Mini aula-javaMini aula-java
Mini aula-java
Wanderlei Silva do Carmo
 
Conceitos básicos de programação orientada a objetos
Conceitos básicos de programação orientada a objetosConceitos básicos de programação orientada a objetos
Conceitos básicos de programação orientada a objetos
Leonardo Melo Santos
 
APOO.INT- S01 Paradigma de Orientação a Objetos (2).pdf
APOO.INT- S01 Paradigma de Orientação a Objetos (2).pdfAPOO.INT- S01 Paradigma de Orientação a Objetos (2).pdf
APOO.INT- S01 Paradigma de Orientação a Objetos (2).pdf
pedrina4
 
Aula orientação a objetos
Aula orientação a objetosAula orientação a objetos
Aula orientação a objetos
Gardênia Santana
 
Introdução a poo
Introdução a pooIntrodução a poo
Introdução a poo
Sedu
 
Orientação a Objetos no Delphi - Por onde começar (I)
Orientação a Objetos no Delphi - Por onde começar (I)Orientação a Objetos no Delphi - Por onde começar (I)
Orientação a Objetos no Delphi - Por onde começar (I)
Ryan Padilha
 
Poo padadigmas
Poo padadigmasPoo padadigmas
Poo padadigmas
rafa nonato
 
AULA DIA 22-2024 - PROGRAMACAO ORIENTADA A OBJETOS EM JAVA.pptx
AULA DIA 22-2024 - PROGRAMACAO ORIENTADA A OBJETOS EM JAVA.pptxAULA DIA 22-2024 - PROGRAMACAO ORIENTADA A OBJETOS EM JAVA.pptx
AULA DIA 22-2024 - PROGRAMACAO ORIENTADA A OBJETOS EM JAVA.pptx
AurelcioOliveira
 
02 - Orientação a objetos e revisão de C# v1.5
02 - Orientação a objetos e revisão de C# v1.502 - Orientação a objetos e revisão de C# v1.5
02 - Orientação a objetos e revisão de C# v1.5
César Augusto Pessôa
 
Programação orientada a objetos – II
Programação orientada a objetos – IIProgramação orientada a objetos – II
Programação orientada a objetos – II
Gabriel Faustino
 
Programação Orientada a Objeto(POO)
Programação Orientada a Objeto(POO)Programação Orientada a Objeto(POO)
Programação Orientada a Objeto(POO)
Carlos Alberto
 
3.1 orientação objetos
3.1  orientação objetos3.1  orientação objetos
3.1 orientação objetos
Frank Coelho
 
Conceitos Básicos de Orientação o Objetos aplicdo ao VBA - Classes em vba
Conceitos Básicos de Orientação o Objetos aplicdo ao VBA - Classes em vbaConceitos Básicos de Orientação o Objetos aplicdo ao VBA - Classes em vba
Conceitos Básicos de Orientação o Objetos aplicdo ao VBA - Classes em vba
Wanderlei Silva do Carmo
 
IES GF - Introdução a Linguagem de Programação Orientada a Objetos
IES GF - Introdução a Linguagem de Programação Orientada a ObjetosIES GF - Introdução a Linguagem de Programação Orientada a Objetos
IES GF - Introdução a Linguagem de Programação Orientada a Objetos
Ramon Mayor Martins
 
Orientação a Objetos para Desenvolvedores Android
Orientação a Objetos para Desenvolvedores AndroidOrientação a Objetos para Desenvolvedores Android
Orientação a Objetos para Desenvolvedores Android
Iury Teixeira
 
Introdução à programação por objectos final
Introdução à programação por objectos finalIntrodução à programação por objectos final
Introdução à programação por objectos final
emcp11
 

Semelhante a Java 00 Poo (20)

03 - Orientação a objetos e classes em C# v1.0
03 - Orientação a objetos e classes em C# v1.003 - Orientação a objetos e classes em C# v1.0
03 - Orientação a objetos e classes em C# v1.0
 
Orientacao a Objetos
Orientacao a ObjetosOrientacao a Objetos
Orientacao a Objetos
 
Java7
Java7Java7
Java7
 
Apresentação curso de Extensão em Java (UERJ-IME) v1
Apresentação curso de Extensão em Java (UERJ-IME) v1Apresentação curso de Extensão em Java (UERJ-IME) v1
Apresentação curso de Extensão em Java (UERJ-IME) v1
 
Mini aula-java
Mini aula-javaMini aula-java
Mini aula-java
 
Conceitos básicos de programação orientada a objetos
Conceitos básicos de programação orientada a objetosConceitos básicos de programação orientada a objetos
Conceitos básicos de programação orientada a objetos
 
APOO.INT- S01 Paradigma de Orientação a Objetos (2).pdf
APOO.INT- S01 Paradigma de Orientação a Objetos (2).pdfAPOO.INT- S01 Paradigma de Orientação a Objetos (2).pdf
APOO.INT- S01 Paradigma de Orientação a Objetos (2).pdf
 
Aula orientação a objetos
Aula orientação a objetosAula orientação a objetos
Aula orientação a objetos
 
Introdução a poo
Introdução a pooIntrodução a poo
Introdução a poo
 
Orientação a Objetos no Delphi - Por onde começar (I)
Orientação a Objetos no Delphi - Por onde começar (I)Orientação a Objetos no Delphi - Por onde começar (I)
Orientação a Objetos no Delphi - Por onde começar (I)
 
Poo padadigmas
Poo padadigmasPoo padadigmas
Poo padadigmas
 
AULA DIA 22-2024 - PROGRAMACAO ORIENTADA A OBJETOS EM JAVA.pptx
AULA DIA 22-2024 - PROGRAMACAO ORIENTADA A OBJETOS EM JAVA.pptxAULA DIA 22-2024 - PROGRAMACAO ORIENTADA A OBJETOS EM JAVA.pptx
AULA DIA 22-2024 - PROGRAMACAO ORIENTADA A OBJETOS EM JAVA.pptx
 
02 - Orientação a objetos e revisão de C# v1.5
02 - Orientação a objetos e revisão de C# v1.502 - Orientação a objetos e revisão de C# v1.5
02 - Orientação a objetos e revisão de C# v1.5
 
Programação orientada a objetos – II
Programação orientada a objetos – IIProgramação orientada a objetos – II
Programação orientada a objetos – II
 
Programação Orientada a Objeto(POO)
Programação Orientada a Objeto(POO)Programação Orientada a Objeto(POO)
Programação Orientada a Objeto(POO)
 
3.1 orientação objetos
3.1  orientação objetos3.1  orientação objetos
3.1 orientação objetos
 
Conceitos Básicos de Orientação o Objetos aplicdo ao VBA - Classes em vba
Conceitos Básicos de Orientação o Objetos aplicdo ao VBA - Classes em vbaConceitos Básicos de Orientação o Objetos aplicdo ao VBA - Classes em vba
Conceitos Básicos de Orientação o Objetos aplicdo ao VBA - Classes em vba
 
IES GF - Introdução a Linguagem de Programação Orientada a Objetos
IES GF - Introdução a Linguagem de Programação Orientada a ObjetosIES GF - Introdução a Linguagem de Programação Orientada a Objetos
IES GF - Introdução a Linguagem de Programação Orientada a Objetos
 
Orientação a Objetos para Desenvolvedores Android
Orientação a Objetos para Desenvolvedores AndroidOrientação a Objetos para Desenvolvedores Android
Orientação a Objetos para Desenvolvedores Android
 
Introdução à programação por objectos final
Introdução à programação por objectos finalIntrodução à programação por objectos final
Introdução à programação por objectos final
 

Mais de Regis Magalhães

High Dimensional Data
High Dimensional DataHigh Dimensional Data
High Dimensional Data
Regis Magalhães
 
Web Scale Data Management
Web Scale Data ManagementWeb Scale Data Management
Web Scale Data Management
Regis Magalhães
 
PHP 10 CodeIgniter
PHP 10 CodeIgniterPHP 10 CodeIgniter
PHP 10 CodeIgniter
Regis Magalhães
 
Prog web 01-php-introducao
Prog web 01-php-introducaoProg web 01-php-introducao
Prog web 01-php-introducao
Regis Magalhães
 
Prog web 02-php-primeiros-passos
Prog web 02-php-primeiros-passosProg web 02-php-primeiros-passos
Prog web 02-php-primeiros-passos
Regis Magalhães
 
Prog web 00-modelo-cliente_servidor_web
Prog web 00-modelo-cliente_servidor_webProg web 00-modelo-cliente_servidor_web
Prog web 00-modelo-cliente_servidor_web
Regis Magalhães
 
Prog web 09-php-crud-mvc
Prog web 09-php-crud-mvcProg web 09-php-crud-mvc
Prog web 09-php-crud-mvc
Regis Magalhães
 
Prog web 08-php-mvc
Prog web 08-php-mvcProg web 08-php-mvc
Prog web 08-php-mvc
Regis Magalhães
 
Prog web 07-pdo
Prog web 07-pdoProg web 07-pdo
Prog web 07-pdo
Regis Magalhães
 
Prog web 06-php-oo
Prog web 06-php-ooProg web 06-php-oo
Prog web 06-php-oo
Regis Magalhães
 
Prog web 05-php-mysql
Prog web 05-php-mysqlProg web 05-php-mysql
Prog web 05-php-mysql
Regis Magalhães
 
Prog web 04-php-gd
Prog web 04-php-gdProg web 04-php-gd
Prog web 04-php-gd
Regis Magalhães
 
Prog web 03-php-sessoes-cookies_cabecalhos
Prog web 03-php-sessoes-cookies_cabecalhosProg web 03-php-sessoes-cookies_cabecalhos
Prog web 03-php-sessoes-cookies_cabecalhos
Regis Magalhães
 
Prog web 03-php-sessoes-cookies_cabecalhos
Prog web 03-php-sessoes-cookies_cabecalhosProg web 03-php-sessoes-cookies_cabecalhos
Prog web 03-php-sessoes-cookies_cabecalhos
Regis Magalhães
 
Prog web 02-php-primeiros-passos
Prog web 02-php-primeiros-passosProg web 02-php-primeiros-passos
Prog web 02-php-primeiros-passos
Regis Magalhães
 
Prog web 02-php-primeiros-passos
Prog web 02-php-primeiros-passosProg web 02-php-primeiros-passos
Prog web 02-php-primeiros-passos
Regis Magalhães
 
Prog web 00-modelo-cliente_servidor_web
Prog web 00-modelo-cliente_servidor_webProg web 00-modelo-cliente_servidor_web
Prog web 00-modelo-cliente_servidor_web
Regis Magalhães
 
Prog web 01-php-introducao
Prog web 01-php-introducaoProg web 01-php-introducao
Prog web 01-php-introducao
Regis Magalhães
 
Linked Data Tutorial - Conferencia W3C Brasil 2011
Linked Data Tutorial - Conferencia W3C Brasil 2011Linked Data Tutorial - Conferencia W3C Brasil 2011
Linked Data Tutorial - Conferencia W3C Brasil 2011
Regis Magalhães
 
Linked Data - Minicurso - SBBD 2011
Linked Data - Minicurso - SBBD 2011Linked Data - Minicurso - SBBD 2011
Linked Data - Minicurso - SBBD 2011
Regis Magalhães
 

Mais de Regis Magalhães (20)

High Dimensional Data
High Dimensional DataHigh Dimensional Data
High Dimensional Data
 
Web Scale Data Management
Web Scale Data ManagementWeb Scale Data Management
Web Scale Data Management
 
PHP 10 CodeIgniter
PHP 10 CodeIgniterPHP 10 CodeIgniter
PHP 10 CodeIgniter
 
Prog web 01-php-introducao
Prog web 01-php-introducaoProg web 01-php-introducao
Prog web 01-php-introducao
 
Prog web 02-php-primeiros-passos
Prog web 02-php-primeiros-passosProg web 02-php-primeiros-passos
Prog web 02-php-primeiros-passos
 
Prog web 00-modelo-cliente_servidor_web
Prog web 00-modelo-cliente_servidor_webProg web 00-modelo-cliente_servidor_web
Prog web 00-modelo-cliente_servidor_web
 
Prog web 09-php-crud-mvc
Prog web 09-php-crud-mvcProg web 09-php-crud-mvc
Prog web 09-php-crud-mvc
 
Prog web 08-php-mvc
Prog web 08-php-mvcProg web 08-php-mvc
Prog web 08-php-mvc
 
Prog web 07-pdo
Prog web 07-pdoProg web 07-pdo
Prog web 07-pdo
 
Prog web 06-php-oo
Prog web 06-php-ooProg web 06-php-oo
Prog web 06-php-oo
 
Prog web 05-php-mysql
Prog web 05-php-mysqlProg web 05-php-mysql
Prog web 05-php-mysql
 
Prog web 04-php-gd
Prog web 04-php-gdProg web 04-php-gd
Prog web 04-php-gd
 
Prog web 03-php-sessoes-cookies_cabecalhos
Prog web 03-php-sessoes-cookies_cabecalhosProg web 03-php-sessoes-cookies_cabecalhos
Prog web 03-php-sessoes-cookies_cabecalhos
 
Prog web 03-php-sessoes-cookies_cabecalhos
Prog web 03-php-sessoes-cookies_cabecalhosProg web 03-php-sessoes-cookies_cabecalhos
Prog web 03-php-sessoes-cookies_cabecalhos
 
Prog web 02-php-primeiros-passos
Prog web 02-php-primeiros-passosProg web 02-php-primeiros-passos
Prog web 02-php-primeiros-passos
 
Prog web 02-php-primeiros-passos
Prog web 02-php-primeiros-passosProg web 02-php-primeiros-passos
Prog web 02-php-primeiros-passos
 
Prog web 00-modelo-cliente_servidor_web
Prog web 00-modelo-cliente_servidor_webProg web 00-modelo-cliente_servidor_web
Prog web 00-modelo-cliente_servidor_web
 
Prog web 01-php-introducao
Prog web 01-php-introducaoProg web 01-php-introducao
Prog web 01-php-introducao
 
Linked Data Tutorial - Conferencia W3C Brasil 2011
Linked Data Tutorial - Conferencia W3C Brasil 2011Linked Data Tutorial - Conferencia W3C Brasil 2011
Linked Data Tutorial - Conferencia W3C Brasil 2011
 
Linked Data - Minicurso - SBBD 2011
Linked Data - Minicurso - SBBD 2011Linked Data - Minicurso - SBBD 2011
Linked Data - Minicurso - SBBD 2011
 

Último

ExpoGestão 2024 - Desvendando um mundo em ebulição
ExpoGestão 2024 - Desvendando um mundo em ebuliçãoExpoGestão 2024 - Desvendando um mundo em ebulição
ExpoGestão 2024 - Desvendando um mundo em ebulição
ExpoGestão
 
INTELIGÊNCIA ARTIFICIAL + COMPUTAÇÃO QUÂNTICA = MAIOR REVOLUÇÃO TECNOLÓGICA D...
INTELIGÊNCIA ARTIFICIAL + COMPUTAÇÃO QUÂNTICA = MAIOR REVOLUÇÃO TECNOLÓGICA D...INTELIGÊNCIA ARTIFICIAL + COMPUTAÇÃO QUÂNTICA = MAIOR REVOLUÇÃO TECNOLÓGICA D...
INTELIGÊNCIA ARTIFICIAL + COMPUTAÇÃO QUÂNTICA = MAIOR REVOLUÇÃO TECNOLÓGICA D...
Faga1939
 
ExpoGestão 2024 - Inteligência Artificial – A revolução no mundo dos negócios
ExpoGestão 2024 - Inteligência Artificial – A revolução no mundo dos negóciosExpoGestão 2024 - Inteligência Artificial – A revolução no mundo dos negócios
ExpoGestão 2024 - Inteligência Artificial – A revolução no mundo dos negócios
ExpoGestão
 
Subindo uma aplicação WordPress em docker na AWS
Subindo uma aplicação WordPress em docker na AWSSubindo uma aplicação WordPress em docker na AWS
Subindo uma aplicação WordPress em docker na AWS
Ismael Ash
 
Ferramentas que irão te ajudar a entrar no mundo de DevOps/CLoud
Ferramentas que irão te ajudar a entrar no mundo de   DevOps/CLoudFerramentas que irão te ajudar a entrar no mundo de   DevOps/CLoud
Ferramentas que irão te ajudar a entrar no mundo de DevOps/CLoud
Ismael Ash
 
se38_layout_erro_xxxxxxxxxxxxxxxxxx.docx
se38_layout_erro_xxxxxxxxxxxxxxxxxx.docxse38_layout_erro_xxxxxxxxxxxxxxxxxx.docx
se38_layout_erro_xxxxxxxxxxxxxxxxxx.docx
ronaldos10
 

Último (6)

ExpoGestão 2024 - Desvendando um mundo em ebulição
ExpoGestão 2024 - Desvendando um mundo em ebuliçãoExpoGestão 2024 - Desvendando um mundo em ebulição
ExpoGestão 2024 - Desvendando um mundo em ebulição
 
INTELIGÊNCIA ARTIFICIAL + COMPUTAÇÃO QUÂNTICA = MAIOR REVOLUÇÃO TECNOLÓGICA D...
INTELIGÊNCIA ARTIFICIAL + COMPUTAÇÃO QUÂNTICA = MAIOR REVOLUÇÃO TECNOLÓGICA D...INTELIGÊNCIA ARTIFICIAL + COMPUTAÇÃO QUÂNTICA = MAIOR REVOLUÇÃO TECNOLÓGICA D...
INTELIGÊNCIA ARTIFICIAL + COMPUTAÇÃO QUÂNTICA = MAIOR REVOLUÇÃO TECNOLÓGICA D...
 
ExpoGestão 2024 - Inteligência Artificial – A revolução no mundo dos negócios
ExpoGestão 2024 - Inteligência Artificial – A revolução no mundo dos negóciosExpoGestão 2024 - Inteligência Artificial – A revolução no mundo dos negócios
ExpoGestão 2024 - Inteligência Artificial – A revolução no mundo dos negócios
 
Subindo uma aplicação WordPress em docker na AWS
Subindo uma aplicação WordPress em docker na AWSSubindo uma aplicação WordPress em docker na AWS
Subindo uma aplicação WordPress em docker na AWS
 
Ferramentas que irão te ajudar a entrar no mundo de DevOps/CLoud
Ferramentas que irão te ajudar a entrar no mundo de   DevOps/CLoudFerramentas que irão te ajudar a entrar no mundo de   DevOps/CLoud
Ferramentas que irão te ajudar a entrar no mundo de DevOps/CLoud
 
se38_layout_erro_xxxxxxxxxxxxxxxxxx.docx
se38_layout_erro_xxxxxxxxxxxxxxxxxx.docxse38_layout_erro_xxxxxxxxxxxxxxxxxx.docx
se38_layout_erro_xxxxxxxxxxxxxxxxxx.docx
 

Java 00 Poo

  • 1. Unidade 0 Programação Orientada a Objetos Regis Pires Magalhães [email_address]
  • 2. Roteiro Introdução Programação Orientada a Objetos (por Alan Kay) Classe Objeto Encapsulamento Herança Polimorfismo Resumo Referências e Recursos
  • 3. Programação Orientada a Objeto (por Alan Kay) 1. Tudo é um objeto Um objeto pode ser visto como uma variável extravagante Um objeto armazena Dados Requisições que podem ser feitas para ele Realizam operações sobre si mesmo 2. Um programa é conjunto de objetos que trocam mensagens entre si Para fazer uma requisição para um objeto, uma mensagem é enviada para ele
  • 4. Programação Orientada a Objeto (por Alan Kay) 3. Cada objeto possui sua própria memória, composta de outros objetos Objetos complexos, que contenham outros objetos, podem ser criados Apesar da complexidade interna de tais objetos, do ponto de vista de uma entidade externa eles se apresentam com a mesma simplicidade de qualquer outro objeto 4. Todo objeto possui um tipo Cada objeto é uma instância de uma classe, onde classe é um sinônimo para tipo 5. Todos os objetos de um tipo particular podem receber as mesmas mensagens O mesmo código pode ser utilizado para manipular objetos que “se baseiam” em uma mesma classe
  • 5. Programação Orientada a Objeto (POO) Classe Esqueleto para a criação de objetos Programadores codificam classes, não objetos Tipos definidos pelo programador Descreve um conjunto de objetos que possuem as mesmas características (dados) e comportamentos (operações) O conjunto de requisições que podem ser feitas a um objeto define sua interface Para escrever uma classe Defina seus dados (atributos) Defina seus comportamentos (métodos)
  • 6. Classe Exemplo: Uma classe Cachorro com: atributos nome e idade; métodos latir, obterNome e obterIdade
  • 7. Programação Orientada a Objetos class Cachorro { String nome ; int idade ; Cachorro(String n, int id) { nome = n; idade = id; } void latir() { System. out .println( "Au, Au" ); } int obterIdade() { return idade ; } String obterNome() { return nome ; } } Exemplo escrito em Java
  • 8. Programação Orientada a Objetos Objeto Possui dados (atributos) Informação sobre o estado do objeto Possui um conjunto definido de comportamentos Ações que o objeto pode realizar em si mesmo Mudam o estado do objeto Possui uma identidade Pode ser distinguido de outros objetos Um objeto é uma instância de uma classe
  • 9. Alguns ambientes educacionais que facilitam o entendimento da OO BlueJ
  • 10. Alguns ambientes educacionais que facilitam o entendimento da OO BlueJ
  • 11. Alguns ambientes educacionais que facilitam o entendimento da OO Greenfoot – Filho do BlueJ
  • 12. Alguns ambientes educacionais que facilitam o entendimento da OO Robocode
  • 13. Programação Orientada a Objeto Encapsulamento Ocultação da informação Lida com a separação entre interface e implementação Decisão de projeto Altamente desejável Implementado como uma técnica na linguagem Java
  • 14. Programação Orientada a Objeto Herança Termo “bonito” para uma idéia simples “ A propriedade que assegura que uma instância de uma classe-filha pode acessar tanto os atributos quanto os métodos de sua classe-pai” Timothy Budd - Object Oriented Programming
  • 15. Programação Orientada a Objeto Herança “ Herança é uma forma poderosa de se compartilhar semelhanças entre classes, mas preservando as diferenças entre elas” Rumbaugh et al – Object Oriented Modelling and Design Maneira de organizar classes em uma hierarquia Permite abstrair o propósito de uma classe tomando-se por base as classes que a precedem na hierarquia Possibilita a reutilização de código Quando um método é herdado, o código que o define não precisa ser reescrito Economia de tempo de codificação Redução da possibilidade de introdução de novos erros Código herdado pode ser bem eficiente
  • 16. Programação Orientada a Objeto Herança Possibilita o compartilhamento de código Projetos complexos podem ser implementados por diversos programadores Implementada como um recurso específico de Java Termos essenciais para a POO Superclasse Classe utilizada como base para a criação de uma nova classe Subclasse Classe criada a partir da definição de uma classe já existente (superclasse) A subclasse X herda da superclasse Y Superclasse direta Superclasse da qual uma subclasse herda explicitamente (diretamente)
  • 17. Programação Orientada a Objeto Herança Termos essenciais para a POO Superclasse indireta Superclasse da qual uma subclasse herda de forma implícita (indireta) Exemplo:
  • 18. Programação Orientada a Objeto Polimorfismo Habilidade da linguagem de manipular instâncias de subclasses de uma mesma superclasse através de métodos definidos na superclasse Possibilitado pela redefinição de métodos existentes em uma superclasse em suas subclasses Implementado com o uso de alguns recursos em Java Promove extensibilidade
  • 19. Resumo Programação Orientada a Objeto Definição por Alan Kay Conceitos Classe Objeto Encapsulamento Herança Polimorfismo
  • 20. Referências e Recursos Livros Object-Oriented System Development: HTML Edition http://g.oswego.edu/dl/oosdw3/ Software Engineering (5th Edition) – Ian Sommerville Object-Oriented Analysis and Design with Applications – Grady Booch Object-Oriented Software Engineering: A Case Driven Approach – Ivar Jacobson Web http://www.argonavis.com.br/cursos/java/j100/index.html http://www.bluej.org/ http://www.greenfoot.org/ http://robocode.sourceforge.net/