SlideShare una empresa de Scribd logo
1 de 3
Descargar para leer sin conexión
Orientação a objetos - Wikipédia                                    http://pt.wikipedia.org/wiki/Programa%C3%A7%C3%A3o_orientada...




         Orientação a objetos
         Origem: Wikipédia, a enciclopédia livre.
         (Redirecionado de Programação orientada a objectos)
                                                                                                   Orientação a objetos
         A orientação a objetos, também conhecida como Programação Orientada a
                                                                                                   Objeto
         Objetos (POO) ou ainda em inglês Object-Oriented Programming (OOP) é um
         paradigma de análise, projeto e programação de sistemas de software baseado na            Classe
         composição e interação entre diversas unidades de software chamadas de objetos.
                                                                                                         Instância
         Em alguns contextos, prefere-se usar modelagem orientada ao objeto, em vez de
         projeto.                                                                                  Abstração
                                                                                                   Métodos
         A análise e projeto orientados a objetos têm como meta identificar o melhor conjunto      Atributo
         de objetos para descrever um sistema de software. O funcionamento deste sistema se
                                                                                                   Encapsulamento
         dá através do relacionamento e troca de mensagens entre estes objetos.
                                                                                                   Herança
         Na programação orientada a objetos, implementa-se um conjunto de classes que
         definem os objetos presentes no sistema de software. Cada classe determina o                    Herança múltipla
         comportamento (definidos nos métodos) e estados possíveis (atributos) de seus
         objetos, assim como o relacionamento com outros objetos.                                  Polimorfismo
                                                                                                    Outras referências
         Smalltalk, Python, Ruby, C++, Object Pascal, Java e C# são exemplos de linguagens         Padrões de projeto
         de programação orientadas a objetos.
                                                                                                   UML
         Perl (a partir do 5), PHP (a partir do 4.0), ColdFusion, Javascript, ActionScript e       Engenharia OO
         VB.NET são exemplos de linguagens de programação com suporte a orientação a
         objetos.



          Índice


         Conceitos fundamentais
               Classe representa um conjunto de objetos com características afins. Uma classe define o comportamento
               dos objetos, através de métodos, e quais estados ele é capaz de manter, através de atributos. Exemplo de
               classe: Os seres humanos.

               Objeto é uma instância de uma classe. Um objeto é capaz de armazenar estados através de seus atributos
               e reagir a mensagens enviadas a ele, assim como se relacionar e enviar mensagens a outros objetos.
               Exemplo de objetos da classe Humanos: João, José, Maria.

               Atributos são características de um objeto. Basicamente a estrutura de dados que vai representar a classe.
               Exemplos: Funcionário: nome, endereço,telefone, CPF, ....; Carro: nome, marca, ano, cor, ...; Livro:
               autor, editora, ano. Por sua vez, os atributos possuem valores. Por exemplo, o atributo cor pode conter o
               valor azul.

               Métodos definem as habilidades dos objetos. Bidu é uma instância da classe Cachorro, portanto tem
               habilidade para latir, implementada através do método deUmLatido(). Um método em uma classe é
               apenas uma definição. A ação só ocorre quando o método é invocado através do objeto, no caso Bidu.
               Dentro do programa, a utilização de um método deve afetar apenas um objeto em particular; Todos os

