SlideShare uma empresa Scribd logo
1 de 18
Baixar para ler offline
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 POO com C

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 1Elaine 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 objetosCí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 ObjetosArthur 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 BeginnersJordan Silva
 
Linguagens de programação 12º M11
Linguagens de programação 12º M11Linguagens de programação 12º M11
Linguagens de programação 12º M11Luis 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
 
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 objetosFelipe 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
 
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 v1Carlos 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çãoPedro De Almeida
 
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 Projetivossuser95aa63
 
DESENHO TECNICO.pdf
DESENHO TECNICO.pdfDESENHO TECNICO.pdf
DESENHO TECNICO.pdftrabs23
 
Roteiro de Aulas Práticas da Disciplina de Desenho Técnico Projetivo.pdf
Roteiro de Aulas Práticas da Disciplina de Desenho Técnico Projetivo.pdfRoteiro de Aulas Práticas da Disciplina de Desenho Técnico Projetivo.pdf
Roteiro de Aulas Práticas da Disciplina de Desenho Técnico Projetivo.pdftrabalhosacademicos10
 
DESENHO TECNICO.pdf
DESENHO TECNICO.pdfDESENHO TECNICO.pdf
DESENHO TECNICO.pdftrabs27
 
DESENHO TECNICO.pdf
DESENHO TECNICO.pdfDESENHO TECNICO.pdf
DESENHO TECNICO.pdftrabs26
 

Semelhante a Aula 2 POO com C (20)

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
 
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
 
Roteiro de Aulas Práticas da Disciplina de Desenho Técnico Projetivo.pdf
Roteiro de Aulas Práticas da Disciplina de Desenho Técnico Projetivo.pdfRoteiro de Aulas Práticas da Disciplina de Desenho Técnico Projetivo.pdf
Roteiro de Aulas Práticas da Disciplina de Desenho Técnico Projetivo.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.pdfCloves 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 empresasCloves 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áticaCloves 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 SoftwareCloves 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 abertosCloves 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óciosCloves 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ãoCloves da Rocha
 
Café com André Menelau
Café com André MenelauCafé com André Menelau
Café com André MenelauCloves da Rocha
 
Engenharia de Requisitos
Engenharia de RequisitosEngenharia de Requisitos
Engenharia de RequisitosCloves 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 RochaCloves da Rocha
 
Principais Certificações em TIC - ITIL
Principais Certificações em TIC - ITILPrincipais Certificações em TIC - ITIL
Principais Certificações em TIC - ITILCloves 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 21Cloves 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 MestreCloves 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 ObjetosCloves 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 MestreCloves 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

QUIZ DE MATEMATICA SHOW DO MILHÃO PREPARAÇÃO ÇPARA AVALIAÇÕES EXTERNAS
QUIZ DE MATEMATICA SHOW DO MILHÃO PREPARAÇÃO ÇPARA AVALIAÇÕES EXTERNASQUIZ DE MATEMATICA SHOW DO MILHÃO PREPARAÇÃO ÇPARA AVALIAÇÕES EXTERNAS
QUIZ DE MATEMATICA SHOW DO MILHÃO PREPARAÇÃO ÇPARA AVALIAÇÕES EXTERNASEdinardo Aguiar
 
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptx
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptxQUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptx
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptxIsabellaGomes58
 
PLANEJAMENTO anual do 3ANO fundamental 1 MG.pdf
PLANEJAMENTO anual do  3ANO fundamental 1 MG.pdfPLANEJAMENTO anual do  3ANO fundamental 1 MG.pdf
PLANEJAMENTO anual do 3ANO fundamental 1 MG.pdfProfGleide
 
19 de abril - Dia dos povos indigenas brasileiros
19 de abril - Dia dos povos indigenas brasileiros19 de abril - Dia dos povos indigenas brasileiros
19 de abril - Dia dos povos indigenas brasileirosMary Alvarenga
 
organizaao-do-clube-de-lideres-ctd-aamar_compress.pdf
organizaao-do-clube-de-lideres-ctd-aamar_compress.pdforganizaao-do-clube-de-lideres-ctd-aamar_compress.pdf
organizaao-do-clube-de-lideres-ctd-aamar_compress.pdfCarlosRodrigues832670
 
Slides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptx
Slides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptxSlides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptx
Slides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptxLuizHenriquedeAlmeid6
 
Baladão sobre Variação Linguistica para o spaece.pptx
Baladão sobre Variação Linguistica para o spaece.pptxBaladão sobre Variação Linguistica para o spaece.pptx
Baladão sobre Variação Linguistica para o spaece.pptxacaciocarmo1
 
