SlideShare uma empresa Scribd logo
AULA 2
Professor MSc Cloves Rocha
Jaboatão do Guararapes, 2018.2
(PIE) GTI 2 NA - POO
AGENDA
● ORIENTAÇÃO A OBJETOS;
○ Domínio e Aplicação;
○ Objetos, Atributos e Métodos;
○ Classes;
○ Classes em C#;
○ Criando objetos em C#;
● DÚVIDAS?
● BIBLIOGRAFIA BÁSICA.
ORIENTAÇÃO A OBJETOS
Domínio e Aplicação
● Um domínio é composto pelas entidades, informações e processos relacionados a um
determinado contexto.
● Uma aplicação pode ser desenvolvida para automatizar ou tornar factível as tarefas
de um domínio.
● Portanto, uma aplicação é basicamente o “reflexo” de um domínio.
● Para exemplificar, suponha que estamos interessados em desenvolver uma
aplicação para facilitar as tarefas do cotidiano de um banco.
● Podemos identificar clientes, funcionários, agências e contas como entidades desse
domínio.
● Assim como podemos identificar as informações e os processos relacionados a essas
entidades.
ORIENTAÇÃO A OBJETOS
Domínio e Aplicação
Mais Sobre
● A identificação dos elementos de um
domínio é uma tarefa difícil, pois depende
fortemente do conhecimento das entidades,
informações e processos que o compõem.
● Em geral, as pessoas que possuem esse
conhecimento ou parte dele estão em
contato constante com o domínio e não
possuem conhecimentos técnicos para
desenvolver uma aplicação.
● Desenvolvedores de software buscam
constantemente mecanismos para tornar
mais eficiente o entendimento dos domínios
para os quais eles devem desenvolver
aplicações.
ORIENTAÇÃO A OBJETOS
Objetos, Atributos e Métodos
● As entidades identificadas no domínio devem ser representadas de alguma forma dentro da
aplicação correspondente. Nas aplicações orientadas a objetos, as entidades são representadas
por objetos.
○ Uma aplicação orientada a objetos é composta por objetos.
○ Em geral, um objeto representa uma entidade do domínio.
● Para exemplificar, suponha que no domínio de um determinado banco exista um cliente chamado
João. Dentro de uma aplicação orientada a objetos correspondente a esse domínio, deve existir
um objeto para representar esse cliente.
● Suponha que algumas informações do cliente João como nome, data de nascimento e sexo são
importantes para o banco. Já que esses dados são relevantes para o domínio, o objeto que
representa esse cliente deve possuir essas informações. Esses dados são armazenados nos
atributos do objeto que representa o João.
○ Um atributo é uma variável que pertence a um objeto.
○ Os dados de um objeto são armazenados nos seus atributos.
● O próprio objeto deve realizar operações de consulta ou alteração dos valores de seus atributos.
Essas operações são definidas nos métodos do objeto.
ORIENTAÇÃO A OBJETOS
Objetos, Atributos e Métodos
● Os métodos também são utilizados para possibilitar interações entre os objetos de uma aplicação.
Por exemplo, quando um cliente requisita um saque através de um caixa eletrônico do banco, o
objeto que representa o caixa eletrônico deve interagir com o objeto que representa a conta do
cliente.
○ As tarefas que um objeto pode realizar são definidas pelos seus métodos.
○ Um objeto é composto por atributos e métodos.
ORIENTAÇÃO A OBJETOS
Objetos, Atributos e Métodos
Mais Sobre
● Em geral, não é adequado utilizar o objeto
que representa um determinado cliente para
representar outro cliente do banco, pois os
dados dos clientes podem ser diferentes.
Dessa forma, para cada cliente do banco,
deve existir um objeto dentro do sistema
para representá-lo.
Mais Sobre
● Os objetos não representam apenas coisas
concretas como os clientes do banco. Eles
também devem ser utilizados para
representar coisas abstratas como uma
conta de um cliente ou um serviço que o
banco ofereça.
ORIENTAÇÃO A OBJETOS
Classes
● Antes de um objeto ser criado, devemos definir quais serão os seus atributos e métodos.
Essa definição é realizada através de uma classe elaborada por um programador. A partir
de uma classe, podemos construir objetos na memória do computador que executa a
nossa aplicação.
● Podemos representar uma classe através de diagramas UML. O diagrama UML de uma
classe é composto pelo nome da mesma e pelos atributos e métodos que ela define.
Todos os objetos criados a partir da classe Conta terão os atributos e métodos mostrados
no diagrama UML. Os valores dos atributos de dois objetos criados a partir da classe
Conta podem ser diferentes.
Diagrama UML da classe Conta.
ORIENTAÇÃO A OBJETOS
Classes
Analogia
● Um objeto é como se fosse uma casa ou um prédio. Para ser construído,
precisa de um espaço físico. No caso dos objetos, esse espaço físico é
algum trecho vago da memória do computador que executa a aplicação.
No caso das casas e dos prédios, o espaço físico é algum terreno vazio.
● Um prédio é construído a partir de uma planta criada por um engenheiro
ou arquiteto. Para criar um objeto, é necessário algo semelhante a uma
planta para que sejam “desenhados” os atributos e métodos que o objeto
deve ter. Em orientação a objetos, a “planta” de um objeto é o que
chamamos de classe.
ORIENTAÇÃO A OBJETOS
Classes
● Uma classe funciona como uma “receita” para criar objetos. Inclusive, vários objetos podem
ser criados a partir de uma única classe.
● Assim como várias casas ou prédios poderiam ser construídos a partir de uma única planta; ou
vários bolos poderiam ser preparados a partir de uma única receita; ou vários carros poderiam
ser construídos a partir de um único projeto.
Diversas casas construídas a partir da mesma planta. Diversos bolos preparados a partir da mesma receita.
ORIENTAÇÃO A OBJETOS
Classes
● Basicamente, as diferenças entre dois objetos criados a partir da classe Conta são os valores
dos seus atributos. Assim como duas casas construídas a partir da mesma planta podem
possuir características diferentes. Por exemplo, a cor das paredes.
Diversas casas com características diferentes.
ORIENTAÇÃO A OBJETOS
Classes em C#
● O conceito de classe apresentado anteriormente é genérico e pode ser aplicado em diversas
linguagens de programação. Mostraremos como a classe Conta poderia ser escrita utilizando a
linguagem C#. Inicialmente, discutiremos apenas sobre os atributos. Os métodos serão
abordados posteriormente.
ORIENTAÇÃO A OBJETOS
Classes em C#
● A classe C# Conta é declarada utilizando a palavra reservada class. No corpo dessa classe,
são declaradas três variáveis que são os atributos que os objetos possuirão. Como a
linguagem C# é estaticamente tipada, os tipos dos atributos são definidos no código. Os
atributos saldo e limite são do tipo double, que permite armazenar números com casas
decimais, e o atributo numero é do tipo int, que permite armazenar números inteiros. O
modificador public é adicionado em cada atributo para que eles possam ser acessados a partir
de qualquer ponto do código. Discutiremos sobre esse e outros modificadores de visibilidade
em capítulos posteriores.
IMPORTANTE
● Por convenção, os nomes das classes na
linguagem C# devem seguir o padrão “pascal
case” também conhecido como “upper camel
case”.
ORIENTAÇÃO A OBJETOS
Criando objetos em C#
● Após definir a classe Conta, podemos criar objetos a partir dela. Esses objetos devem ser
alocados na memória RAM do computador. Felizmente, todo o processo de alocação do objeto
na memória é gerenciado pela máquina virtual. O gerenciamento da memória é um dos
recursos mais importantes oferecidos pela máquina virtual.
● Do ponto de vista da aplicação, basta utilizar um comando especial para criar objetos e a
máquina virtual se encarrega do resto. O comando para criar objetos é o new.
ORIENTAÇÃO A OBJETOS
Criando objetos em C#
Nota:
● A linha com o comando new
poderia ser repetida cada
vez que desejássemos criar
(instanciar) um objeto da
classe Conta.
● A classe TestaConta serve
apenas para colocarmos o
método Main, que é o ponto
de partida da aplicação.
ORIENTAÇÃO A OBJETOS
Criando objetos em C#
Analogia
● Chamar o comando new passando uma classe C# é como se
estivéssemos contratando uma construtora passando a planta da casa
que queremos construir.
● A construtora se encarrega de construir a casa para nós de acordo com a
planta. Assim como a máquina virtual se encarrega de construir o objeto
na memória do computador
Construíndo casas.
Obrigado! Thank you!
<?php
print("ACESSO AO MATERIAL");
<?php
print("https://www.slideshare.net/ClovesRocha/");
Obrigado! Thank you!
Dúvidas???
BIBLIOGRAFIA BÁSICA
● Artigo Devmedia: “Programação Orientada a Objetos versus Programação Estruturada”.
Disponível em:
<http://www.devmedia.com.br/programacao-orientada-a-objetos-versus-programacao-estruturada/
32813 >
● Livro: SEPE, Adriano e Roque Maitino Neto.
● Programação orientada a objetos. Londrina: Editora e Distribuidora Educacional AS, 2017. 176p.
● SEPE, A.; MAITINO, R. N. Programação orientada a objetos. Londrina: Editora e Distribuidora
Educacional AS, 2017. 176p.
● MANZANO, J. A. G.; COSTA JR., R.. Programação de Computadores com Java. Érica, 2014.
127p. [Minha Biblioteca]
● MANZANO, J. A. G. Programação de Computadores com C/C++. Érica, 06/2014. 120p. [Minha
Biblioteca].

