SlideShare uma empresa Scribd logo
1 de 13
PROGRAMAÇÃOPROGRAMAÇÃO
ORIENTADA ÀORIENTADA À
OBJETOSOBJETOS
Professor Bruno Augusto Soncino
Definição
 A orientação a objetos, também conhecida
como Programação Orientada a Objetos
(POO) é um paradigma de análise, projeto e
programação de sistemas de software
baseado na composição e interação entre
diversas unidades de software chamadas de
objetos.
Componentes Básicos da
Orientação a Objetos
 Classe → São moldes através dos quais criamos objetos
 Objeto → Abstração que agrupa características e comportamentos.
 Instância → É o objeto propriamente dito. Possui características próprias.
 Propriedade → Define as características dos objetos de uma classe.
 Método → Define o comportamento dos objetos de uma classe.
 Mensagem → Representa uma ação do objeto ou uma mudança de estado.
Define a comunicação entre objetos.
 Interface → Conjunto de mensagens que define o comportamento de um
objeto (Protocolo).
Objetos
 Um objeto representa uma entidade, seja ela de
natureza física, conceitual ou software.
 Entidade Física: Carro, Pessoa.
 Entidade Conceitual: Departamento.
 Entidade Software: um botão em uma GUI.
Mário
Características
(estado)
Comportamento
Identidade
Classe
 Uma classe serve de modelo para vários
objetos semelhantes que possuem os mesmos
tipos de informação em seu estado e tem os
mesmos comportamentos;
 Exemplo: Planta de uma casa, Carro, Pessoa.
Atributos
 Representam um conjunto de informações, ou
seja, elementos de dados que caracterizam
um objeto.
Funcionário_Helena
Nome=Helena Reis
Nasc=28/01/1965
Salário = 4.000
InformarSalário
CalcularIdade
Funcionário_Helena
Nome=Helena Reis
Nasc=28/01/1965
Salário = 4.000
InformarSalário
CalcularIdade
Funcionário_Mário
Nome=Mário Sá
Nasc=16/02/1970
Salário = 3.000
InformarSalário
CalcularIdade
Funcionário_Mário
Nome=Mário Sá
Nasc=16/02/1970
Salário = 3.000
InformarSalário
CalcularIdade
Método
 Quando um objeto é mapeado dentro do domínio do software,
os processos que podem mudar a sua estrutura de dados são
denominados Operações ou Métodos.
 Métodos são invocados por Mensagens.
 Cada objeto possui seu próprio conjunto de métodos.
 Definições:
 São procedimentos definidos e declarados que atuam sobre
um objeto ou sobre uma classe de objetos.
 Descrição de uma sequência de ações a serem executadas
por um objeto.
 Através dos métodos que especifica-se a um objeto COMO
FAZER alguma coisa.
 São intrínsecos aos objetos e não podem ser separados.
Herança
 Mecanismo que permite definir uma nova
classe (subclasse) a partir de uma classe já
existente (super-classe).
Encapsulamento
 Objetos encapsulam suas estruturas de dados (atributos).
 Os atributos de um objeto só podem ser manipulados pelos
próprios métodos do objeto
 Restringe a visibilidade do objeto mas facilita o reuso.
 Os DADOS e os MÉTODOS são empacotados sob um nome e
podem ser reusados como uma especificação ou componente de
programa.
Abstração
 Uma abstração é qualquer modelo que inclui os
aspectos relevantes de alguma coisa, ao
mesmo tempo em que ignora os menos
importantes.
Polimorfismo
 Conceito Chave
Objetos das subclasses podem ser tratados como objetos da
superclasse
::Project2
A
m1(...)
m2(...)
B
m1(...)
m3(...)
Interface
 Objetos se comunicam através de Mensagens, que
invocam os Métodos desejados.
 Parte Privada do Objeto (Visão Interna)
 Métodos
 Atributos
 Parte Compartilhada do Objeto ou Interface
corresponde à parte externa do objeto, isto é, àquela
que é vista por outros objetos com a finalidade de
invocar os métodos que o objeto realiza agrupa um
conjunto de mensagens que o objeto pode
 Responder as mensagens especificam quais
