SlideShare una empresa de Scribd logo
1 de 15
Programação
Orientada a Objetos
1
Introdução
De acordo com Furlan (2004:): a tecnologia de objetos apresentam
comportamentos chaves que fundamentam o enfoco do processo de
modelagem e desenvolvimento. Rumbaugh define a orientação a objetos como
“uma nova maneira de pensar os problemas utilizando modelos organizados a
partir de conceitos do mundo real.” Entretanto é de fato que,
Orientação a Objetos é o processo de construção de modelos do domínio do
problema, identificando e especificando um conjunto de objetos que interagem
e compartam-se conforme os requisitos estabelecidos para o sistema.
2
O que é Orientação a Objetos?
Orientação a objetos nada mais é um paradigma de desenvolvimento de
software que tem como objetivo aproximar o mundo real do mundo virtual,
a ideia é simular o mundo real dentro do computador, afinal nosso mundo
é composto de objetos.
3
O que é uma Classe?
Representa-se a classe como um projeto do objeto, ou seja, objeto é a instancia
de uma classe, antes de ser criado um objeto deve-se definir a classe na qual
ele pertence. A partir da classe podemos construir objetos na memória do
computador que executa a aplicação.
4
Cachorro
Tamanho: int
Raça: string
Latir ( ) método
Tipo
Classe
Atributos
Variáveis
Ações
Métodos
O que é objeto?
Objeto é a instancia de uma classe, cria-se um objeto após definir uma classe
para o mesmo. Na classe cachorro pode-se ter vários objetos, cada objeto pode
possuir um atributo diferente.
5
Atributos são variáveis da classe
Tamanho: 50cm
Raça: buldog
Cor: marrom
orelha
patas
rabo
Métodos
Métodos são ações que uma classe possui.
6
Ações (Métodos)
Fazer xixi
comer
correr
brincar
latir
dormir
7
Cachorro
Tamanho: int
Raça: string
Latir ( ) método
Objeto New
New
Classe nada mais é que um
projeto de objeto podendo
instanciar vários objetos
8
É possível criar vários objetos em uma só classe. No exemplo da classe
cachorro, foi definido outros objetos com atributos diferentes
comportamentos diferentes, mas do mesmo jeito não deixa de ser um objeto.
O conceito disso em orientação a objetos isso é chamado de código reuso,
ou seja, reutilização de código. Objetos trocam mensagem entre si, objetos
trocam mensagem entre si e pode trocar atributo de outro objeto
Herança
O conceito de Herança é um dos principais pilares na orientação a objetos, ou
seja, qualquer linguagem orientada a objetos, possui herança. As vantagens da
utilização de herança pode diminuir a quantidade de códigos escrito no inicio do
desenvolvimento do projeto. É chamada de Subclasse uma classe que herda os
membros de uma classe superior á ela, sendo ela a Superclasse.
Superclasse -> fornece membros a outras classes
Subclasse -> herda membros da subclasse
9
10
Animal
quadrúpedes
aquáticos
aves
SuperClasse
SubClasse
Nota: Uma superclasse pode ser herdada por
diversas subclasses. Nesta imagem a classe Animal
é herdada pelas classes: quadrúpede, aquáticos e
aves, sendo assim, a superclasse Animal possui as
mesmas características que as outras subclasses.
11
Veículo
Automóvel Aeronave
Outro exemplo usando o
conceito de herança
12
Encapsulamento
O encapsulamento significa separar o programa em partes o mais isoladas
possível, ou seja, proteger os atributos não deixando ser visível a outras
classes. O encapsulamento protege o acesso direto (referências) aos
atributos de uma instância fora da classe onde estes foram declarados,
permite determinar a forma como os membros da classe serão expostos.
Exemplo: Pode ser determinado um o tipo de acesso para um determinado
método usado que é usado em um software inteiro para que apenas uma
equipe possa mexe-lo, ou seja, dependendo da regra de negócio isolar esse
método para ter um melhor controle sobre o determinado método.
O membro não pode ser acessado fora da classe,
nem mesmo por outras classes derivadas da classe
base.
13
private
protected
internal
Protected-internal
public
O membro não pode ser acessado fora da classe,
porém o membro está disponível para
outras classes derivadas da classe base.
O membro só é visível na unidade de código onde o
mesmo está definido. É um meio termo entre public
e protected, uma vez que o membro pode ser
acesso por todas as classes definidas na mesma
unidade.
Torna o membro acessível de fora da definição da
classe.
Quer tipo de código a partir de derivados ou de
código da mesma assembleia. Combinação de
protegidos ou internos.
Polimorfismo
Em orientação a objetos polimorfismo é a capacidade que os objetos
possuem, de agir de forma quase totalmente diferenciada mesmo que
possuem a mesma origem. Polimorfismo significa muitas formas, pode se
enviar uma mensagem para diferentes objetos e fazê-los responder da
maneira certa.
Sobrecarga de método -> A utilização da sobrecarga de métodos realiza
a tarefa com distintos parâmetros de entrada. Ex: posso ter dois métodos
chamado com o mesmo nome mas com comportamentos diferentes e
parâmetros diferentes.
Sobrescrita de método -> Métodos com o mesmo nome, mesma
assinatura, comportamentos diferentes, mas em classes diferentes e
originadas de uma classe pai.
14
Fim
15