Mais conteúdo relacionado

Semelhante a Aula 2 Prof. MSc. Cloves Rocha - PIE - (2018.2) GTI 2 NA - POO

Programação Orientada a Objetos parte 1
Programação Orientada a Objetos parte 1Programação Orientada a Objetos parte 1
Programação Orientada a Objetos parte 1
Elaine Cecília Gatto
 
Introdução a classes e objetos
Introdução a classes e objetosIntrodução a classes e objetos
Introdução a classes e objetos
Cícero Quarto
 
ebook-completo c# o melhor para começar no c#
ebook-completo c# o melhor para começar no c#ebook-completo c# o melhor para começar no c#
ebook-completo c# o melhor para começar no c#
biandamakengo08
 
Java: Introdução à Orientação a Objetos
Java: Introdução à Orientação a ObjetosJava: Introdução à Orientação a Objetos
Java: Introdução à Orientação a Objetos
Arthur Emanuel
 
Class 04 - Android Study Jams: Android Development for Beginners
Class 04 - Android Study Jams: Android Development for BeginnersClass 04 - Android Study Jams: Android Development for Beginners
Class 04 - Android Study Jams: Android Development for Beginners
Jordan Silva
 
Programação OO - Java
Programação OO - JavaProgramação OO - Java
Programação OO - Java
Secretaria de Educação de Goiás
 
Linguagens de programação 12º M11
Linguagens de programação 12º M11Linguagens de programação 12º M11
Linguagens de programação 12º M11
Luis Ferreira
 
POO - Aula 003
POO - Aula 003POO - Aula 003
Estrutura de Dados em Java (Introdução à Programação Orientada a Objetos)
Estrutura de Dados em Java (Introdução à Programação Orientada a Objetos)Estrutura de Dados em Java (Introdução à Programação Orientada a Objetos)
Estrutura de Dados em Java (Introdução à Programação Orientada a Objetos)
Adriano Teixeira de Souza
 
POO - Aula 04 - Introdução a classes e objetos
POO - Aula 04 - Introdução a classes e objetosPOO - Aula 04 - Introdução a classes e objetos
POO - Aula 04 - Introdução a classes e objetos
Felipe J. R. Vieira
 
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
 
Java aula 2
Java aula 2Java aula 2
Java aula 2
Endel Silva
 