operações sobre o objeto podem ser realizadas, mas
não como a operação será executada.
Conclusão
 Concluímos que a transposição dos objetos do mundo
real para um software se tornam muito mais simples e
fácil quando usamos da orientação à objetos porque as
abstrações são expressas com uma maior qualidade ao
mundo computacional, fazendo com que a complexidade
do desenvolvimento e manutenção em linguagens de
alto nível (como Java ou .NET, por exemplo) sejam mais
rápidas e eficientes.

Mais conteúdo relacionado

Mais procurados

Curso de HTML5 - Aula 01
Curso de HTML5 - Aula 01   Curso de HTML5 - Aula 01
Curso de HTML5 - Aula 01 Léo Dias
 
Encapsulamento em Orientação a Objetos
Encapsulamento em Orientação a ObjetosEncapsulamento em Orientação a Objetos
Encapsulamento em Orientação a ObjetosDaniel Brandão
 
Banco de Dados - Sistemas de Gerenciamento de Banco de Dados
Banco de Dados - Sistemas de Gerenciamento de Banco de DadosBanco de Dados - Sistemas de Gerenciamento de Banco de Dados
Banco de Dados - Sistemas de Gerenciamento de Banco de DadosNatanael Simões
 
Programação Orientada a objetos em Java
Programação Orientada a objetos em JavaProgramação Orientada a objetos em Java
Programação Orientada a objetos em JavaDenis L Presciliano
 
Conceitos de Banco de dados e SGBD
Conceitos de Banco de dados e SGBDConceitos de Banco de dados e SGBD
Conceitos de Banco de dados e SGBDVinicius Buffolo
 
Programação orientada a objetos – II
Programação orientada a objetos – IIProgramação orientada a objetos – II
Programação orientada a objetos – IIGabriel Faustino
 
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 ObjetoMarconi Rodrigues
 
Aula 02 - Principios da Orientação a Objetos (POO)
Aula 02 - Principios da Orientação a Objetos (POO)Aula 02 - Principios da Orientação a Objetos (POO)
Aula 02 - Principios da Orientação a Objetos (POO)Daniel Brandão
 
Módulo 9 - Introdução à Programação Orientada a Objectos
Módulo 9 - Introdução à Programação Orientada a Objectos Módulo 9 - Introdução à Programação Orientada a Objectos
Módulo 9 - Introdução à Programação Orientada a Objectos Luis Ferreira
 
Introdução à Programação Web com Angular
Introdução à Programação Web com AngularIntrodução à Programação Web com Angular
Introdução à Programação Web com AngularElmano Cavalcanti
 
Aula 01 - Fundamentos de Banco de Dados (2).pdf
Aula 01 - Fundamentos de Banco de Dados (2).pdfAula 01 - Fundamentos de Banco de Dados (2).pdf
Aula 01 - Fundamentos de Banco de Dados (2).pdfMarcelo Silva
 
Análise estruturada de sistemas - Modelo de contexto
Análise estruturada de sistemas - Modelo de contextoAnálise estruturada de sistemas - Modelo de contexto
Análise estruturada de sistemas - Modelo de contextoLuciano Almeida
 
Informática Básica - Introdução ao Microsoft Word 2010
Informática Básica - Introdução ao Microsoft Word 2010Informática Básica - Introdução ao Microsoft Word 2010
Informática Básica - Introdução ao Microsoft Word 2010Joeldson Costa Damasceno
 
Apresentação sobre Árvores B
Apresentação sobre Árvores BApresentação sobre Árvores B
Apresentação sobre Árvores BThiago Colares
 
07 Modelagem de banco de dados: Modelo Físico
07 Modelagem de banco de dados: Modelo Físico07 Modelagem de banco de dados: Modelo Físico
07 Modelagem de banco de dados: Modelo FísicoCentro Paula Souza
 

Mais procurados (20)

