SlideShare uma empresa Scribd logo
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

Mais conteúdo relacionado

Mais procurados

Introdução a poo
Introdução a pooIntrodução a poo
Introdução a poo
Sedu
 
Aula 1 - Introdução a POO
Aula 1 -  Introdução a POOAula 1 -  Introdução a POO
Aula 1 - Introdução a POO
Daniel Brandão
 
Introdução ao desenvolvimento Web
Introdução ao desenvolvimento WebIntrodução ao desenvolvimento Web
Introdução ao desenvolvimento WebSérgio Souza Costa
 
Python
PythonPython
DOMinando JavaScript
DOMinando JavaScriptDOMinando JavaScript
DOMinando JavaScript
Thiago Poiani
 
Visualg
VisualgVisualg
Visualg
Pedro Silva
 
Java modulo 01 - Introdução
Java modulo 01 - IntroduçãoJava modulo 01 - Introdução
Java modulo 01 - Introdução
Professor Samuel Ribeiro
 
Desenvolvimento de Sistemas Web - Conceitos Básicos
Desenvolvimento de Sistemas Web - Conceitos BásicosDesenvolvimento de Sistemas Web - Conceitos Básicos
Desenvolvimento de Sistemas Web - Conceitos Básicos
Fabio Moura Pereira
 
Estrutura de repetição
Estrutura de repetiçãoEstrutura de repetição
Estrutura de repetição
Jailson Torquato
 
Introdução sobre desenvolvimento web
Introdução sobre desenvolvimento webIntrodução sobre desenvolvimento web
Introdução sobre desenvolvimento webRodrigo Rodrigues
 
Aula 10 - Diagrama de Sequencia.pdf
Aula 10 - Diagrama de Sequencia.pdfAula 10 - Diagrama de Sequencia.pdf
Aula 10 - Diagrama de Sequencia.pdf
IvanFontainha
 
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
 
HTML Principios Básicos
HTML Principios BásicosHTML Principios Básicos
HTML Principios Básicos
Mayza de Oliveira
 
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
Marcelo Silva
 
Apresentação mvc
Apresentação mvcApresentação mvc
Apresentação mvc
leopp
 
Banco de Dados I - Aula Prática - Criando o Primeiro Banco
Banco de Dados I - Aula Prática - Criando o Primeiro BancoBanco de Dados I - Aula Prática - Criando o Primeiro Banco
Banco de Dados I - Aula Prática - Criando o Primeiro Banco
Leinylson Fontinele
 
PHP - Introdução
PHP - IntroduçãoPHP - Introdução
PHP - Introdução
Fabio Moura Pereira
 
Aula 3 introducao a orientação a objetos
Aula 3   introducao a orientação a objetosAula 3   introducao a orientação a objetos
Aula 3 introducao a orientação a objetos
Rafael Pinheiro
 
Curso de ReactJS
Curso de ReactJSCurso de ReactJS
Curso de ReactJS
Gustavo Lopes
 
Introdução ao Desenvolvimento Android
Introdução ao Desenvolvimento AndroidIntrodução ao Desenvolvimento Android
Introdução ao Desenvolvimento Android
José Alexandre Macedo
 

Mais procurados (20)

Introdução a poo
Introdução a pooIntrodução a poo
Introdução a poo
 
Aula 1 - Introdução a POO
Aula 1 -  Introdução a POOAula 1 -  Introdução a POO
Aula 1 - Introdução a POO
 
Introdução ao desenvolvimento Web
Introdução ao desenvolvimento WebIntrodução ao desenvolvimento Web
Introdução ao desenvolvimento Web
 
Python
PythonPython
Python
 
DOMinando JavaScript
DOMinando JavaScriptDOMinando JavaScript
DOMinando JavaScript
 
Visualg
VisualgVisualg
Visualg
 
Java modulo 01 - Introdução
Java modulo 01 - IntroduçãoJava modulo 01 - Introdução
Java modulo 01 - Introdução
 
Desenvolvimento de Sistemas Web - Conceitos Básicos
Desenvolvimento de Sistemas Web - Conceitos BásicosDesenvolvimento de Sistemas Web - Conceitos Básicos
Desenvolvimento de Sistemas Web - Conceitos Básicos
 
Estrutura de repetição
Estrutura de repetiçãoEstrutura de repetição
Estrutura de repetição
 
Introdução sobre desenvolvimento web
Introdução sobre desenvolvimento webIntrodução sobre desenvolvimento web
Introdução sobre desenvolvimento web
 