1 of 3                                                                                                               8/3/2008 04:23
Orientação a objetos - Wikipédia                                        http://pt.wikipedia.org/wiki/Programa%C3%A7%C3%A3o_orientada...


              cachorros podem latir, mas você quer que apenas Bidu dê o latido. Normalmente, uma classe possui
              diversos métodos, que no caso da classe Cachorro poderiam ser sente(), coma() e morda().

              Mensagem é uma chamada a um objeto para invocar um de seus métodos, ativando um comportamento
              descrito por sua classe. Também pode ser direcionada diretamente a uma classe (através de uma
              invocação a um método estático).

              Sobrecarga é a utilização do mesmo nome para símbolos ou métodos com operações ou funcionalidades
              distintas. Geralmente diferencia-se os métodos pela sua assinatura.

              Herança (ou generalização) é o mecanismo pelo qual uma classe (sub-classe) pode estender outra classe
              (super-classe), aproveitando seus comportamentos (métodos) e estados possíveis (atributos). Há Herança
              múltipla quando uma sub-classe possui mais de uma super-classe. Essa relação é normalmente chamada
              de relação quot;é umquot;. Um exemplo de herança: Mamífero é super-classe de Humano. Ou seja, um Humano é
              um mamífero.

              Associação é o mecanismo pelo qual um objeto utiliza os recursos de outro. Pode tratar-se de uma
              associação simples quot;usa umquot; ou de um acoplamento quot;parte dequot;. Por exemplo: Um humano usa um
              telefone. A tecla quot;1quot; é parte de um telefone.

              Encapsulamento consiste na separação de aspectos internos e externos de um objeto. Este mecanismo é
              utilizado amplamente para impedir o acesso direto ao estado de um objeto (seus atributos),
              disponibilizando externamente apenas os métodos que alteram estes estados. Exemplo: você não precisa
              conhecer os detalhes dos circuitos de um telefone para utilizá-lo. A carcaça do telefone encapsula esses
              detalhes, provendo a você uma interface mais amigável (os botões, o monofone e os sinais de tom).

              Abstração é a habilidade de concentrar nos aspectos essenciais de um contexto qualquer, ignorando
              características menos importantes ou acidentais. Em modelagem orientada a objetos, uma classe é uma
              abstração de entidades existentes no domínio do sistema de software.

              Polimorfismo é o princípio pelo qual duas ou mais classes derivadas de uma mesma superclasse podem
              invocar métodos que têm a mesma assinatura (lista de parâmetros e retorno) mas comportamentos
              distintos, especializados para cada classe derivada, usando para tanto uma referência a um objeto do tipo
              da superclasse. A decisão sobre qual o método que deve ser selecionado, de acordo com o tipo da classe
              derivada, é tomada em tempo de execução, através do mecanismo de ligação tardia. No caso de
              polimorfismo, é necessário que os métodos tenham exatamente a mesma identificação, sendo utilizado o
              mecanismo de redefinição de métodos. Esse mecanismo de redefinição não deve ser confundido com o
              mecanismo de sobrecarga de métodos.

              Interface é um contrato entre a classe e o mundo externo. Quando uma classe implementa uma interface,
              ela está comprometida a fornecer o comportamento publicado pela interface [1].

              Pacotes são referências para organização lógica de classes e interfaces [1].

         Referências

           1. ↑ 1,0 1,1 http://java.sun.com/docs/books/tutorial/java/concepts/



         Ver também
              Padrões de projeto de software
              Framework


