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

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
 
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
 
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
 
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
 
Roteiro de Aulas Práticas da Disciplina de Desenho Técnico Projetivo
Roteiro de Aulas Práticas da Disciplina de Desenho Técnico ProjetivoRoteiro de Aulas Práticas da Disciplina de Desenho Técnico Projetivo
Roteiro de Aulas Práticas da Disciplina de Desenho Técnico Projetivo
ssuser95aa63
 

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
 
Roteiro de Aulas Práticas da Disciplina de Desenho Técnico Projetivo
Roteiro de Aulas Práticas da Disciplina de Desenho Técnico ProjetivoRoteiro de Aulas Práticas da Disciplina de Desenho Técnico Projetivo
Roteiro de Aulas Práticas da Disciplina de Desenho Técnico Projetivo
 
DESENHO TECNICO.pdf
DESENHO TECNICO.pdfDESENHO TECNICO.pdf
DESENHO TECNICO.pdf
 

Mais de 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
 

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

5ca0e9_ea0307e5baa1478490e87a15cb4ee530.pdf
5ca0e9_ea0307e5baa1478490e87a15cb4ee530.pdf5ca0e9_ea0307e5baa1478490e87a15cb4ee530.pdf
5ca0e9_ea0307e5baa1478490e87a15cb4ee530.pdf
edjailmax
 
GRAMÁTICA NORMATIVA DA LÍNGUA PORTUGUESA UM GUIA COMPLETO DO IDIOMA.pdf
GRAMÁTICA NORMATIVA DA LÍNGUA PORTUGUESA UM GUIA COMPLETO DO IDIOMA.pdfGRAMÁTICA NORMATIVA DA LÍNGUA PORTUGUESA UM GUIA COMPLETO DO IDIOMA.pdf
GRAMÁTICA NORMATIVA DA LÍNGUA PORTUGUESA UM GUIA COMPLETO DO IDIOMA.pdf
rarakey779
 
manual-de-introduc3a7c3a3o-ao-direito-25-10-2011.pdf
manual-de-introduc3a7c3a3o-ao-direito-25-10-2011.pdfmanual-de-introduc3a7c3a3o-ao-direito-25-10-2011.pdf
manual-de-introduc3a7c3a3o-ao-direito-25-10-2011.pdf
rarakey779
 
AS COLUNAS B E J E SUAS POSICOES CONFORME O RITO.pdf
AS COLUNAS B E J E SUAS POSICOES CONFORME O RITO.pdfAS COLUNAS B E J E SUAS POSICOES CONFORME O RITO.pdf
AS COLUNAS B E J E SUAS POSICOES CONFORME O RITO.pdf
ssuserbb4ac2
 
GRAMÁTICA NORMATIVA DA LÍNGUA PORTUGUESA UM GUIA COMPLETO DO IDIOMA.pdf
GRAMÁTICA NORMATIVA DA LÍNGUA PORTUGUESA UM GUIA COMPLETO DO IDIOMA.pdfGRAMÁTICA NORMATIVA DA LÍNGUA PORTUGUESA UM GUIA COMPLETO DO IDIOMA.pdf
GRAMÁTICA NORMATIVA DA LÍNGUA PORTUGUESA UM GUIA COMPLETO DO IDIOMA.pdf
rarakey779
 
OFICINA - CAFETERIA DAS HABILIDADES.pdf_20240516_002101_0000.pdf
OFICINA - CAFETERIA DAS HABILIDADES.pdf_20240516_002101_0000.pdfOFICINA - CAFETERIA DAS HABILIDADES.pdf_20240516_002101_0000.pdf
OFICINA - CAFETERIA DAS HABILIDADES.pdf_20240516_002101_0000.pdf
AndriaNascimento27
 

Último (20)

5ca0e9_ea0307e5baa1478490e87a15cb4ee530.pdf
5ca0e9_ea0307e5baa1478490e87a15cb4ee530.pdf5ca0e9_ea0307e5baa1478490e87a15cb4ee530.pdf
5ca0e9_ea0307e5baa1478490e87a15cb4ee530.pdf
 
Aproveitando as ferramentas do Tableau para criatividade e produtividade
Aproveitando as ferramentas do Tableau para criatividade e produtividadeAproveitando as ferramentas do Tableau para criatividade e produtividade
Aproveitando as ferramentas do Tableau para criatividade e produtividade
 
Junho Violeta - Sugestão de Ações na Igreja
Junho Violeta - Sugestão de Ações na IgrejaJunho Violeta - Sugestão de Ações na Igreja
Junho Violeta - Sugestão de Ações na Igreja
 
Os Padres de Assaré - CE. Prof. Francisco Leite
Os Padres de Assaré - CE. Prof. Francisco LeiteOs Padres de Assaré - CE. Prof. Francisco Leite
Os Padres de Assaré - CE. Prof. Francisco Leite
 
Evangelismo e Missões Contemporânea Cristã.pdf
Evangelismo e Missões Contemporânea Cristã.pdfEvangelismo e Missões Contemporânea Cristã.pdf
Evangelismo e Missões Contemporânea Cristã.pdf
 