Linguagem de programação introdução v1
Linguagem de programação   introdução v1Linguagem de programação   introdução v1
Linguagem de programação introdução v1
Carlos Melo
 
Workflows, diagramas e classes de Analise. Sistemas de Informação
Workflows, diagramas e classes de Analise. Sistemas de InformaçãoWorkflows, diagramas e classes de Analise. Sistemas de Informação
Workflows, diagramas e classes de Analise. Sistemas de Informação
Pedro De Almeida
 
Portifolio grupo
Portifolio grupoPortifolio grupo
Portifolio grupo
scorpiontech
 
43984869985 DESENHO TECNICO.pdf
43984869985 DESENHO TECNICO.pdf43984869985 DESENHO TECNICO.pdf
43984869985 DESENHO TECNICO.pdf
trabs39
 
DESENHO TECNICO.pdf
DESENHO TECNICO.pdfDESENHO TECNICO.pdf
DESENHO TECNICO.pdf
trabs29
 
DESENHO TECNICO.pdf
DESENHO TECNICO.pdfDESENHO TECNICO.pdf
DESENHO TECNICO.pdf
trabs28
 
DESENHO TECNICO.pdf
DESENHO TECNICO.pdfDESENHO TECNICO.pdf
DESENHO TECNICO.pdf
TRABS30
 

Semelhante a Aula 2 Prof. MSc. Cloves Rocha - PIE - (2018.2) GTI 2 NA - POO (19)

Programação Orientada a Objetos parte 1
Programação Orientada a Objetos parte 1Programação Orientada a Objetos parte 1
Programação Orientada a Objetos parte 1
 
Introdução a classes e objetos
Introdução a classes e objetosIntrodução a classes e objetos
Introdução a classes e objetos
 
ebook-completo c# o melhor para começar no c#
ebook-completo c# o melhor para começar no c#ebook-completo c# o melhor para começar no c#
ebook-completo c# o melhor para começar no c#
 
Java: Introdução à Orientação a Objetos
Java: Introdução à Orientação a ObjetosJava: Introdução à Orientação a Objetos
Java: Introdução à Orientação a Objetos
 
Class 04 - Android Study Jams: Android Development for Beginners
Class 04 - Android Study Jams: Android Development for BeginnersClass 04 - Android Study Jams: Android Development for Beginners
Class 04 - Android Study Jams: Android Development for Beginners
 
Programação OO - Java
Programação OO - JavaProgramação OO - Java
Programação OO - Java
 
Linguagens de programação 12º M11
Linguagens de programação 12º M11Linguagens de programação 12º M11
Linguagens de programação 12º M11
 
POO - Aula 003
POO - Aula 003POO - Aula 003
POO - Aula 003
 
Estrutura de Dados em Java (Introdução à Programação Orientada a Objetos)
Estrutura de Dados em Java (Introdução à Programação Orientada a Objetos)Estrutura de Dados em Java (Introdução à Programação Orientada a Objetos)
Estrutura de Dados em Java (Introdução à Programação Orientada a Objetos)
 
POO - Aula 04 - Introdução a classes e objetos
POO - Aula 04 - Introdução a classes e objetosPOO - Aula 04 - Introdução a classes e objetos
POO - Aula 04 - Introdução a classes e objetos
 
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)
 
Java aula 2
Java aula 2Java aula 2
Java aula 2
 
Linguagem de programação introdução v1
Linguagem de programação   introdução v1Linguagem de programação   introdução v1
Linguagem de programação introdução v1
 
Workflows, diagramas e classes de Analise. Sistemas de Informação
Workflows, diagramas e classes de Analise. Sistemas de InformaçãoWorkflows, diagramas e classes de Analise. Sistemas de Informação
Workflows, diagramas e classes de Analise. Sistemas de Informação
 
Portifolio grupo
Portifolio grupoPortifolio grupo
Portifolio grupo
 
43984869985 DESENHO TECNICO.pdf
43984869985 DESENHO TECNICO.pdf43984869985 DESENHO TECNICO.pdf
43984869985 DESENHO TECNICO.pdf
 
DESENHO TECNICO.pdf
DESENHO TECNICO.pdfDESENHO TECNICO.pdf
DESENHO TECNICO.pdf
 
DESENHO TECNICO.pdf
DESENHO TECNICO.pdfDESENHO TECNICO.pdf
DESENHO TECNICO.pdf
 
DESENHO TECNICO.pdf
DESENHO TECNICO.pdfDESENHO TECNICO.pdf
DESENHO TECNICO.pdf
 

Mais de Cloves da Rocha

Mineração de Dados Um Estudo de Caso Real.pdf
Mineração de Dados Um Estudo de Caso Real.pdfMineração de Dados Um Estudo de Caso Real.pdf
Mineração de Dados Um Estudo de Caso Real.pdf
Cloves da Rocha
 
Live: Inteligência Artificial (IA) para pequenas e médias empresas
Live: Inteligência Artificial (IA) para pequenas e médias empresasLive: Inteligência Artificial (IA) para pequenas e médias empresas
Live: Inteligência Artificial (IA) para pequenas e médias empresas
Cloves da Rocha
 
Introdução a Machine Learning na Prática
Introdução a Machine Learning na PráticaIntrodução a Machine Learning na Prática
Introdução a Machine Learning na Prática
Cloves da Rocha
 
II JEDI 2019 - OUP e OPS
II JEDI 2019 - OUP e OPS II JEDI 2019 - OUP e OPS
II JEDI 2019 - OUP e OPS
Cloves da Rocha
 
Café.COM - OUP | Observatório de Projetos de Software (OPS) com ênfase em da...
Café.COM - OUP | Observatório de Projetos de Software (OPS)  com ênfase em da...Café.COM - OUP | Observatório de Projetos de Software (OPS)  com ênfase em da...
Café.COM - OUP | Observatório de Projetos de Software (OPS) com ênfase em da...
Cloves da Rocha
 
Introdução à Engenharia de Testes de Software
Introdução à Engenharia de Testes de SoftwareIntrodução à Engenharia de Testes de Software
Introdução à Engenharia de Testes de Software
Cloves da Rocha
 