Curso de HTML5 - Aula 01
Curso de HTML5 - Aula 01   Curso de HTML5 - Aula 01
Curso de HTML5 - Aula 01
 
Encapsulamento em Orientação a Objetos
Encapsulamento em Orientação a ObjetosEncapsulamento em Orientação a Objetos
Encapsulamento em Orientação a Objetos
 
Aula 09 - introducao oo
Aula 09 - introducao ooAula 09 - introducao oo
Aula 09 - introducao oo
 
SGBD
SGBDSGBD
SGBD
 
Banco de Dados - Sistemas de Gerenciamento de Banco de Dados
Banco de Dados - Sistemas de Gerenciamento de Banco de DadosBanco de Dados - Sistemas de Gerenciamento de Banco de Dados
Banco de Dados - Sistemas de Gerenciamento de Banco de Dados
 
Programação Orientada a objetos em Java
Programação Orientada a objetos em JavaProgramação Orientada a objetos em Java
Programação Orientada a objetos em Java
 
Conceitos de Banco de dados e SGBD
Conceitos de Banco de dados e SGBDConceitos de Banco de dados e SGBD
Conceitos de Banco de dados e SGBD
 
Programação orientada a objetos – II
Programação orientada a objetos – IIProgramação orientada a objetos – II
Programação orientada a objetos – II
 
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
 
Aula 02 - Principios da Orientação a Objetos (POO)
Aula 02 - Principios da Orientação a Objetos (POO)Aula 02 - Principios da Orientação a Objetos (POO)
Aula 02 - Principios da Orientação a Objetos (POO)
 
Módulo 9 - Introdução à Programação Orientada a Objectos
Módulo 9 - Introdução à Programação Orientada a Objectos Módulo 9 - Introdução à Programação Orientada a Objectos
Módulo 9 - Introdução à Programação Orientada a Objectos
 
Introdução à Programação Web com Angular
Introdução à Programação Web com AngularIntrodução à Programação Web com Angular
Introdução à Programação Web com Angular
 
JAVA - Orientação a Objetos
JAVA - Orientação a ObjetosJAVA - Orientação a Objetos
JAVA - Orientação a Objetos
 
Introdução a Bancos de Dados
Introdução a Bancos de DadosIntrodução a Bancos de Dados
Introdução a Bancos de Dados
 
Aula 01 - Fundamentos de Banco de Dados (2).pdf
Aula 01 - Fundamentos de Banco de Dados (2).pdfAula 01 - Fundamentos de Banco de Dados (2).pdf
Aula 01 - Fundamentos de Banco de Dados (2).pdf
 
Análise estruturada de sistemas - Modelo de contexto
Análise estruturada de sistemas - Modelo de contextoAnálise estruturada de sistemas - Modelo de contexto
Análise estruturada de sistemas - Modelo de contexto
 
Informática Básica - Introdução ao Microsoft Word 2010
Informática Básica - Introdução ao Microsoft Word 2010Informática Básica - Introdução ao Microsoft Word 2010
Informática Básica - Introdução ao Microsoft Word 2010
 
Apresentação sobre Árvores B
Apresentação sobre Árvores BApresentação sobre Árvores B
Apresentação sobre Árvores B
 
07 Modelagem de banco de dados: Modelo Físico
07 Modelagem de banco de dados: Modelo Físico07 Modelagem de banco de dados: Modelo Físico
07 Modelagem de banco de dados: Modelo Físico
 
Aula 4 banco de dados
Aula 4   banco de dados Aula 4   banco de dados
Aula 4 banco de dados
 

Destaque

ASP.NET MVC - Vinicius Quaiato
ASP.NET MVC - Vinicius QuaiatoASP.NET MVC - Vinicius Quaiato
ASP.NET MVC - Vinicius QuaiatoVinicius Quaiato
 
Aprendendo solid com exemplos
Aprendendo solid com exemplosAprendendo solid com exemplos
Aprendendo solid com exemplosvinibaggio
 
SOLID Principles
SOLID PrinciplesSOLID Principles
SOLID PrinciplesIsmael
 