Más contenido relacionado

La actualidad más candente

Introdução a JavaScript
Introdução a JavaScriptIntrodução a JavaScript
Introdução a JavaScriptBruno Catão
 
Java: Heranca e polimorfismo
Java: Heranca e polimorfismoJava: Heranca e polimorfismo
Java: Heranca e polimorfismoArthur Emanuel
 
Aula 01 - JavaScript: Introdução
Aula 01 - JavaScript: IntroduçãoAula 01 - JavaScript: Introdução
Aula 01 - JavaScript: IntroduçãoJessyka Lage
 
POO - 01 - Introdução ao Paradigma Orientado a Objetos
POO - 01 - Introdução ao Paradigma Orientado a ObjetosPOO - 01 - Introdução ao Paradigma Orientado a Objetos
POO - 01 - Introdução ao Paradigma Orientado a ObjetosLudimila Monjardim Casagrande
 
Aula de Introdução - JAVA
Aula de Introdução  - JAVAAula de Introdução  - JAVA
Aula de Introdução - JAVAMoises Omena
 
Python - Introdução Básica
Python - Introdução BásicaPython - Introdução Básica
Python - Introdução BásicaChristian Perone
 
Java orientação a objetos (associacao, composicao, agregacao)
Java   orientação a objetos (associacao, composicao, agregacao)Java   orientação a objetos (associacao, composicao, agregacao)
Java orientação a objetos (associacao, composicao, agregacao)Armando Daniel
 
Aula 02 - Introdução ao PHP
Aula 02 - Introdução ao PHPAula 02 - Introdução ao PHP
Aula 02 - Introdução ao PHPDaniel Brandão
 
Apresentação HTML e CSS
Apresentação HTML e CSSApresentação HTML e CSS
Apresentação HTML e CSSledsifes
 
POO - 02 - Fundamentos da Linguagem Java e da Orientação a Objetos
POO - 02 - Fundamentos da Linguagem Java e da Orientação a ObjetosPOO - 02 - Fundamentos da Linguagem Java e da Orientação a Objetos
POO - 02 - Fundamentos da Linguagem Java e da Orientação a ObjetosLudimila Monjardim Casagrande
 
Java 10 Classes Abstratas Interfaces
Java 10 Classes Abstratas InterfacesJava 10 Classes Abstratas Interfaces
Java 10 Classes Abstratas InterfacesRegis Magalhães
 
Polimorfismo java
Polimorfismo javaPolimorfismo java
Polimorfismo javaFAFICA
 
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
 

La actualidad más candente (20)

Introdução a JavaScript
Introdução a JavaScriptIntrodução a JavaScript
Introdução a JavaScript
 
Java: Heranca e polimorfismo
Java: Heranca e polimorfismoJava: Heranca e polimorfismo
Java: Heranca e polimorfismo
 
POO - 10 - Herança
POO - 10 - HerançaPOO - 10 - Herança
POO - 10 - Herança
 