Observatório de Projetos de Software com ênfase em dados abertos
Observatório de Projetos de Software com ênfase em dados abertosObservatório de Projetos de Software com ênfase em dados abertos
Observatório de Projetos de Software com ênfase em dados abertos
Cloves da Rocha
 
Gestão de Riscos em Processos de Negócios
Gestão de Riscos em Processos de NegóciosGestão de Riscos em Processos de Negócios
Gestão de Riscos em Processos de Negócios
Cloves da Rocha
 
Palestra GEOMARKETING
Palestra GEOMARKETINGPalestra GEOMARKETING
Palestra GEOMARKETING
Cloves da Rocha
 
Utilização de Ferramenta Para Monitoração de Desempenho Baseada em Métodos Ág...
Utilização de Ferramenta Para Monitoração de Desempenho Baseada em Métodos Ág...Utilização de Ferramenta Para Monitoração de Desempenho Baseada em Métodos Ág...
Utilização de Ferramenta Para Monitoração de Desempenho Baseada em Métodos Ág...
Cloves da Rocha
 
Aula 04 - Estudo de Caso Atacadão
Aula 04 - Estudo de Caso AtacadãoAula 04 - Estudo de Caso Atacadão
Aula 04 - Estudo de Caso Atacadão
Cloves da Rocha
 
Café com André Menelau
Café com André MenelauCafé com André Menelau
Café com André Menelau
Cloves da Rocha
 
Engenharia de Requisitos
Engenharia de RequisitosEngenharia de Requisitos
Engenharia de Requisitos
Cloves da Rocha
 
APRESENTAÇÃO DO PROFESSOR - By Prof. Cloves Rocha
APRESENTAÇÃO DO PROFESSOR - By Prof. Cloves RochaAPRESENTAÇÃO DO PROFESSOR - By Prof. Cloves Rocha
APRESENTAÇÃO DO PROFESSOR - By Prof. Cloves Rocha
Cloves da Rocha
 
Principais Certificações em TIC - ITIL
Principais Certificações em TIC - ITILPrincipais Certificações em TIC - ITIL
Principais Certificações em TIC - ITIL
Cloves da Rocha
 
Principais Certificações em TIC
Principais Certificações em TIC Principais Certificações em TIC
Principais Certificações em TIC
Cloves da Rocha
 
I Café ETE PORTO DIGITAL | EDUCAÇÃO PARA O SÉCULO 21
I Café ETE PORTO DIGITAL | EDUCAÇÃO PARA O SÉCULO 21I Café ETE PORTO DIGITAL | EDUCAÇÃO PARA O SÉCULO 21
I Café ETE PORTO DIGITAL | EDUCAÇÃO PARA O SÉCULO 21
Cloves da Rocha
 
XII Café e CODE - Provocações do Mestre
XII Café e CODE - Provocações do MestreXII Café e CODE - Provocações do Mestre
XII Café e CODE - Provocações do Mestre
Cloves da Rocha
 
Padrões de Projeto de Software Orientado a Objetos
Padrões de Projeto de Software Orientado a ObjetosPadrões de Projeto de Software Orientado a Objetos
Padrões de Projeto de Software Orientado a Objetos
Cloves da Rocha
 
XI Café e CODE - Provocações do Mestre
XI Café e CODE - Provocações do MestreXI Café e CODE - Provocações do Mestre
XI Café e CODE - Provocações do Mestre
Cloves da Rocha
 

Mais de Cloves da Rocha (20)

Mineração de Dados Um Estudo de Caso Real.pdf
Mineração de Dados Um Estudo de Caso Real.pdfMineração de Dados Um Estudo de Caso Real.pdf
Mineração de Dados Um Estudo de Caso Real.pdf
 
Live: Inteligência Artificial (IA) para pequenas e médias empresas
Live: Inteligência Artificial (IA) para pequenas e médias empresasLive: Inteligência Artificial (IA) para pequenas e médias empresas
Live: Inteligência Artificial (IA) para pequenas e médias empresas
 
Introdução a Machine Learning na Prática
Introdução a Machine Learning na PráticaIntrodução a Machine Learning na Prática
Introdução a Machine Learning na Prática
 
II JEDI 2019 - OUP e OPS
II JEDI 2019 - OUP e OPS II JEDI 2019 - OUP e OPS
II JEDI 2019 - OUP e OPS
 
Café.COM - OUP | Observatório de Projetos de Software (OPS) com ênfase em da...
Café.COM - OUP | Observatório de Projetos de Software (OPS)  com ênfase em da...Café.COM - OUP | Observatório de Projetos de Software (OPS)  com ênfase em da...
Café.COM - OUP | Observatório de Projetos de Software (OPS) com ênfase em da...
 
Introdução à Engenharia de Testes de Software
Introdução à Engenharia de Testes de SoftwareIntrodução à Engenharia de Testes de Software
Introdução à Engenharia de Testes de Software
 
Observatório de Projetos de Software com ênfase em dados abertos
Observatório de Projetos de Software com ênfase em dados abertosObservatório de Projetos de Software com ênfase em dados abertos
Observatório de Projetos de Software com ênfase em dados abertos
 
Gestão de Riscos em Processos de Negócios
Gestão de Riscos em Processos de NegóciosGestão de Riscos em Processos de Negócios
Gestão de Riscos em Processos de Negócios
 
Palestra GEOMARKETING
Palestra GEOMARKETINGPalestra GEOMARKETING
Palestra GEOMARKETING
 
Utilização de Ferramenta Para Monitoração de Desempenho Baseada em Métodos Ág...
Utilização de Ferramenta Para Monitoração de Desempenho Baseada em Métodos Ág...Utilização de Ferramenta Para Monitoração de Desempenho Baseada em Métodos Ág...
Utilização de Ferramenta Para Monitoração de Desempenho Baseada em Métodos Ág...
 