Orientação a Objetos e Design Patterns
Orientação a Objetos e Design PatternsOrientação a Objetos e Design Patterns
Orientação a Objetos e Design PatternsVinicius Quaiato
 
Você tem um xerife olhando seu código?
Você tem um xerife olhando seu código?Você tem um xerife olhando seu código?
Você tem um xerife olhando seu código?Maurício Aniche
 
Proposta: Métricas e Heurísticas para Detecção de Problemas em Aplicações Web
Proposta: Métricas e Heurísticas para Detecção de Problemas em Aplicações WebProposta: Métricas e Heurísticas para Detecção de Problemas em Aplicações Web
Proposta: Métricas e Heurísticas para Detecção de Problemas em Aplicações WebMaurício Aniche
 
Efeitos da Prática de Revisão de Código na Caelum: Um Estudo Preliminar em Du...
Efeitos da Prática de Revisão de Código na Caelum: Um Estudo Preliminar em Du...Efeitos da Prática de Revisão de Código na Caelum: Um Estudo Preliminar em Du...
Efeitos da Prática de Revisão de Código na Caelum: Um Estudo Preliminar em Du...Maurício Aniche
 
DNAD 2015 - Métricas de código, pra que te quero?
DNAD 2015 - Métricas de código, pra que te quero?DNAD 2015 - Métricas de código, pra que te quero?
DNAD 2015 - Métricas de código, pra que te quero?Maurício Aniche
 
Como eu aprendi que testar software é importante?
Como eu aprendi que testar software é importante?Como eu aprendi que testar software é importante?
Como eu aprendi que testar software é importante?Maurício Aniche
 
Conheça a nova arquitetura do compilador do C# (DNAD 2015)
Conheça a nova arquitetura do compilador do C# (DNAD 2015)Conheça a nova arquitetura do compilador do C# (DNAD 2015)
Conheça a nova arquitetura do compilador do C# (DNAD 2015)Giovanni Bassi
 
Build e release pipeline com docker
Build e release pipeline com dockerBuild e release pipeline com docker
Build e release pipeline com dockerGiovanni Bassi
 
ASP.NET Core com Linux, Docker e Azure
ASP.NET Core com Linux, Docker e AzureASP.NET Core com Linux, Docker e Azure
ASP.NET Core com Linux, Docker e AzureGiovanni Bassi
 
ASP.NET Identity - O Novo componente de Membership do ASP.NET
ASP.NET Identity - O Novo componente de Membership do ASP.NETASP.NET Identity - O Novo componente de Membership do ASP.NET
ASP.NET Identity - O Novo componente de Membership do ASP.NETEduardo Pires
 
Programação Orientada a Objetos - Conceitos básicos da linguagem JAVA
Programação Orientada a Objetos - Conceitos básicos da linguagem JAVAProgramação Orientada a Objetos - Conceitos básicos da linguagem JAVA
Programação Orientada a Objetos - Conceitos básicos da linguagem JAVACristiano Almeida
 
Aplicações Conectadas com ASP.NET WebHooks
Aplicações Conectadas com ASP.NET WebHooksAplicações Conectadas com ASP.NET WebHooks
Aplicações Conectadas com ASP.NET WebHooksEduardo Pires
 
SOLID - Teoria e Prática
SOLID - Teoria e PráticaSOLID - Teoria e Prática
SOLID - Teoria e PráticaEduardo Pires
 