Aula 01 - JavaScript: Introdução
Aula 01 - JavaScript: IntroduçãoAula 01 - JavaScript: Introdução
Aula 01 - JavaScript: Introdução
 
JAVA - Herança
JAVA - HerançaJAVA - Herança
JAVA - Herança
 
POO - 01 - Introdução ao Paradigma Orientado a Objetos
POO - 01 - Introdução ao Paradigma Orientado a ObjetosPOO - 01 - Introdução ao Paradigma Orientado a Objetos
POO - 01 - Introdução ao Paradigma Orientado a Objetos
 
Linguagem C - Vetores
Linguagem C - VetoresLinguagem C - Vetores
Linguagem C - Vetores
 
Aula de Introdução - JAVA
Aula de Introdução  - JAVAAula de Introdução  - JAVA
Aula de Introdução - JAVA
 
Python - Introdução Básica
Python - Introdução BásicaPython - Introdução Básica
Python - Introdução Básica
 
POO - 11 - Prática de Herança
POO - 11 - Prática de HerançaPOO - 11 - Prática de Herança
POO - 11 - Prática de Herança
 
Java orientação a objetos (associacao, composicao, agregacao)
Java   orientação a objetos (associacao, composicao, agregacao)Java   orientação a objetos (associacao, composicao, agregacao)
Java orientação a objetos (associacao, composicao, agregacao)
 
Aula 02 - Introdução ao PHP
Aula 02 - Introdução ao PHPAula 02 - Introdução ao PHP
Aula 02 - Introdução ao PHP
 
Apresentação HTML e CSS
Apresentação HTML e CSSApresentação HTML e CSS
Apresentação HTML e CSS
 
POO - 02 - Fundamentos da Linguagem Java e da Orientação a Objetos
POO - 02 - Fundamentos da Linguagem Java e da Orientação a ObjetosPOO - 02 - Fundamentos da Linguagem Java e da Orientação a Objetos
POO - 02 - Fundamentos da Linguagem Java e da Orientação a Objetos
 
Java 10 Classes Abstratas Interfaces
Java 10 Classes Abstratas InterfacesJava 10 Classes Abstratas Interfaces
Java 10 Classes Abstratas Interfaces
 
Python - Introdução
Python - IntroduçãoPython - Introdução
Python - Introdução
 
Polimorfismo java
Polimorfismo javaPolimorfismo java
Polimorfismo java
 
Introdução a php
Introdução a phpIntrodução a php
Introdução a php
 
Aula02 - JavaScript
Aula02 - JavaScriptAula02 - JavaScript
Aula02 - JavaScript
 
Encapsulamento em Orientação a Objetos
Encapsulamento em Orientação a ObjetosEncapsulamento em Orientação a Objetos
Encapsulamento em Orientação a Objetos
 

Destacado

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
 
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
 
Programação Orientada a Objetos com Java
Programação Orientada a Objetos com JavaProgramação Orientada a Objetos com Java
Programação Orientada a Objetos com JavaÁlvaro Farias Pinheiro
 
Orientação a Objetos
Orientação a ObjetosOrientação a Objetos
Orientação a ObjetosEdy Segura
 
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
 
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
 
Programação Orientada a Objetos
Programação Orientada a ObjetosProgramação Orientada a Objetos
Programação Orientada a ObjetosOrlando Junior
 
Programação Orientada a Objetos - Uso da O.O. em Java
Programação Orientada a Objetos - Uso da O.O. em JavaProgramação Orientada a Objetos - Uso da O.O. em Java
Programação Orientada a Objetos - Uso da O.O. em JavaCristiano Almeida
 
Orientação a Objetos - Conceitos
Orientação a Objetos - ConceitosOrientação a Objetos - Conceitos
Orientação a Objetos - ConceitosMayron Cachina
 
Desenvolvimento de Malwares com C#
Desenvolvimento de Malwares com C# Desenvolvimento de Malwares com C#
Desenvolvimento de Malwares com C# Erick Wendel
 
Apostila de poo em c++
Apostila de poo em c++Apostila de poo em c++
Apostila de poo em c++Lindomar ...
 