Aula 04 - Estudo de Caso Atacadão
Aula 04 - Estudo de Caso AtacadãoAula 04 - Estudo de Caso Atacadão
Aula 04 - Estudo de Caso Atacadão
 
Café com André Menelau
Café com André MenelauCafé com André Menelau
Café com André Menelau
 
Engenharia de Requisitos
Engenharia de RequisitosEngenharia de Requisitos
Engenharia de Requisitos
 
APRESENTAÇÃO DO PROFESSOR - By Prof. Cloves Rocha
APRESENTAÇÃO DO PROFESSOR - By Prof. Cloves RochaAPRESENTAÇÃO DO PROFESSOR - By Prof. Cloves Rocha
APRESENTAÇÃO DO PROFESSOR - By Prof. Cloves Rocha
 
Principais Certificações em TIC - ITIL
Principais Certificações em TIC - ITILPrincipais Certificações em TIC - ITIL
Principais Certificações em TIC - ITIL
 
Principais Certificações em TIC
Principais Certificações em TIC Principais Certificações em TIC
Principais Certificações em TIC
 
I Café ETE PORTO DIGITAL | EDUCAÇÃO PARA O SÉCULO 21
I Café ETE PORTO DIGITAL | EDUCAÇÃO PARA O SÉCULO 21I Café ETE PORTO DIGITAL | EDUCAÇÃO PARA O SÉCULO 21
I Café ETE PORTO DIGITAL | EDUCAÇÃO PARA O SÉCULO 21
 
XII Café e CODE - Provocações do Mestre
XII Café e CODE - Provocações do MestreXII Café e CODE - Provocações do Mestre
XII Café e CODE - Provocações do Mestre
 
Padrões de Projeto de Software Orientado a Objetos
Padrões de Projeto de Software Orientado a ObjetosPadrões de Projeto de Software Orientado a Objetos
Padrões de Projeto de Software Orientado a Objetos
 
XI Café e CODE - Provocações do Mestre
XI Café e CODE - Provocações do MestreXI Café e CODE - Provocações do Mestre
XI Café e CODE - Provocações do Mestre
 

Último

Estrutura Pedagógica - Laboratório de Educação a Distância.ppt
Estrutura Pedagógica - Laboratório de Educação a Distância.pptEstrutura Pedagógica - Laboratório de Educação a Distância.ppt
Estrutura Pedagógica - Laboratório de Educação a Distância.ppt
livrosjovert
 
Fernão Lopes. pptx
Fernão Lopes.                       pptxFernão Lopes.                       pptx
Fernão Lopes. pptx
TomasSousa7
 
Pintura Romana .pptx
Pintura Romana                     .pptxPintura Romana                     .pptx
Pintura Romana .pptx
TomasSousa7
 
the_story_garden_5_SB_with_activities.pdf
the_story_garden_5_SB_with_activities.pdfthe_story_garden_5_SB_with_activities.pdf
the_story_garden_5_SB_with_activities.pdf
CarinaSoto12
 
BULLYING NÃO É AMOR.pdf LIVRO PARA TRABALHAR COM ALUNOS ATRAVÉS DE PROJETOS...
BULLYING NÃO É AMOR.pdf LIVRO PARA TRABALHAR COM ALUNOS ATRAVÉS DE PROJETOS...BULLYING NÃO É AMOR.pdf LIVRO PARA TRABALHAR COM ALUNOS ATRAVÉS DE PROJETOS...
BULLYING NÃO É AMOR.pdf LIVRO PARA TRABALHAR COM ALUNOS ATRAVÉS DE PROJETOS...
Escola Municipal Jesus Cristo
 
Slides Lição 11, CPAD, A Realidade Bíblica do Inferno, 2Tr24.pptx
Slides Lição 11, CPAD, A Realidade Bíblica do Inferno, 2Tr24.pptxSlides Lição 11, CPAD, A Realidade Bíblica do Inferno, 2Tr24.pptx
Slides Lição 11, CPAD, A Realidade Bíblica do Inferno, 2Tr24.pptx
LuizHenriquedeAlmeid6
 
CADERNO DE CONCEITOS E ORIENTAÇÕES DO CENSO ESCOLAR 2024.pdf
CADERNO DE CONCEITOS E ORIENTAÇÕES DO CENSO ESCOLAR 2024.pdfCADERNO DE CONCEITOS E ORIENTAÇÕES DO CENSO ESCOLAR 2024.pdf
CADERNO DE CONCEITOS E ORIENTAÇÕES DO CENSO ESCOLAR 2024.pdf
NatySousa3
 
Aula 1 do livro de Ciências do aluno - sons
Aula 1 do livro de Ciências do aluno - sonsAula 1 do livro de Ciências do aluno - sons
Aula 1 do livro de Ciências do aluno - sons
Érika Rufo
 
Rimas, Luís Vaz de Camões. pptx
Rimas, Luís Vaz de Camões.          pptxRimas, Luís Vaz de Camões.          pptx
Rimas, Luís Vaz de Camões. pptx
TomasSousa7
 
347018542-PAULINA-CHIZIANE-Balada-de-Amor-ao-Vento-pdf.pdf
347018542-PAULINA-CHIZIANE-Balada-de-Amor-ao-Vento-pdf.pdf347018542-PAULINA-CHIZIANE-Balada-de-Amor-ao-Vento-pdf.pdf
347018542-PAULINA-CHIZIANE-Balada-de-Amor-ao-Vento-pdf.pdf
AntnioManuelAgdoma
 
A dinâmica da população mundial de acordo com as teorias populacionais.pptx
A dinâmica da população mundial de acordo com as teorias populacionais.pptxA dinâmica da população mundial de acordo com as teorias populacionais.pptx
A dinâmica da população mundial de acordo com as teorias populacionais.pptx
ReinaldoSouza57
 
UFCD_10949_Lojas e-commerce no-code_índice.pdf
UFCD_10949_Lojas e-commerce no-code_índice.pdfUFCD_10949_Lojas e-commerce no-code_índice.pdf
UFCD_10949_Lojas e-commerce no-code_índice.pdf
Manuais Formação
 