GRAMÁTICA NORMATIVA DA LÍNGUA PORTUGUESA UM GUIA COMPLETO DO IDIOMA.pdf
GRAMÁTICA NORMATIVA DA LÍNGUA PORTUGUESA UM GUIA COMPLETO DO IDIOMA.pdfGRAMÁTICA NORMATIVA DA LÍNGUA PORTUGUESA UM GUIA COMPLETO DO IDIOMA.pdf
GRAMÁTICA NORMATIVA DA LÍNGUA PORTUGUESA UM GUIA COMPLETO DO IDIOMA.pdf
 
São Filipe Neri, fundador da a Congregação do Oratório 1515-1595.pptx
São Filipe Neri, fundador da a Congregação do Oratório 1515-1595.pptxSão Filipe Neri, fundador da a Congregação do Oratório 1515-1595.pptx
São Filipe Neri, fundador da a Congregação do Oratório 1515-1595.pptx
 
DESAFIO FILOSÓFICO - 1ª SÉRIE - SESI 2020.pptx
DESAFIO FILOSÓFICO - 1ª SÉRIE - SESI 2020.pptxDESAFIO FILOSÓFICO - 1ª SÉRIE - SESI 2020.pptx
DESAFIO FILOSÓFICO - 1ª SÉRIE - SESI 2020.pptx
 
manual-de-introduc3a7c3a3o-ao-direito-25-10-2011.pdf
manual-de-introduc3a7c3a3o-ao-direito-25-10-2011.pdfmanual-de-introduc3a7c3a3o-ao-direito-25-10-2011.pdf
manual-de-introduc3a7c3a3o-ao-direito-25-10-2011.pdf
 
AS COLUNAS B E J E SUAS POSICOES CONFORME O RITO.pdf
AS COLUNAS B E J E SUAS POSICOES CONFORME O RITO.pdfAS COLUNAS B E J E SUAS POSICOES CONFORME O RITO.pdf
AS COLUNAS B E J E SUAS POSICOES CONFORME O RITO.pdf
 
GRAMÁTICA NORMATIVA DA LÍNGUA PORTUGUESA UM GUIA COMPLETO DO IDIOMA.pdf
GRAMÁTICA NORMATIVA DA LÍNGUA PORTUGUESA UM GUIA COMPLETO DO IDIOMA.pdfGRAMÁTICA NORMATIVA DA LÍNGUA PORTUGUESA UM GUIA COMPLETO DO IDIOMA.pdf
GRAMÁTICA NORMATIVA DA LÍNGUA PORTUGUESA UM GUIA COMPLETO DO IDIOMA.pdf
 
hereditariedade é variabilidade genetic
hereditariedade é variabilidade  genetichereditariedade é variabilidade  genetic
hereditariedade é variabilidade genetic
 
Atividade com a música Xote da Alegria - Falamansa
Atividade com a música Xote  da  Alegria    -   FalamansaAtividade com a música Xote  da  Alegria    -   Falamansa
Atividade com a música Xote da Alegria - Falamansa
 
Fotossíntese para o Ensino médio primeiros anos
Fotossíntese para o Ensino médio primeiros anosFotossíntese para o Ensino médio primeiros anos
Fotossíntese para o Ensino médio primeiros anos
 
OFICINA - CAFETERIA DAS HABILIDADES.pdf_20240516_002101_0000.pdf
OFICINA - CAFETERIA DAS HABILIDADES.pdf_20240516_002101_0000.pdfOFICINA - CAFETERIA DAS HABILIDADES.pdf_20240516_002101_0000.pdf
OFICINA - CAFETERIA DAS HABILIDADES.pdf_20240516_002101_0000.pdf
 
Apresentação de vocabulário fundamental em contexto de atendimento
Apresentação de vocabulário fundamental em contexto de atendimentoApresentação de vocabulário fundamental em contexto de atendimento
Apresentação de vocabulário fundamental em contexto de atendimento
 
Slides Lição 8, Central Gospel, Os 144 Mil Que Não Se Curvarão Ao Anticristo....
Slides Lição 8, Central Gospel, Os 144 Mil Que Não Se Curvarão Ao Anticristo....Slides Lição 8, Central Gospel, Os 144 Mil Que Não Se Curvarão Ao Anticristo....
Slides Lição 8, Central Gospel, Os 144 Mil Que Não Se Curvarão Ao Anticristo....
 
04_GuiaDoCurso_Neurociência, Psicologia Positiva e Mindfulness.pdf
04_GuiaDoCurso_Neurociência, Psicologia Positiva e Mindfulness.pdf04_GuiaDoCurso_Neurociência, Psicologia Positiva e Mindfulness.pdf
04_GuiaDoCurso_Neurociência, Psicologia Positiva e Mindfulness.pdf
 
Apresentação sobre as etapas do desenvolvimento infantil
Apresentação sobre as etapas do desenvolvimento infantilApresentação sobre as etapas do desenvolvimento infantil
Apresentação sobre as etapas do desenvolvimento infantil
 
Atividade português 7 ano página 38 a 40
Atividade português 7 ano página 38 a 40Atividade português 7 ano página 38 a 40
Atividade português 7 ano página 38 a 40
 

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].