Desenvolvendo BOTs com Telegram e Javascript - TDC2016
Desenvolvendo BOTs com Telegram e Javascript - TDC2016Desenvolvendo BOTs com Telegram e Javascript - TDC2016
Desenvolvendo BOTs com Telegram e Javascript - TDC2016Erick Wendel
 
JS - Ferramentas Code Analysis e Fixed para JS - TDC2016
JS - Ferramentas Code Analysis e Fixed para JS - TDC2016JS - Ferramentas Code Analysis e Fixed para JS - TDC2016
JS - Ferramentas Code Analysis e Fixed para JS - TDC2016Erick Wendel
 
Processamento digital de sinais
Processamento digital de sinaisProcessamento digital de sinais
Processamento digital de sinaisLuiz Henrique
 

Destacado (20)

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
 
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 Orientada a Objetos com Java
Programação Orientada a Objetos com JavaProgramação Orientada a Objetos com Java
Programação Orientada a Objetos com Java
 
Orientação a Objetos
Orientação a ObjetosOrientação a Objetos
Orientação a Objetos
 
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
 
Principais diagramas da UML
Principais diagramas da UMLPrincipais diagramas da UML
Principais diagramas da UML
 
Programação Orientada a Objetos - 001
Programação Orientada a Objetos - 001Programação Orientada a Objetos - 001
Programação Orientada a Objetos - 001
 
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
 
Programação Orientada a Objetos
Programação Orientada a ObjetosProgramação Orientada a Objetos
Programação Orientada a Objetos
 
JRebel para desenvolvedores
JRebel para desenvolvedoresJRebel para desenvolvedores
JRebel para desenvolvedores
 
Programação Orientada a Objetos - Uso da O.O. em Java
Programação Orientada a Objetos - Uso da O.O. em JavaProgramação Orientada a Objetos - Uso da O.O. em Java
Programação Orientada a Objetos - Uso da O.O. em Java
 
Orientação a Objetos - Conceitos
Orientação a Objetos - ConceitosOrientação a Objetos - Conceitos
Orientação a Objetos - Conceitos
 
Tecnologias cloud computing
Tecnologias cloud computingTecnologias cloud computing
Tecnologias cloud computing
 
Desenvolvimento de Malwares com C#
Desenvolvimento de Malwares com C# Desenvolvimento de Malwares com C#
Desenvolvimento de Malwares com C#
 
Apostila de poo em c++
Apostila de poo em c++Apostila de poo em c++
Apostila de poo em c++
 
Desenvolvendo BOTs com Telegram e Javascript - TDC2016
Desenvolvendo BOTs com Telegram e Javascript - TDC2016Desenvolvendo BOTs com Telegram e Javascript - TDC2016
Desenvolvendo BOTs com Telegram e Javascript - TDC2016
 
JS - Ferramentas Code Analysis e Fixed para JS - TDC2016
JS - Ferramentas Code Analysis e Fixed para JS - TDC2016JS - Ferramentas Code Analysis e Fixed para JS - TDC2016
JS - Ferramentas Code Analysis e Fixed para JS - TDC2016
 
Analise matematica-2003
Analise matematica-2003Analise matematica-2003
Analise matematica-2003
 
Base de Dados
Base de DadosBase de Dados
Base de Dados
 
Processamento digital de sinais
Processamento digital de sinaisProcessamento digital de sinais
Processamento digital de sinais
 

Similar a POO: Introdução à Programação Orientada a 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 vbaWanderlei Silva do Carmo
 
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
 
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
 
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
 
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
 
Poo apostila visual c
Poo apostila visual cPoo apostila visual c
Poo apostila visual cFabiano Lima
 
Paradigmas de programação
Paradigmas de programaçãoParadigmas de programação
Paradigmas de programaçãoMahayana2706
 
Apresentação versão 1.5
Apresentação   versão 1.5Apresentação   versão 1.5
Apresentação versão 1.5oliveiraprog
 
Conceitos de Orientação a Objeto e Exemplos no Estudo de Caso do TRT-16
Conceitos de Orientação a Objeto e Exemplos no Estudo de Caso do TRT-16Conceitos de Orientação a Objeto e Exemplos no Estudo de Caso do TRT-16
Conceitos de Orientação a Objeto e Exemplos no Estudo de Caso do TRT-16marcusNOGUEIRA
 
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
 
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
 
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
 