Atividades de Inglês e Espanhol para Imprimir - Alfabetinho
Atividades de Inglês e Espanhol para Imprimir - AlfabetinhoAtividades de Inglês e Espanhol para Imprimir - Alfabetinho
Atividades de Inglês e Espanhol para Imprimir - Alfabetinho
MateusTavares54
 
APOSTILA DE TEXTOS CURTOS E INTERPRETAÇÃO.pdf
APOSTILA DE TEXTOS CURTOS E INTERPRETAÇÃO.pdfAPOSTILA DE TEXTOS CURTOS E INTERPRETAÇÃO.pdf
APOSTILA DE TEXTOS CURTOS E INTERPRETAÇÃO.pdf
RenanSilva991968
 
socialização faculdade uniasselvi 2024 matea
socialização faculdade uniasselvi 2024 mateasocialização faculdade uniasselvi 2024 matea
socialização faculdade uniasselvi 2024 matea
ILDISONRAFAELBARBOSA
 
Funções e Progressões - Livro completo prisma
Funções e Progressões - Livro completo prismaFunções e Progressões - Livro completo prisma
Funções e Progressões - Livro completo prisma
djincognito
 
Caça-palavras ortografia M antes de P e B.
Caça-palavras    ortografia M antes de P e B.Caça-palavras    ortografia M antes de P e B.
Caça-palavras ortografia M antes de P e B.
Mary Alvarenga
 
759-fortaleza-resultado-definitivo-prova-objetiva-2024-05-28.pdf
759-fortaleza-resultado-definitivo-prova-objetiva-2024-05-28.pdf759-fortaleza-resultado-definitivo-prova-objetiva-2024-05-28.pdf
759-fortaleza-resultado-definitivo-prova-objetiva-2024-05-28.pdf
MessiasMarianoG
 
PowerPoint Newton gostava de Ler - Saber em Gel.pdf
PowerPoint Newton gostava de Ler - Saber em Gel.pdfPowerPoint Newton gostava de Ler - Saber em Gel.pdf
PowerPoint Newton gostava de Ler - Saber em Gel.pdf
1000a
 
Caça-palavras - ortografia S, SS, X, C e Z
Caça-palavras - ortografia  S, SS, X, C e ZCaça-palavras - ortografia  S, SS, X, C e Z
Caça-palavras - ortografia S, SS, X, C e Z
Mary Alvarenga
 

Último (20)

Estrutura Pedagógica - Laboratório de Educação a Distância.ppt
Estrutura Pedagógica - Laboratório de Educação a Distância.pptEstrutura Pedagógica - Laboratório de Educação a Distância.ppt
Estrutura Pedagógica - Laboratório de Educação a Distância.ppt
 
Fernão Lopes. pptx
Fernão Lopes.                       pptxFernão Lopes.                       pptx
Fernão Lopes. pptx
 
Pintura Romana .pptx
Pintura Romana                     .pptxPintura Romana                     .pptx
Pintura Romana .pptx
 
the_story_garden_5_SB_with_activities.pdf
the_story_garden_5_SB_with_activities.pdfthe_story_garden_5_SB_with_activities.pdf
the_story_garden_5_SB_with_activities.pdf
 
BULLYING NÃO É AMOR.pdf LIVRO PARA TRABALHAR COM ALUNOS ATRAVÉS DE PROJETOS...
BULLYING NÃO É AMOR.pdf LIVRO PARA TRABALHAR COM ALUNOS ATRAVÉS DE PROJETOS...BULLYING NÃO É AMOR.pdf LIVRO PARA TRABALHAR COM ALUNOS ATRAVÉS DE PROJETOS...
BULLYING NÃO É AMOR.pdf LIVRO PARA TRABALHAR COM ALUNOS ATRAVÉS DE PROJETOS...
 
Slides Lição 11, CPAD, A Realidade Bíblica do Inferno, 2Tr24.pptx
Slides Lição 11, CPAD, A Realidade Bíblica do Inferno, 2Tr24.pptxSlides Lição 11, CPAD, A Realidade Bíblica do Inferno, 2Tr24.pptx
Slides Lição 11, CPAD, A Realidade Bíblica do Inferno, 2Tr24.pptx
 
CADERNO DE CONCEITOS E ORIENTAÇÕES DO CENSO ESCOLAR 2024.pdf
CADERNO DE CONCEITOS E ORIENTAÇÕES DO CENSO ESCOLAR 2024.pdfCADERNO DE CONCEITOS E ORIENTAÇÕES DO CENSO ESCOLAR 2024.pdf
CADERNO DE CONCEITOS E ORIENTAÇÕES DO CENSO ESCOLAR 2024.pdf
 
Aula 1 do livro de Ciências do aluno - sons
Aula 1 do livro de Ciências do aluno - sonsAula 1 do livro de Ciências do aluno - sons
Aula 1 do livro de Ciências do aluno - sons
 
Rimas, Luís Vaz de Camões. pptx
Rimas, Luís Vaz de Camões.          pptxRimas, Luís Vaz de Camões.          pptx
Rimas, Luís Vaz de Camões. pptx
 
347018542-PAULINA-CHIZIANE-Balada-de-Amor-ao-Vento-pdf.pdf
347018542-PAULINA-CHIZIANE-Balada-de-Amor-ao-Vento-pdf.pdf347018542-PAULINA-CHIZIANE-Balada-de-Amor-ao-Vento-pdf.pdf
347018542-PAULINA-CHIZIANE-Balada-de-Amor-ao-Vento-pdf.pdf
 
A dinâmica da população mundial de acordo com as teorias populacionais.pptx
A dinâmica da população mundial de acordo com as teorias populacionais.pptxA dinâmica da população mundial de acordo com as teorias populacionais.pptx
A dinâmica da população mundial de acordo com as teorias populacionais.pptx
 