2 of 3                                                                                                                   8/3/2008 04:23
Orientação a objetos - Wikipédia                                  http://pt.wikipedia.org/wiki/Programa%C3%A7%C3%A3o_orientada...


              Classes

         Ligações externas
              Página oficial da UML (http://www.uml.org/) (em inglês)
              cfoop.org OOP para ColdFusion (http://www.cfoop.org/) (em inglês)

         Referências Bibliográficas
              Carlos Sica. PHP Orientado a Objetos - Fale a Linguagem da Internet. 1.ed. Rio de Janeiro: Ciência
              Moderna, 2006.
              Pablo Dall'Oglio. PHP Programando com Orientação a Objetos (http://www.adianti.com.br/phpoo) :
              Inclui Design Patterns. 1.ed. São Paulo: Novatec, 2007. 576 p. ISBN 978-85-7522-137-2
              Alexandre Altair de Melo e Mauricio G. F. Nascimento. PHP Profissional
              (http://www.novatec.com.br/livros/phppro) : Aprenda a desenvolver sistemas profissionais orientados a
              objetos com padrões de projeto. 1.ed. São Paulo: Novatec, 2007. 464 p. ISBN 978-85-7522-141-9

         Obtido em quot;http://pt.wikipedia.org/wiki/Orienta%C3%A7%C3%A3o_a_objetosquot;
         Categorias: Engenharia de software | Programação orientada a objetos

              Esta página foi modificada pela última vez a 22h25min, 7 de Março de 2008.
              O texto desta página está sob a GNU Free Documentation License.
              Os direitos autorais de todas as contribuições para a Wikipédia pertencem aos seus respectivos autores
              (mais informações em direitos autorais).




3 of 3                                                                                                             8/3/2008 04:23

Más contenido relacionado

La actualidad más candente

Orientação a Objetos - Conceitos
Orientação a Objetos - ConceitosOrientação a Objetos - Conceitos
Orientação a Objetos - ConceitosMayron Cachina
 
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 javaDiogo Winck
 
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
 
Orientação a objetos na prática
Orientação a objetos na práticaOrientação a objetos na prática
Orientação a objetos na práticaTI Infnet
 
Aula de Introdução - JAVA
Aula de Introdução  - JAVAAula de Introdução  - JAVA
Aula de Introdução - JAVAMoises Omena
 
Apresenta o_do_tcc___felipe_correa(8)
Apresenta  o_do_tcc___felipe_correa(8)Apresenta  o_do_tcc___felipe_correa(8)
Apresenta o_do_tcc___felipe_correa(8)felipe_cr
 
Paradigmas de programação
Paradigmas de programaçãoParadigmas de programação
Paradigmas de programaçãoMahayana2706
 
java paradigma oo
java paradigma oojava paradigma oo
java paradigma ooleonirlopes
 

La actualidad más candente (12)

Orientação a Objetos - Conceitos
Orientação a Objetos - ConceitosOrientação a Objetos - Conceitos
Orientação a Objetos - Conceitos
 
POO - Aula 1
POO - Aula 1POO - Aula 1
POO - Aula 1
 
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
 
3 oo-concepts
3 oo-concepts3 oo-concepts
3 oo-concepts
 
UML
UMLUML
UML
 
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 na prática
Orientação a objetos na práticaOrientação a objetos na prática
Orientação a objetos na prática
 
Aula de Introdução - JAVA
Aula de Introdução  - JAVAAula de Introdução  - JAVA
Aula de Introdução - JAVA
 
Apresenta o_do_tcc___felipe_correa(8)
Apresenta  o_do_tcc___felipe_correa(8)Apresenta  o_do_tcc___felipe_correa(8)
Apresenta o_do_tcc___felipe_correa(8)
 
Paradigmas de programação
Paradigmas de programaçãoParadigmas de programação
Paradigmas de programação
 
java paradigma oo
java paradigma oojava paradigma oo
java paradigma oo
 
Virada Tecnológica 2017
Virada Tecnológica 2017Virada Tecnológica 2017
Virada Tecnológica 2017
 

Destacado

Vietnam Boletin Informativo AGOSTO 2010 Juan Inoriza
Vietnam Boletin Informativo AGOSTO 2010 Juan InorizaVietnam Boletin Informativo AGOSTO 2010 Juan Inoriza
Vietnam Boletin Informativo AGOSTO 2010 Juan InorizaJuan Inoriza
 
Compu help - logo y presentacion
Compu help - logo y presentacionCompu help - logo y presentacion
Compu help - logo y presentacionAlberto Vargas
 
Comunicación alternativa y aumentativa
Comunicación alternativa y aumentativaComunicación alternativa y aumentativa
Comunicación alternativa y aumentativaSusana Vila
 
Red October: Discovery of an island
Red October: Discovery of an islandRed October: Discovery of an island
Red October: Discovery of an islandStrelkaInstitute
 
Fort Meade SoundOff for Feb. 9, 2012
Fort Meade SoundOff for Feb. 9, 2012Fort Meade SoundOff for Feb. 9, 2012
Fort Meade SoundOff for Feb. 9, 2012ftmeade
 
Doble Grado Economia+Periodismo
Doble Grado Economia+PeriodismoDoble Grado Economia+Periodismo
Doble Grado Economia+PeriodismoLucas Silva
 
Presentacion comision de intercambio de mejora continua
Presentacion comision de intercambio de mejora continuaPresentacion comision de intercambio de mejora continua
Presentacion comision de intercambio de mejora continuaCésar Lanati
 
GLOBO AEROSTATICO Y GLOBO DIRIGIBLE
GLOBO AEROSTATICO Y GLOBO DIRIGIBLEGLOBO AEROSTATICO Y GLOBO DIRIGIBLE
GLOBO AEROSTATICO Y GLOBO DIRIGIBLENathiiz Hernandez
 
One API
One APIOne API
One APIfmkrm
 
Electricidad estatica
Electricidad estaticaElectricidad estatica
Electricidad estaticaAdrianRea96
 
Road to Transformation Part 2: Reflective Practice E Portfolio
Road to Transformation Part 2: Reflective Practice E PortfolioRoad to Transformation Part 2: Reflective Practice E Portfolio
Road to Transformation Part 2: Reflective Practice E Portfoliormg6449
 
Realise the planned benefits of your acquisition
Realise the planned benefits of your acquisitionRealise the planned benefits of your acquisition
Realise the planned benefits of your acquisitionYves Zieba
 
Global intergold,Presentación Español, 41
Global intergold,Presentación Español, 41Global intergold,Presentación Español, 41
Global intergold,Presentación Español, 41Rumbo Norte GIG
 

Destacado (20)

El documento
El documentoEl documento
El documento
 
Vietnam Boletin Informativo AGOSTO 2010 Juan Inoriza
Vietnam Boletin Informativo AGOSTO 2010 Juan InorizaVietnam Boletin Informativo AGOSTO 2010 Juan Inoriza
Vietnam Boletin Informativo AGOSTO 2010 Juan Inoriza
 
Compu help - logo y presentacion
Compu help - logo y presentacionCompu help - logo y presentacion
Compu help - logo y presentacion
 
January 2011 News Letter
January 2011 News LetterJanuary 2011 News Letter
January 2011 News Letter
 
Comunicación alternativa y aumentativa
Comunicación alternativa y aumentativaComunicación alternativa y aumentativa
Comunicación alternativa y aumentativa
 
Communicating for Your Career
Communicating for Your CareerCommunicating for Your Career
Communicating for Your Career
 
Red October: Discovery of an island
Red October: Discovery of an islandRed October: Discovery of an island
Red October: Discovery of an island
 
Fort Meade SoundOff for Feb. 9, 2012
Fort Meade SoundOff for Feb. 9, 2012Fort Meade SoundOff for Feb. 9, 2012
Fort Meade SoundOff for Feb. 9, 2012
 
Doble Grado Economia+Periodismo
Doble Grado Economia+PeriodismoDoble Grado Economia+Periodismo
Doble Grado Economia+Periodismo
 
Agoranet Econscience
Agoranet EconscienceAgoranet Econscience
Agoranet Econscience
 
Presentacion comision de intercambio de mejora continua
Presentacion comision de intercambio de mejora continuaPresentacion comision de intercambio de mejora continua
Presentacion comision de intercambio de mejora continua
 
GLOBO AEROSTATICO Y GLOBO DIRIGIBLE
GLOBO AEROSTATICO Y GLOBO DIRIGIBLEGLOBO AEROSTATICO Y GLOBO DIRIGIBLE
GLOBO AEROSTATICO Y GLOBO DIRIGIBLE
 
One API
One APIOne API
One API
 
Electricidad estatica
Electricidad estaticaElectricidad estatica
Electricidad estatica
 
Criminologia Qdc11
 Criminologia Qdc11 Criminologia Qdc11
Criminologia Qdc11
 
Road to Transformation Part 2: Reflective Practice E Portfolio
Road to Transformation Part 2: Reflective Practice E PortfolioRoad to Transformation Part 2: Reflective Practice E Portfolio
Road to Transformation Part 2: Reflective Practice E Portfolio
 
Sagacious Advertising
Sagacious AdvertisingSagacious Advertising
Sagacious Advertising
 
Earth Vocabulary
Earth VocabularyEarth Vocabulary
Earth Vocabulary
 
Realise the planned benefits of your acquisition
Realise the planned benefits of your acquisitionRealise the planned benefits of your acquisition
Realise the planned benefits of your acquisition
 
Global intergold,Presentación Español, 41
Global intergold,Presentación Español, 41Global intergold,Presentación Español, 41
Global intergold,Presentación Español, 41
 

Similar a Orientacao a Objetos

Orientação a Objetos
Orientação a ObjetosOrientação a Objetos
Orientação a ObjetosEdy Segura
 
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
 
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 objetosLeonardo Melo Santos
 
Aula de Introdução - JAVA
Aula de Introdução  - JAVAAula de Introdução  - JAVA
Aula de Introdução - JAVAMoises Omena
 
3 oo-concepts
3 oo-concepts3 oo-concepts
3 oo-conceptsjorge600
 
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) v1Marcelo Zeferino
 
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
 
Programação orientada a objetos
Programação orientada a objetosProgramação orientada a objetos
Programação orientada a objetosCleyton Ferrari
 
Intro oca,ocp 6 & 7, oo basics
Intro   oca,ocp 6 & 7, oo basicsIntro   oca,ocp 6 & 7, oo basics
Intro oca,ocp 6 & 7, oo basicsJuarez Junior
 
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
 
Modelagem de sistemas
Modelagem de sistemasModelagem de sistemas
Modelagem de sistemassauloroos01
 
Padroes De Projeto
Padroes De ProjetoPadroes De Projeto
Padroes De Projetoejdn1
 

Similar a Orientacao a Objetos (20)

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
 
Java 00 Poo
Java 00 PooJava 00 Poo
Java 00 Poo
 
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
 
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
 
Programação Orientado a Objetos
Programação Orientado a ObjetosProgramação Orientado a Objetos
Programação Orientado a Objetos
 
Python Orientação a Objeto
Python Orientação a ObjetoPython Orientação a Objeto
Python Orientação a Objeto
 
Aula de Introdução - JAVA
Aula de Introdução  - JAVAAula de Introdução  - JAVA
Aula de Introdução - JAVA
 
3 oo-concepts
3 oo-concepts3 oo-concepts
3 oo-concepts
 
Aula 04.pdf
Aula 04.pdfAula 04.pdf
Aula 04.pdf
 
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
 
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
 
Programação orientada a objetos
Programação orientada a objetosProgramação orientada a objetos
Programação orientada a objetos
 
Intro oca,ocp 6 & 7, oo basics
Intro   oca,ocp 6 & 7, oo basicsIntro   oca,ocp 6 & 7, oo basics
Intro oca,ocp 6 & 7, oo basics
 
Java7
Java7Java7
Java7
 
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
 
Poo padadigmas
Poo padadigmasPoo padadigmas
Poo padadigmas
 
Modelagem de sistemas
Modelagem de sistemasModelagem de sistemas
Modelagem de sistemas
 
Sld 4
Sld 4Sld 4
Sld 4
 
Padroes De Projeto
Padroes De ProjetoPadroes De Projeto
Padroes De Projeto
 

Más de Robson Silva Espig (20)

Master Place - Convenção Bloco D
Master Place - Convenção Bloco DMaster Place - Convenção Bloco D
Master Place - Convenção Bloco D
 
Aquarelas Envelhecidas
Aquarelas EnvelhecidasAquarelas Envelhecidas
Aquarelas Envelhecidas
 
[ reference ] Processos - PMBOK
[ reference ] Processos - PMBOK[ reference ] Processos - PMBOK
[ reference ] Processos - PMBOK
 
[ ref ] Convergência - Mobilidade
[ ref ] Convergência - Mobilidade[ ref ] Convergência - Mobilidade
[ ref ] Convergência - Mobilidade
 
[ ref ] Normalizing a Data Model in SQL Server
[ ref ] Normalizing a Data Model in SQL Server[ ref ] Normalizing a Data Model in SQL Server
[ ref ] Normalizing a Data Model in SQL Server
 
A Evolucao dos Processos de Desenvolvimento de Software
A Evolucao dos Processos de Desenvolvimento de SoftwareA Evolucao dos Processos de Desenvolvimento de Software
A Evolucao dos Processos de Desenvolvimento de Software
 
Como implementar uma plataforma de ILM com eficiência, reduzindo custos
Como implementar uma plataforma de ILM com eficiência, reduzindo custosComo implementar uma plataforma de ILM com eficiência, reduzindo custos
Como implementar uma plataforma de ILM com eficiência, reduzindo custos
 
Gestao Projetos - Aula 02
Gestao Projetos - Aula 02Gestao Projetos - Aula 02
Gestao Projetos - Aula 02
 
Gestao Projetos - Aula 01
Gestao Projetos - Aula 01Gestao Projetos - Aula 01
Gestao Projetos - Aula 01
 
Aula 01
Aula 01Aula 01
Aula 01
 
Aula 05
Aula 05Aula 05
Aula 05
 
Aula 04
Aula 04Aula 04
Aula 04
 
Aula 02
Aula 02Aula 02
Aula 02
 
Caso de Desenvolvimento
Caso de DesenvolvimentoCaso de Desenvolvimento
Caso de Desenvolvimento
 
SOA
SOASOA
SOA
 
Aula 03
Aula 03Aula 03
Aula 03
 
Artigo Caso de Uso
Artigo Caso de UsoArtigo Caso de Uso
Artigo Caso de Uso
 
RAD
RADRAD
RAD
 
Analise de Requisitos de Software
Analise de Requisitos de SoftwareAnalise de Requisitos de Software
Analise de Requisitos de Software
 
Desenvolvimento Iterativo e Incremental
Desenvolvimento Iterativo e IncrementalDesenvolvimento Iterativo e Incremental
Desenvolvimento Iterativo e Incremental
 

Último

Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsDanilo Pinotti
 
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx2m Assessoria
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx2m Assessoria
 
Luís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdfLuís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdfLuisKitota
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx2m Assessoria
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploDanilo Pinotti
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx2m Assessoria
 
Programação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdfProgramação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdfSamaraLunas
 

Último (8)

Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object Calisthenics
 
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
 
Luís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdfLuís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdf
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemplo
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
 
Programação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdfProgramação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdf
 

Orientacao a Objetos

  • 1. Orientação a objetos - Wikipédia http://pt.wikipedia.org/wiki/Programa%C3%A7%C3%A3o_orientada... Orientação a objetos Origem: Wikipédia, a enciclopédia livre. (Redirecionado de Programação orientada a objectos) Orientação a objetos A orientação a objetos, também conhecida como Programação Orientada a Objeto Objetos (POO) ou ainda em inglês Object-Oriented Programming (OOP) é um paradigma de análise, projeto e programação de sistemas de software baseado na Classe composição e interação entre diversas unidades de software chamadas de objetos. Instância Em alguns contextos, prefere-se usar modelagem orientada ao objeto, em vez de projeto. Abstração Métodos A análise e projeto orientados a objetos têm como meta identificar o melhor conjunto Atributo de objetos para descrever um sistema de software. O funcionamento deste sistema se Encapsulamento dá através do relacionamento e troca de mensagens entre estes objetos. Herança Na programação orientada a objetos, implementa-se um conjunto de classes que definem os objetos presentes no sistema de software. Cada classe determina o Herança múltipla comportamento (definidos nos métodos) e estados possíveis (atributos) de seus objetos, assim como o relacionamento com outros objetos. Polimorfismo Outras referências Smalltalk, Python, Ruby, C++, Object Pascal, Java e C# são exemplos de linguagens Padrões de projeto de programação orientadas a objetos. UML Perl (a partir do 5), PHP (a partir do 4.0), ColdFusion, Javascript, ActionScript e Engenharia OO VB.NET são exemplos de linguagens de programação com suporte a orientação a objetos. Índice Conceitos fundamentais Classe representa um conjunto de objetos com características afins. Uma classe define o comportamento dos objetos, através de métodos, e quais estados ele é capaz de manter, através de atributos. Exemplo de classe: Os seres humanos. Objeto é uma instância de uma classe. Um objeto é capaz de armazenar estados através de seus atributos e reagir a mensagens enviadas a ele, assim como se relacionar e enviar mensagens a outros objetos. Exemplo de objetos da classe Humanos: João, José, Maria. Atributos são características de um objeto. Basicamente a estrutura de dados que vai representar a classe. Exemplos: Funcionário: nome, endereço,telefone, CPF, ....; Carro: nome, marca, ano, cor, ...; Livro: autor, editora, ano. Por sua vez, os atributos possuem valores. Por exemplo, o atributo cor pode conter o valor azul. Métodos definem as habilidades dos objetos. Bidu é uma instância da classe Cachorro, portanto tem habilidade para latir, implementada através do método deUmLatido(). Um método em uma classe é apenas uma definição. A ação só ocorre quando o método é invocado através do objeto, no caso Bidu. Dentro do programa, a utilização de um método deve afetar apenas um objeto em particular; Todos os 1 of 3 8/3/2008 04:23
  • 2. Orientação a objetos - Wikipédia http://pt.wikipedia.org/wiki/Programa%C3%A7%C3%A3o_orientada... cachorros podem latir, mas você quer que apenas Bidu dê o latido. Normalmente, uma classe possui diversos métodos, que no caso da classe Cachorro poderiam ser sente(), coma() e morda(). Mensagem é uma chamada a um objeto para invocar um de seus métodos, ativando um comportamento descrito por sua classe. Também pode ser direcionada diretamente a uma classe (através de uma invocação a um método estático). Sobrecarga é a utilização do mesmo nome para símbolos ou métodos com operações ou funcionalidades distintas. Geralmente diferencia-se os métodos pela sua assinatura. Herança (ou generalização) é o mecanismo pelo qual uma classe (sub-classe) pode estender outra classe (super-classe), aproveitando seus comportamentos (métodos) e estados possíveis (atributos). Há Herança múltipla quando uma sub-classe possui mais de uma super-classe. Essa relação é normalmente chamada de relação quot;é umquot;. Um exemplo de herança: Mamífero é super-classe de Humano. Ou seja, um Humano é um mamífero. Associação é o mecanismo pelo qual um objeto utiliza os recursos de outro. Pode tratar-se de uma associação simples quot;usa umquot; ou de um acoplamento quot;parte dequot;. Por exemplo: Um humano usa um telefone. A tecla quot;1quot; é parte de um telefone. Encapsulamento consiste na separação de aspectos internos e externos de um objeto. Este mecanismo é utilizado amplamente para impedir o acesso direto ao estado de um objeto (seus atributos), disponibilizando externamente apenas os métodos que alteram estes estados. Exemplo: você não precisa conhecer os detalhes dos circuitos de um telefone para utilizá-lo. A carcaça do telefone encapsula esses detalhes, provendo a você uma interface mais amigável (os botões, o monofone e os sinais de tom). Abstração é a habilidade de concentrar nos aspectos essenciais de um contexto qualquer, ignorando características menos importantes ou acidentais. Em modelagem orientada a objetos, uma classe é uma abstração de entidades existentes no domínio do sistema de software. Polimorfismo é o princípio pelo qual duas ou mais classes derivadas de uma mesma superclasse podem invocar métodos que têm a mesma assinatura (lista de parâmetros e retorno) mas comportamentos distintos, especializados para cada classe derivada, usando para tanto uma referência a um objeto do tipo da superclasse. A decisão sobre qual o método que deve ser selecionado, de acordo com o tipo da classe derivada, é tomada em tempo de execução, através do mecanismo de ligação tardia. No caso de polimorfismo, é necessário que os métodos tenham exatamente a mesma identificação, sendo utilizado o mecanismo de redefinição de métodos. Esse mecanismo de redefinição não deve ser confundido com o mecanismo de sobrecarga de métodos. Interface é um contrato entre a classe e o mundo externo. Quando uma classe implementa uma interface, ela está comprometida a fornecer o comportamento publicado pela interface [1]. Pacotes são referências para organização lógica de classes e interfaces [1]. Referências 1. ↑ 1,0 1,1 http://java.sun.com/docs/books/tutorial/java/concepts/ Ver também Padrões de projeto de software Framework 2 of 3 8/3/2008 04:23
  • 3. Orientação a objetos - Wikipédia http://pt.wikipedia.org/wiki/Programa%C3%A7%C3%A3o_orientada... Classes Ligações externas Página oficial da UML (http://www.uml.org/) (em inglês) cfoop.org OOP para ColdFusion (http://www.cfoop.org/) (em inglês) Referências Bibliográficas Carlos Sica. PHP Orientado a Objetos - Fale a Linguagem da Internet. 1.ed. Rio de Janeiro: Ciência Moderna, 2006. Pablo Dall'Oglio. PHP Programando com Orientação a Objetos (http://www.adianti.com.br/phpoo) : Inclui Design Patterns. 1.ed. São Paulo: Novatec, 2007. 576 p. ISBN 978-85-7522-137-2 Alexandre Altair de Melo e Mauricio G. F. Nascimento. PHP Profissional (http://www.novatec.com.br/livros/phppro) : Aprenda a desenvolver sistemas profissionais orientados a objetos com padrões de projeto. 1.ed. São Paulo: Novatec, 2007. 464 p. ISBN 978-85-7522-141-9 Obtido em quot;http://pt.wikipedia.org/wiki/Orienta%C3%A7%C3%A3o_a_objetosquot; Categorias: Engenharia de software | Programação orientada a objetos Esta página foi modificada pela última vez a 22h25min, 7 de Março de 2008. O texto desta página está sob a GNU Free Documentation License. Os direitos autorais de todas as contribuições para a Wikipédia pertencem aos seus respectivos autores (mais informações em direitos autorais). 3 of 3 8/3/2008 04:23