Similar a POO: Introdução à Programação Orientada a Objetos (20)

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
 
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)
 
Orientacao a Objetos
Orientacao a ObjetosOrientacao a Objetos
Orientacao a Objetos
 
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
 
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
 
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
 
Poo apostila visual c
Poo apostila visual cPoo apostila visual c
Poo apostila visual c
 
Java 00 Poo
Java 00 PooJava 00 Poo
Java 00 Poo
 
Paradigmas de programação
Paradigmas de programaçãoParadigmas de programação
Paradigmas de programação
 
Python Orientação a Objeto
Python Orientação a ObjetoPython Orientação a Objeto
Python Orientação a Objeto
 
Apresentação versão 1.5
Apresentação   versão 1.5Apresentação   versão 1.5
Apresentação versão 1.5
 
Conceitos de Orientação a Objeto e Exemplos no Estudo de Caso do TRT-16
Conceitos de Orientação a Objeto e Exemplos no Estudo de Caso do TRT-16Conceitos de Orientação a Objeto e Exemplos no Estudo de Caso do TRT-16
Conceitos de Orientação a Objeto e Exemplos no Estudo de Caso do TRT-16
 
Java7
Java7Java7
Java7
 
Paradigma de orientação a objetos -
Paradigma de orientação a objetos - Paradigma de orientação a objetos -
Paradigma de orientação 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
 
Análise de sistemas oo 1
Análise de sistemas oo   1Análise de sistemas oo   1
Análise de sistemas oo 1
 
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 1.pptx
aula 1.pptxaula 1.pptx
aula 1.pptx
 
Paradigma Orientado a Objetos
Paradigma Orientado a ObjetosParadigma Orientado a Objetos
Paradigma Orientado a Objetos
 

Más de Jéssica Nathany Carvalho Freitas (7)

Web por baixo dos panos completo
Web por baixo dos panos completoWeb por baixo dos panos completo
Web por baixo dos panos completo
 
Treinamento poo-carreira-unica
Treinamento poo-carreira-unicaTreinamento poo-carreira-unica
Treinamento poo-carreira-unica
 
Boas práticas em programação
Boas práticas em programaçãoBoas práticas em programação
Boas práticas em programação
 
Pesquisa sobre no sql
Pesquisa sobre no sqlPesquisa sobre no sql
Pesquisa sobre no sql
 
Segurança em Aplicações Web com OWASP
Segurança em Aplicações Web com OWASPSegurança em Aplicações Web com OWASP
Segurança em Aplicações Web com OWASP
 
Resumo do livro Já Entendi da autora Gladys Mariotto
Resumo do livro Já Entendi da autora Gladys MariottoResumo do livro Já Entendi da autora Gladys Mariotto
Resumo do livro Já Entendi da autora Gladys Mariotto
 
Apresentação Arquitetura MVC
Apresentação Arquitetura MVCApresentação Arquitetura MVC
Apresentação Arquitetura MVC
 