UFCD_10949_Lojas e-commerce no-code_índice.pdf
UFCD_10949_Lojas e-commerce no-code_índice.pdfUFCD_10949_Lojas e-commerce no-code_índice.pdf
UFCD_10949_Lojas e-commerce no-code_índice.pdf
 
Atividades de Inglês e Espanhol para Imprimir - Alfabetinho
Atividades de Inglês e Espanhol para Imprimir - AlfabetinhoAtividades de Inglês e Espanhol para Imprimir - Alfabetinho
Atividades de Inglês e Espanhol para Imprimir - Alfabetinho
 
APOSTILA DE TEXTOS CURTOS E INTERPRETAÇÃO.pdf
APOSTILA DE TEXTOS CURTOS E INTERPRETAÇÃO.pdfAPOSTILA DE TEXTOS CURTOS E INTERPRETAÇÃO.pdf
APOSTILA DE TEXTOS CURTOS E INTERPRETAÇÃO.pdf
 
socialização faculdade uniasselvi 2024 matea
socialização faculdade uniasselvi 2024 mateasocialização faculdade uniasselvi 2024 matea
socialização faculdade uniasselvi 2024 matea
 
Funções e Progressões - Livro completo prisma
Funções e Progressões - Livro completo prismaFunções e Progressões - Livro completo prisma
Funções e Progressões - Livro completo prisma
 
Caça-palavras ortografia M antes de P e B.
Caça-palavras    ortografia M antes de P e B.Caça-palavras    ortografia M antes de P e B.
Caça-palavras ortografia M antes de P e B.
 
759-fortaleza-resultado-definitivo-prova-objetiva-2024-05-28.pdf
759-fortaleza-resultado-definitivo-prova-objetiva-2024-05-28.pdf759-fortaleza-resultado-definitivo-prova-objetiva-2024-05-28.pdf
759-fortaleza-resultado-definitivo-prova-objetiva-2024-05-28.pdf
 
PowerPoint Newton gostava de Ler - Saber em Gel.pdf
PowerPoint Newton gostava de Ler - Saber em Gel.pdfPowerPoint Newton gostava de Ler - Saber em Gel.pdf
PowerPoint Newton gostava de Ler - Saber em Gel.pdf
 
Caça-palavras - ortografia S, SS, X, C e Z
Caça-palavras - ortografia  S, SS, X, C e ZCaça-palavras - ortografia  S, SS, X, C e Z
Caça-palavras - ortografia S, SS, X, C e Z
 