SATT: Tailoring Code Metric Thresholds for Different Software Architectures (...
SATT: Tailoring Code Metric Thresholds for Different Software Architectures (...SATT: Tailoring Code Metric Thresholds for Different Software Architectures (...
SATT: Tailoring Code Metric Thresholds for Different Software Architectures (...Maurício Aniche
 
A Validated Set of Smells for MVC Architectures - ICSME 2016
A Validated Set of Smells for MVC Architectures - ICSME 2016A Validated Set of Smells for MVC Architectures - ICSME 2016
A Validated Set of Smells for MVC Architectures - ICSME 2016Maurício Aniche
 

Destaque (20)

ASP.NET MVC - Vinicius Quaiato
ASP.NET MVC - Vinicius QuaiatoASP.NET MVC - Vinicius Quaiato
ASP.NET MVC - Vinicius Quaiato
 
Aprendendo solid com exemplos
Aprendendo solid com exemplosAprendendo solid com exemplos
Aprendendo solid com exemplos
 
SOLID Principles
SOLID PrinciplesSOLID Principles
SOLID Principles
 
O que é código bonito?
O que é código bonito?O que é código bonito?
O que é código bonito?
 
Orientação a Objetos e Design Patterns
Orientação a Objetos e Design PatternsOrientação a Objetos e Design Patterns
Orientação a Objetos e Design Patterns
 
Você tem um xerife olhando seu código?
Você tem um xerife olhando seu código?Você tem um xerife olhando seu código?
Você tem um xerife olhando seu código?
 
Proposta: Métricas e Heurísticas para Detecção de Problemas em Aplicações Web
Proposta: Métricas e Heurísticas para Detecção de Problemas em Aplicações WebProposta: Métricas e Heurísticas para Detecção de Problemas em Aplicações Web
Proposta: Métricas e Heurísticas para Detecção de Problemas em Aplicações Web
 
Efeitos da Prática de Revisão de Código na Caelum: Um Estudo Preliminar em Du...
Efeitos da Prática de Revisão de Código na Caelum: Um Estudo Preliminar em Du...Efeitos da Prática de Revisão de Código na Caelum: Um Estudo Preliminar em Du...
Efeitos da Prática de Revisão de Código na Caelum: Um Estudo Preliminar em Du...
 
DNAD 2015 - Métricas de código, pra que te quero?
DNAD 2015 - Métricas de código, pra que te quero?DNAD 2015 - Métricas de código, pra que te quero?
DNAD 2015 - Métricas de código, pra que te quero?
 
Como eu aprendi que testar software é importante?
Como eu aprendi que testar software é importante?Como eu aprendi que testar software é importante?
Como eu aprendi que testar software é importante?
 
Conheça a nova arquitetura do compilador do C# (DNAD 2015)
Conheça a nova arquitetura do compilador do C# (DNAD 2015)Conheça a nova arquitetura do compilador do C# (DNAD 2015)
Conheça a nova arquitetura do compilador do C# (DNAD 2015)
 
Build e release pipeline com docker
Build e release pipeline com dockerBuild e release pipeline com docker
Build e release pipeline com docker
 
ASP.NET Core com Linux, Docker e Azure
ASP.NET Core com Linux, Docker e AzureASP.NET Core com Linux, Docker e Azure
ASP.NET Core com Linux, Docker e Azure
 
ASP.NET Identity - O Novo componente de Membership do ASP.NET
ASP.NET Identity - O Novo componente de Membership do ASP.NETASP.NET Identity - O Novo componente de Membership do ASP.NET
ASP.NET Identity - O Novo componente de Membership do ASP.NET
 
Programação Orientada a Objetos - Conceitos básicos da linguagem JAVA
Programação Orientada a Objetos - Conceitos básicos da linguagem JAVAProgramação Orientada a Objetos - Conceitos básicos da linguagem JAVA
Programação Orientada a Objetos - Conceitos básicos da linguagem JAVA
 
Aplicações Conectadas com ASP.NET WebHooks
Aplicações Conectadas com ASP.NET WebHooksAplicações Conectadas com ASP.NET WebHooks
Aplicações Conectadas com ASP.NET WebHooks
 
ASP.NET MVC Core
ASP.NET MVC CoreASP.NET MVC Core
ASP.NET MVC Core
 
SOLID - Teoria e Prática
SOLID - Teoria e PráticaSOLID - Teoria e Prática
SOLID - Teoria e Prática
 
SATT: Tailoring Code Metric Thresholds for Different Software Architectures (...
SATT: Tailoring Code Metric Thresholds for Different Software Architectures (...SATT: Tailoring Code Metric Thresholds for Different Software Architectures (...
SATT: Tailoring Code Metric Thresholds for Different Software Architectures (...
 
A Validated Set of Smells for MVC Architectures - ICSME 2016
A Validated Set of Smells for MVC Architectures - ICSME 2016A Validated Set of Smells for MVC Architectures - ICSME 2016
A Validated Set of Smells for MVC Architectures - ICSME 2016
 

Semelhante a Apresentação programação orientada à objetos

Curso : Introdução Orientação a Objetos
Curso : Introdução Orientação a ObjetosCurso : Introdução Orientação a Objetos
Curso : Introdução Orientação a Objetosdanielrpgj30
 
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 ObjetosRamon Mayor Martins
 
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 finalemcp11
 
Introdução a poo
Introdução a pooIntrodução a poo
Introdução a pooSedu
 
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).pdfpedrina4
 
Orientação a Objetos
Orientação a ObjetosOrientação a Objetos
Orientação a ObjetosEdy Segura
 
Conceitos de Orientação A Objeto
Conceitos de Orientação A ObjetoConceitos de Orientação A Objeto
Conceitos de Orientação A ObjetoLuciano Almeida
 
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 vbaWanderlei Silva do Carmo
 
3.1 orientação objetos
3.1  orientação objetos3.1  orientação objetos
3.1 orientação objetosFrank Coelho
 
Paradigma de orientação a objetos -
Paradigma de orientação a objetos - Paradigma de orientação a objetos -
Paradigma de orientação a objetos - André Victor
 
Banco de Dados Orientado a Objeto
Banco de Dados Orientado a ObjetoBanco de Dados Orientado a Objeto
Banco de Dados Orientado a Objetoelliando dias
 

Semelhante a Apresentação programação orientada à objetos (20)

Curso : Introdução Orientação a Objetos
Curso : Introdução Orientação a ObjetosCurso : Introdução Orientação a Objetos
Curso : Introdução Orientação a Objetos
 
Aula 3 -_fundamentos_sobre_aoo
Aula 3 -_fundamentos_sobre_aooAula 3 -_fundamentos_sobre_aoo
Aula 3 -_fundamentos_sobre_aoo
 
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
 
Orientacao a Objetos
Orientacao a ObjetosOrientacao a Objetos
Orientacao a Objetos
 
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
 
Introdução a poo
Introdução a pooIntrodução a poo
Introdução a poo
 
Sld 4
Sld 4Sld 4
Sld 4
 
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
 
Orientação a Objetos
Orientação a ObjetosOrientação a Objetos
Orientação a Objetos
 
aula 1.pptx
aula 1.pptxaula 1.pptx
aula 1.pptx
 
Classes e Estrutura de Dados
Classes e Estrutura de DadosClasses e Estrutura de Dados
Classes e Estrutura de Dados
 
Estrutura de dados
Estrutura de dadosEstrutura de dados
Estrutura de dados
 
Aula 01 introdução aoo
Aula 01   introdução aooAula 01   introdução aoo
Aula 01 introdução aoo
 
Conceitos de Orientação A Objeto
Conceitos de Orientação A ObjetoConceitos de Orientação A Objeto
Conceitos de Orientação A Objeto
 
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
 
3.1 orientação objetos
3.1  orientação objetos3.1  orientação objetos
3.1 orientação objetos
 
Python Orientação a Objeto
Python Orientação a ObjetoPython Orientação a Objeto
Python Orientação a Objeto
 
Java 00 Poo
Java 00 PooJava 00 Poo
Java 00 Poo
 
Paradigma de orientação a objetos -
Paradigma de orientação a objetos - Paradigma de orientação a objetos -
Paradigma de orientação a objetos -
 
Banco de Dados Orientado a Objeto
Banco de Dados Orientado a ObjetoBanco de Dados Orientado a Objeto
Banco de Dados Orientado a Objeto
 

Apresentação programação orientada à objetos

  • 2. Definição  A orientação a objetos, também conhecida como Programação Orientada a Objetos (POO) é um paradigma de análise, projeto e programação de sistemas de software baseado na composição e interação entre diversas unidades de software chamadas de objetos.
  • 3. Componentes Básicos da Orientação a Objetos  Classe → São moldes através dos quais criamos objetos  Objeto → Abstração que agrupa características e comportamentos.  Instância → É o objeto propriamente dito. Possui características próprias.  Propriedade → Define as características dos objetos de uma classe.  Método → Define o comportamento dos objetos de uma classe.  Mensagem → Representa uma ação do objeto ou uma mudança de estado. Define a comunicação entre objetos.  Interface → Conjunto de mensagens que define o comportamento de um objeto (Protocolo).
  • 4. Objetos  Um objeto representa uma entidade, seja ela de natureza física, conceitual ou software.  Entidade Física: Carro, Pessoa.  Entidade Conceitual: Departamento.  Entidade Software: um botão em uma GUI. Mário Características (estado) Comportamento Identidade
  • 5. Classe  Uma classe serve de modelo para vários objetos semelhantes que possuem os mesmos tipos de informação em seu estado e tem os mesmos comportamentos;  Exemplo: Planta de uma casa, Carro, Pessoa.
  • 6. Atributos  Representam um conjunto de informações, ou seja, elementos de dados que caracterizam um objeto. Funcionário_Helena Nome=Helena Reis Nasc=28/01/1965 Salário = 4.000 InformarSalário CalcularIdade Funcionário_Helena Nome=Helena Reis Nasc=28/01/1965 Salário = 4.000 InformarSalário CalcularIdade Funcionário_Mário Nome=Mário Sá Nasc=16/02/1970 Salário = 3.000 InformarSalário CalcularIdade Funcionário_Mário Nome=Mário Sá Nasc=16/02/1970 Salário = 3.000 InformarSalário CalcularIdade
  • 7. Método  Quando um objeto é mapeado dentro do domínio do software, os processos que podem mudar a sua estrutura de dados são denominados Operações ou Métodos.  Métodos são invocados por Mensagens.  Cada objeto possui seu próprio conjunto de métodos.  Definições:  São procedimentos definidos e declarados que atuam sobre um objeto ou sobre uma classe de objetos.  Descrição de uma sequência de ações a serem executadas por um objeto.  Através dos métodos que especifica-se a um objeto COMO FAZER alguma coisa.  São intrínsecos aos objetos e não podem ser separados.
  • 8. Herança  Mecanismo que permite definir uma nova classe (subclasse) a partir de uma classe já existente (super-classe).
  • 9. Encapsulamento  Objetos encapsulam suas estruturas de dados (atributos).  Os atributos de um objeto só podem ser manipulados pelos próprios métodos do objeto  Restringe a visibilidade do objeto mas facilita o reuso.  Os DADOS e os MÉTODOS são empacotados sob um nome e podem ser reusados como uma especificação ou componente de programa.
  • 10. Abstração  Uma abstração é qualquer modelo que inclui os aspectos relevantes de alguma coisa, ao mesmo tempo em que ignora os menos importantes.
  • 11. Polimorfismo  Conceito Chave Objetos das subclasses podem ser tratados como objetos da superclasse ::Project2 A m1(...) m2(...) B m1(...) m3(...)
  • 12. Interface  Objetos se comunicam através de Mensagens, que invocam os Métodos desejados.  Parte Privada do Objeto (Visão Interna)  Métodos  Atributos  Parte Compartilhada do Objeto ou Interface corresponde à parte externa do objeto, isto é, àquela que é vista por outros objetos com a finalidade de invocar os métodos que o objeto realiza agrupa um conjunto de mensagens que o objeto pode  Responder as mensagens especificam quais operações sobre o objeto podem ser realizadas, mas não como a operação será executada.
  • 13. Conclusão  Concluímos que a transposição dos objetos do mundo real para um software se tornam muito mais simples e fácil quando usamos da orientação à objetos porque as abstrações são expressas com uma maior qualidade ao mundo computacional, fazendo com que a complexidade do desenvolvimento e manutenção em linguagens de alto nível (como Java ou .NET, por exemplo) sejam mais rápidas e eficientes.