Guia completo da Previdênci a - Reforma .pdf
Guia completo da Previdênci a - Reforma .pdfGuia completo da Previdênci a - Reforma .pdf
Guia completo da Previdênci a - Reforma .pdfEyshilaKelly1
 
Bingo da potenciação e radiciação de números inteiros
Bingo da potenciação e radiciação de números inteirosBingo da potenciação e radiciação de números inteiros
Bingo da potenciação e radiciação de números inteirosAntnyoAllysson
 
Mesoamérica.Astecas,inca,maias , olmecas
Mesoamérica.Astecas,inca,maias , olmecasMesoamérica.Astecas,inca,maias , olmecas
Mesoamérica.Astecas,inca,maias , olmecasRicardo Diniz campos
 
A Inteligência Artificial na Educação e a Inclusão Linguística
A Inteligência Artificial na Educação e a Inclusão LinguísticaA Inteligência Artificial na Educação e a Inclusão Linguística
A Inteligência Artificial na Educação e a Inclusão LinguísticaFernanda Ledesma
 
Linguagem verbal , não verbal e mista.pdf
Linguagem verbal , não verbal e mista.pdfLinguagem verbal , não verbal e mista.pdf
Linguagem verbal , não verbal e mista.pdfLaseVasconcelos1
 
Currículo escolar na perspectiva da educação inclusiva.pdf
Currículo escolar na perspectiva da educação inclusiva.pdfCurrículo escolar na perspectiva da educação inclusiva.pdf
Currículo escolar na perspectiva da educação inclusiva.pdfIedaGoethe
 
Free-Netflix-PowerPoint-Template-pptheme-1.pptx
Free-Netflix-PowerPoint-Template-pptheme-1.pptxFree-Netflix-PowerPoint-Template-pptheme-1.pptx
Free-Netflix-PowerPoint-Template-pptheme-1.pptxkarinasantiago54
 
Apresentação sobre o Combate a Dengue 2024
Apresentação sobre o Combate a Dengue 2024Apresentação sobre o Combate a Dengue 2024
Apresentação sobre o Combate a Dengue 2024GleyceMoreiraXWeslle
 
TREINAMENTO - BOAS PRATICAS DE HIGIENE NA COZINHA.ppt
TREINAMENTO - BOAS PRATICAS DE HIGIENE NA COZINHA.pptTREINAMENTO - BOAS PRATICAS DE HIGIENE NA COZINHA.ppt
TREINAMENTO - BOAS PRATICAS DE HIGIENE NA COZINHA.pptAlineSilvaPotuk
 
Slides Lição 2, Central Gospel, A Volta Do Senhor Jesus , 1Tr24.pptx
Slides Lição 2, Central Gospel, A Volta Do Senhor Jesus , 1Tr24.pptxSlides Lição 2, Central Gospel, A Volta Do Senhor Jesus , 1Tr24.pptx
Slides Lição 2, Central Gospel, A Volta Do Senhor Jesus , 1Tr24.pptxLuizHenriquedeAlmeid6
 
Aula - 2º Ano - Cultura e Sociedade - Conceitos-chave
Aula - 2º Ano - Cultura e Sociedade - Conceitos-chaveAula - 2º Ano - Cultura e Sociedade - Conceitos-chave
Aula - 2º Ano - Cultura e Sociedade - Conceitos-chaveaulasgege
 

Último (20)

QUIZ DE MATEMATICA SHOW DO MILHÃO PREPARAÇÃO ÇPARA AVALIAÇÕES EXTERNAS
QUIZ DE MATEMATICA SHOW DO MILHÃO PREPARAÇÃO ÇPARA AVALIAÇÕES EXTERNASQUIZ DE MATEMATICA SHOW DO MILHÃO PREPARAÇÃO ÇPARA AVALIAÇÕES EXTERNAS
QUIZ DE MATEMATICA SHOW DO MILHÃO PREPARAÇÃO ÇPARA AVALIAÇÕES EXTERNAS
 
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptx
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptxQUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptx
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptx
 
PLANEJAMENTO anual do 3ANO fundamental 1 MG.pdf
PLANEJAMENTO anual do  3ANO fundamental 1 MG.pdfPLANEJAMENTO anual do  3ANO fundamental 1 MG.pdf
PLANEJAMENTO anual do 3ANO fundamental 1 MG.pdf
 