Aula 10 - Diagrama de Sequencia.pdf
Aula 10 - Diagrama de Sequencia.pdfAula 10 - Diagrama de Sequencia.pdf
Aula 10 - Diagrama de Sequencia.pdf
 
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)
 
HTML Principios Básicos
HTML Principios BásicosHTML Principios Básicos
HTML Principios Básicos
 
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
 
Apresentação mvc
Apresentação mvcApresentação mvc
Apresentação mvc
 
Banco de Dados I - Aula Prática - Criando o Primeiro Banco
Banco de Dados I - Aula Prática - Criando o Primeiro BancoBanco de Dados I - Aula Prática - Criando o Primeiro Banco
Banco de Dados I - Aula Prática - Criando o Primeiro Banco
 
PHP - Introdução
PHP - IntroduçãoPHP - Introdução
PHP - Introdução
 
Aula 3 introducao a orientação a objetos
Aula 3   introducao a orientação a objetosAula 3   introducao a orientação a objetos
Aula 3 introducao a orientação a objetos
 
Curso de ReactJS
Curso de ReactJSCurso de ReactJS
Curso de ReactJS
 
Introdução ao Desenvolvimento Android
Introdução ao Desenvolvimento AndroidIntrodução ao Desenvolvimento Android
Introdução ao Desenvolvimento Android
 

Destaque

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
 
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 Objetos
Edy 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
 
Principais diagramas da UML
Principais diagramas da UMLPrincipais diagramas da UML
Principais diagramas da UML
Jéssica Nathany Carvalho Freitas
 
Programação Orientada a Objetos - 001
Programação Orientada a Objetos - 001Programação Orientada a Objetos - 001
Programação Orientada a Objetos - 001
José Volmei Dal Prá Junior
 
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
Cristiano Almeida
 
Programação Orientada a Objetos
Programação Orientada a ObjetosProgramação Orientada a Objetos
Programação Orientada a Objetos
Orlando Junior
 
JRebel para desenvolvedores
JRebel para desenvolvedoresJRebel para desenvolvedores
JRebel para desenvolvedores
José Volmei Dal Prá 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 - Conceitos
Mayron Cachina
 
Tecnologias cloud computing
Tecnologias cloud computingTecnologias cloud computing
Tecnologias cloud computing
Jéssica Nathany Carvalho Freitas
 
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 - TDC2016
Erick 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 - TDC2016
Erick Wendel
 
Processamento digital de sinais
Processamento digital de sinaisProcessamento digital de sinais
Processamento digital de sinaisLuiz Henrique
 

Destaque (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
 

Semelhante a Programação Orientado 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 vba
Wanderlei 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
 
Sld 4
Sld 4Sld 4
Sld 4
spawally
 
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
 
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 Objetos
Ramon Mayor Martins
 
Poo apostila visual c
Poo apostila visual cPoo apostila visual c
Poo apostila visual c
Fabiano Lima
 
Paradigmas de programação
Paradigmas de programaçãoParadigmas de programação
Paradigmas de programação
Mahayana2706
 
Python Orientação a Objeto
Python Orientação a ObjetoPython Orientação a Objeto
Python Orientação a Objeto
antonio sérgio nogueira
 
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-16
marcusNOGUEIRA
 
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 basics
Juarez 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
 
Paradigma Orientado a Objetos
Paradigma Orientado a ObjetosParadigma Orientado a Objetos
Paradigma Orientado a Objetos
Álvaro Farias Pinheiro
 

Semelhante a Programação Orientado 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
 

Mais de Jéssica Nathany Carvalho Freitas

Web por baixo dos panos completo
Web por baixo dos panos completoWeb por baixo dos panos completo
Web por baixo dos panos completo
Jéssica Nathany Carvalho Freitas
 
Treinamento poo-carreira-unica
Treinamento poo-carreira-unicaTreinamento poo-carreira-unica
Treinamento poo-carreira-unica
Jéssica Nathany Carvalho Freitas
 
Boas práticas em programação
Boas práticas em programaçãoBoas práticas em programação
Boas práticas em programação
Jéssica Nathany Carvalho Freitas
 
Pesquisa sobre no sql
Pesquisa sobre no sqlPesquisa sobre no sql
Pesquisa sobre no sql
Jéssica Nathany Carvalho Freitas
 
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
Jéssica Nathany Carvalho Freitas
 
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
Jéssica Nathany Carvalho Freitas
 
Apresentação Arquitetura MVC
Apresentação Arquitetura MVCApresentação Arquitetura MVC
Apresentação Arquitetura MVC
Jéssica Nathany Carvalho Freitas
 

Mais 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
 

Programação Orientado 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