POO: Introdução à Programação Orientada a Objetos

  • 2. Introdução De acordo com Furlan (2004:): a tecnologia de objetos apresentam comportamentos chaves que fundamentam o enfoco do processo de modelagem e desenvolvimento. Rumbaugh define a orientação a objetos como “uma nova maneira de pensar os problemas utilizando modelos organizados a partir de conceitos do mundo real.” Entretanto é de fato que, Orientação a Objetos é o processo de construção de modelos do domínio do problema, identificando e especificando um conjunto de objetos que interagem e compartam-se conforme os requisitos estabelecidos para o sistema. 2
  • 3. O que é Orientação a Objetos? Orientação a objetos nada mais é um paradigma de desenvolvimento de software que tem como objetivo aproximar o mundo real do mundo virtual, a ideia é simular o mundo real dentro do computador, afinal nosso mundo é composto de objetos. 3
  • 4. O que é uma Classe? Representa-se a classe como um projeto do objeto, ou seja, objeto é a instancia de uma classe, antes de ser criado um objeto deve-se definir a classe na qual ele pertence. A partir da classe podemos construir objetos na memória do computador que executa a aplicação. 4 Cachorro Tamanho: int Raça: string Latir ( ) método Tipo Classe Atributos Variáveis Ações Métodos
  • 5. O que é objeto? Objeto é a instancia de uma classe, cria-se um objeto após definir uma classe para o mesmo. Na classe cachorro pode-se ter vários objetos, cada objeto pode possuir um atributo diferente. 5 Atributos são variáveis da classe Tamanho: 50cm Raça: buldog Cor: marrom orelha patas rabo
  • 6. Métodos Métodos são ações que uma classe possui. 6 Ações (Métodos) Fazer xixi comer correr brincar latir dormir
  • 7. 7 Cachorro Tamanho: int Raça: string Latir ( ) método Objeto New New Classe nada mais é que um projeto de objeto podendo instanciar vários objetos
  • 8. 8 É possível criar vários objetos em uma só classe. No exemplo da classe cachorro, foi definido outros objetos com atributos diferentes comportamentos diferentes, mas do mesmo jeito não deixa de ser um objeto. O conceito disso em orientação a objetos isso é chamado de código reuso, ou seja, reutilização de código. Objetos trocam mensagem entre si, objetos trocam mensagem entre si e pode trocar atributo de outro objeto
  • 9. Herança O conceito de Herança é um dos principais pilares na orientação a objetos, ou seja, qualquer linguagem orientada a objetos, possui herança. As vantagens da utilização de herança pode diminuir a quantidade de códigos escrito no inicio do desenvolvimento do projeto. É chamada de Subclasse uma classe que herda os membros de uma classe superior á ela, sendo ela a Superclasse. Superclasse -> fornece membros a outras classes Subclasse -> herda membros da subclasse 9
  • 10. 10 Animal quadrúpedes aquáticos aves SuperClasse SubClasse Nota: Uma superclasse pode ser herdada por diversas subclasses. Nesta imagem a classe Animal é herdada pelas classes: quadrúpede, aquáticos e aves, sendo assim, a superclasse Animal possui as mesmas características que as outras subclasses.
  • 11. 11 Veículo Automóvel Aeronave Outro exemplo usando o conceito de herança
  • 12. 12 Encapsulamento O encapsulamento significa separar o programa em partes o mais isoladas possível, ou seja, proteger os atributos não deixando ser visível a outras classes. O encapsulamento protege o acesso direto (referências) aos atributos de uma instância fora da classe onde estes foram declarados, permite determinar a forma como os membros da classe serão expostos. Exemplo: Pode ser determinado um o tipo de acesso para um determinado método usado que é usado em um software inteiro para que apenas uma equipe possa mexe-lo, ou seja, dependendo da regra de negócio isolar esse método para ter um melhor controle sobre o determinado método.
  • 13. O membro não pode ser acessado fora da classe, nem mesmo por outras classes derivadas da classe base. 13 private protected internal Protected-internal public O membro não pode ser acessado fora da classe, porém o membro está disponível para outras classes derivadas da classe base. O membro só é visível na unidade de código onde o mesmo está definido. É um meio termo entre public e protected, uma vez que o membro pode ser acesso por todas as classes definidas na mesma unidade. Torna o membro acessível de fora da definição da classe. Quer tipo de código a partir de derivados ou de código da mesma assembleia. Combinação de protegidos ou internos.
  • 14. Polimorfismo Em orientação a objetos polimorfismo é a capacidade que os objetos possuem, de agir de forma quase totalmente diferenciada mesmo que possuem a mesma origem. Polimorfismo significa muitas formas, pode se enviar uma mensagem para diferentes objetos e fazê-los responder da maneira certa. Sobrecarga de método -> A utilização da sobrecarga de métodos realiza a tarefa com distintos parâmetros de entrada. Ex: posso ter dois métodos chamado com o mesmo nome mas com comportamentos diferentes e parâmetros diferentes. Sobrescrita de método -> Métodos com o mesmo nome, mesma assinatura, comportamentos diferentes, mas em classes diferentes e originadas de uma classe pai. 14