19 de abril - Dia dos povos indigenas brasileiros
19 de abril - Dia dos povos indigenas brasileiros19 de abril - Dia dos povos indigenas brasileiros
19 de abril - Dia dos povos indigenas brasileiros
 
organizaao-do-clube-de-lideres-ctd-aamar_compress.pdf
organizaao-do-clube-de-lideres-ctd-aamar_compress.pdforganizaao-do-clube-de-lideres-ctd-aamar_compress.pdf
organizaao-do-clube-de-lideres-ctd-aamar_compress.pdf
 
Slides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptx
Slides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptxSlides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptx
Slides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptx
 
(76- ESTUDO MATEUS) A ACLAMAÇÃO DO REI..
(76- ESTUDO MATEUS) A ACLAMAÇÃO DO REI..(76- ESTUDO MATEUS) A ACLAMAÇÃO DO REI..
(76- ESTUDO MATEUS) A ACLAMAÇÃO DO REI..
 
Baladão sobre Variação Linguistica para o spaece.pptx
Baladão sobre Variação Linguistica para o spaece.pptxBaladão sobre Variação Linguistica para o spaece.pptx
Baladão sobre Variação Linguistica para o spaece.pptx
 
Guia completo da Previdênci a - Reforma .pdf
Guia completo da Previdênci a - Reforma .pdfGuia completo da Previdênci a - Reforma .pdf
Guia completo da Previdênci a - Reforma .pdf
 
Bingo da potenciação e radiciação de números inteiros
Bingo da potenciação e radiciação de números inteirosBingo da potenciação e radiciação de números inteiros
Bingo da potenciação e radiciação de números inteiros
 
Mesoamérica.Astecas,inca,maias , olmecas
Mesoamérica.Astecas,inca,maias , olmecasMesoamérica.Astecas,inca,maias , olmecas
Mesoamérica.Astecas,inca,maias , olmecas
 
A Inteligência Artificial na Educação e a Inclusão Linguística
A Inteligência Artificial na Educação e a Inclusão LinguísticaA Inteligência Artificial na Educação e a Inclusão Linguística
A Inteligência Artificial na Educação e a Inclusão Linguística
 
Linguagem verbal , não verbal e mista.pdf
Linguagem verbal , não verbal e mista.pdfLinguagem verbal , não verbal e mista.pdf
Linguagem verbal , não verbal e mista.pdf
 
Currículo escolar na perspectiva da educação inclusiva.pdf
Currículo escolar na perspectiva da educação inclusiva.pdfCurrículo escolar na perspectiva da educação inclusiva.pdf
Currículo escolar na perspectiva da educação inclusiva.pdf
 
Free-Netflix-PowerPoint-Template-pptheme-1.pptx
Free-Netflix-PowerPoint-Template-pptheme-1.pptxFree-Netflix-PowerPoint-Template-pptheme-1.pptx
Free-Netflix-PowerPoint-Template-pptheme-1.pptx
 
Apresentação sobre o Combate a Dengue 2024
Apresentação sobre o Combate a Dengue 2024Apresentação sobre o Combate a Dengue 2024
Apresentação sobre o Combate a Dengue 2024
 
TREINAMENTO - BOAS PRATICAS DE HIGIENE NA COZINHA.ppt
TREINAMENTO - BOAS PRATICAS DE HIGIENE NA COZINHA.pptTREINAMENTO - BOAS PRATICAS DE HIGIENE NA COZINHA.ppt
TREINAMENTO - BOAS PRATICAS DE HIGIENE NA COZINHA.ppt
 
treinamento brigada incendio 2024 no.ppt
treinamento brigada incendio 2024 no.ppttreinamento brigada incendio 2024 no.ppt
treinamento brigada incendio 2024 no.ppt
 
Slides Lição 2, Central Gospel, A Volta Do Senhor Jesus , 1Tr24.pptx
Slides Lição 2, Central Gospel, A Volta Do Senhor Jesus , 1Tr24.pptxSlides Lição 2, Central Gospel, A Volta Do Senhor Jesus , 1Tr24.pptx
Slides Lição 2, Central Gospel, A Volta Do Senhor Jesus , 1Tr24.pptx
 
Aula - 2º Ano - Cultura e Sociedade - Conceitos-chave
Aula - 2º Ano - Cultura e Sociedade - Conceitos-chaveAula - 2º Ano - Cultura e Sociedade - Conceitos-chave
Aula - 2º Ano - Cultura e Sociedade - Conceitos-chave
 

Aula 2 POO com C

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