Aula 2 Prof. MSc. Cloves Rocha - PIE - (2018.2) GTI 2 NA - POO

  • 1. AULA 2 Professor MSc Cloves Rocha Jaboatão do Guararapes, 2018.2 (PIE) GTI 2 NA - POO
  • 2. AGENDA ● ORIENTAÇÃO A OBJETOS; ○ Domínio e Aplicação; ○ Objetos, Atributos e Métodos; ○ Classes; ○ Classes em C#; ○ Criando objetos em C#; ● DÚVIDAS? ● BIBLIOGRAFIA BÁSICA.
  • 3. ORIENTAÇÃO A OBJETOS Domínio e Aplicação ● Um domínio é composto pelas entidades, informações e processos relacionados a um determinado contexto. ● Uma aplicação pode ser desenvolvida para automatizar ou tornar factível as tarefas de um domínio. ● Portanto, uma aplicação é basicamente o “reflexo” de um domínio. ● Para exemplificar, suponha que estamos interessados em desenvolver uma aplicação para facilitar as tarefas do cotidiano de um banco. ● Podemos identificar clientes, funcionários, agências e contas como entidades desse domínio. ● Assim como podemos identificar as informações e os processos relacionados a essas entidades.
  • 4. ORIENTAÇÃO A OBJETOS Domínio e Aplicação Mais Sobre ● A identificação dos elementos de um domínio é uma tarefa difícil, pois depende fortemente do conhecimento das entidades, informações e processos que o compõem. ● Em geral, as pessoas que possuem esse conhecimento ou parte dele estão em contato constante com o domínio e não possuem conhecimentos técnicos para desenvolver uma aplicação. ● Desenvolvedores de software buscam constantemente mecanismos para tornar mais eficiente o entendimento dos domínios para os quais eles devem desenvolver aplicações.
  • 5. ORIENTAÇÃO A OBJETOS Objetos, Atributos e Métodos ● As entidades identificadas no domínio devem ser representadas de alguma forma dentro da aplicação correspondente. Nas aplicações orientadas a objetos, as entidades são representadas por objetos. ○ Uma aplicação orientada a objetos é composta por objetos. ○ Em geral, um objeto representa uma entidade do domínio. ● Para exemplificar, suponha que no domínio de um determinado banco exista um cliente chamado João. Dentro de uma aplicação orientada a objetos correspondente a esse domínio, deve existir um objeto para representar esse cliente. ● Suponha que algumas informações do cliente João como nome, data de nascimento e sexo são importantes para o banco. Já que esses dados são relevantes para o domínio, o objeto que representa esse cliente deve possuir essas informações. Esses dados são armazenados nos atributos do objeto que representa o João. ○ Um atributo é uma variável que pertence a um objeto. ○ Os dados de um objeto são armazenados nos seus atributos. ● O próprio objeto deve realizar operações de consulta ou alteração dos valores de seus atributos. Essas operações são definidas nos métodos do objeto.
  • 6. ORIENTAÇÃO A OBJETOS Objetos, Atributos e Métodos ● Os métodos também são utilizados para possibilitar interações entre os objetos de uma aplicação. Por exemplo, quando um cliente requisita um saque através de um caixa eletrônico do banco, o objeto que representa o caixa eletrônico deve interagir com o objeto que representa a conta do cliente. ○ As tarefas que um objeto pode realizar são definidas pelos seus métodos. ○ Um objeto é composto por atributos e métodos.
  • 7. ORIENTAÇÃO A OBJETOS Objetos, Atributos e Métodos Mais Sobre ● Em geral, não é adequado utilizar o objeto que representa um determinado cliente para representar outro cliente do banco, pois os dados dos clientes podem ser diferentes. Dessa forma, para cada cliente do banco, deve existir um objeto dentro do sistema para representá-lo. Mais Sobre ● Os objetos não representam apenas coisas concretas como os clientes do banco. Eles também devem ser utilizados para representar coisas abstratas como uma conta de um cliente ou um serviço que o banco ofereça.
  • 8. ORIENTAÇÃO A OBJETOS Classes ● Antes de um objeto ser criado, devemos definir quais serão os seus atributos e métodos. Essa definição é realizada através de uma classe elaborada por um programador. A partir de uma classe, podemos construir objetos na memória do computador que executa a nossa aplicação. ● Podemos representar uma classe através de diagramas UML. O diagrama UML de uma classe é composto pelo nome da mesma e pelos atributos e métodos que ela define. Todos os objetos criados a partir da classe Conta terão os atributos e métodos mostrados no diagrama UML. Os valores dos atributos de dois objetos criados a partir da classe Conta podem ser diferentes. Diagrama UML da classe Conta.
  • 9. ORIENTAÇÃO A OBJETOS Classes Analogia ● Um objeto é como se fosse uma casa ou um prédio. Para ser construído, precisa de um espaço físico. No caso dos objetos, esse espaço físico é algum trecho vago da memória do computador que executa a aplicação. No caso das casas e dos prédios, o espaço físico é algum terreno vazio. ● Um prédio é construído a partir de uma planta criada por um engenheiro ou arquiteto. Para criar um objeto, é necessário algo semelhante a uma planta para que sejam “desenhados” os atributos e métodos que o objeto deve ter. Em orientação a objetos, a “planta” de um objeto é o que chamamos de classe.
  • 10. ORIENTAÇÃO A OBJETOS Classes ● Uma classe funciona como uma “receita” para criar objetos. Inclusive, vários objetos podem ser criados a partir de uma única classe. ● Assim como várias casas ou prédios poderiam ser construídos a partir de uma única planta; ou vários bolos poderiam ser preparados a partir de uma única receita; ou vários carros poderiam ser construídos a partir de um único projeto. Diversas casas construídas a partir da mesma planta. Diversos bolos preparados a partir da mesma receita.
  • 11. ORIENTAÇÃO A OBJETOS Classes ● Basicamente, as diferenças entre dois objetos criados a partir da classe Conta são os valores dos seus atributos. Assim como duas casas construídas a partir da mesma planta podem possuir características diferentes. Por exemplo, a cor das paredes. Diversas casas com características diferentes.
  • 12. ORIENTAÇÃO A OBJETOS Classes em C# ● O conceito de classe apresentado anteriormente é genérico e pode ser aplicado em diversas linguagens de programação. Mostraremos como a classe Conta poderia ser escrita utilizando a linguagem C#. Inicialmente, discutiremos apenas sobre os atributos. Os métodos serão abordados posteriormente.
  • 13. ORIENTAÇÃO A OBJETOS Classes em C# ● A classe C# Conta é declarada utilizando a palavra reservada class. No corpo dessa classe, são declaradas três variáveis que são os atributos que os objetos possuirão. Como a linguagem C# é estaticamente tipada, os tipos dos atributos são definidos no código. Os atributos saldo e limite são do tipo double, que permite armazenar números com casas decimais, e o atributo numero é do tipo int, que permite armazenar números inteiros. O modificador public é adicionado em cada atributo para que eles possam ser acessados a partir de qualquer ponto do código. Discutiremos sobre esse e outros modificadores de visibilidade em capítulos posteriores. IMPORTANTE ● Por convenção, os nomes das classes na linguagem C# devem seguir o padrão “pascal case” também conhecido como “upper camel case”.
  • 14. ORIENTAÇÃO A OBJETOS Criando objetos em C# ● Após definir a classe Conta, podemos criar objetos a partir dela. Esses objetos devem ser alocados na memória RAM do computador. Felizmente, todo o processo de alocação do objeto na memória é gerenciado pela máquina virtual. O gerenciamento da memória é um dos recursos mais importantes oferecidos pela máquina virtual. ● Do ponto de vista da aplicação, basta utilizar um comando especial para criar objetos e a máquina virtual se encarrega do resto. O comando para criar objetos é o new.
  • 15. ORIENTAÇÃO A OBJETOS Criando objetos em C# Nota: ● A linha com o comando new poderia ser repetida cada vez que desejássemos criar (instanciar) um objeto da classe Conta. ● A classe TestaConta serve apenas para colocarmos o método Main, que é o ponto de partida da aplicação.
  • 16. ORIENTAÇÃO A OBJETOS Criando objetos em C# Analogia ● Chamar o comando new passando uma classe C# é como se estivéssemos contratando uma construtora passando a planta da casa que queremos construir. ● A construtora se encarrega de construir a casa para nós de acordo com a planta. Assim como a máquina virtual se encarrega de construir o objeto na memória do computador Construíndo casas.
  • 17. Obrigado! Thank you! <?php print("ACESSO AO MATERIAL"); <?php print("https://www.slideshare.net/ClovesRocha/"); Obrigado! Thank you! Dúvidas???
  • 18. BIBLIOGRAFIA BÁSICA ● Artigo Devmedia: “Programação Orientada a Objetos versus Programação Estruturada”. Disponível em: <http://www.devmedia.com.br/programacao-orientada-a-objetos-versus-programacao-estruturada/ 32813 > ● Livro: SEPE, Adriano e Roque Maitino Neto. ● Programação orientada a objetos. Londrina: Editora e Distribuidora Educacional AS, 2017. 176p. ● SEPE, A.; MAITINO, R. N. Programação orientada a objetos. Londrina: Editora e Distribuidora Educacional AS, 2017. 176p. ● MANZANO, J. A. G.; COSTA JR., R.. Programação de Computadores com Java. Érica, 2014. 127p. [Minha Biblioteca] ● MANZANO, J. A. G. Programação de Computadores com C/C++. Érica, 06/2014. 120p. [Minha Biblioteca].