curso c# em mono - orientação a objeto basico

42
Programação de computadores O processo de programação dos computadores evolui juntamente com os computadores e a medida que seus usuários exigem softwares cada vez mais sofisticados.

Upload: alessandro-binhara

Post on 29-Jun-2015

393 views

Category:

Documents


0 download

DESCRIPTION

Conjunto de slides do curso do Mono Brasil de C# em Mono Orientação a Objetos.

TRANSCRIPT

Page 1: Curso C# em Mono - Orientação a Objeto Basico

Programação de computadores

● O processo de programação dos computadores evolui juntamente com os computadores e a medida que seus usuários exigem softwares cada vez mais sofisticados.

Page 2: Curso C# em Mono - Orientação a Objeto Basico

A evolução da Programação

Programação Linear Programação Estruturada Programação Orientada a Objetos

Page 3: Curso C# em Mono - Orientação a Objeto Basico

Programação Linear

Processamento tipo INPUT/OUTPUT Entrada (INPUT) dos programas e dados em um único sentido, via cartão perfurado. Armazenamento dos dados em núcleo de ferrite. Processamento dos dados de forma linear Saída (OUT)

Page 4: Curso C# em Mono - Orientação a Objeto Basico

Programação Estruturada

Baseada na construção de procedimentos com execução sequencial de comandos.

●10 print “'Ola Mundo!'”●20 goto 10

Introdução do conceito de procedimentos Introdução de estruturas de controle de fluxo

(if , while, case, for) Introdução de funções (clipper Summer'87)

Page 5: Curso C# em Mono - Orientação a Objeto Basico

Problemas da Programação Estruturada

Dificuldade da comunicação de usuário e programadores. Baixa reutilização de código. Problemas de retro-compatibilidade Dificuldade de documentação de software Dificuldade de manutenção do código.

Page 6: Curso C# em Mono - Orientação a Objeto Basico

Programação Orientada a Objetos

Programação O.O. é o 'Futuro'

Alta capacidade reutilização de código Facilidade de Documentação Processo claro de retro-compatibilidade Facilidade manutenção do código Maior agilidade na distribuição e organização de equipes de trabalho Etc..

Page 7: Curso C# em Mono - Orientação a Objeto Basico

Programação Orientada a Objetos

Tá. O que é orientação a objetos? Melhor, vamos devagar. O que é um Objeto ?

Objeto é uma entidade encapsulada que possui propriedades e protocolos de acesso

bem definidos.

Page 8: Curso C# em Mono - Orientação a Objeto Basico

Programação Orientada a Objetos

Orientação a objetos

Orientação : 1. Ato ou efeito de orientar-se. 2. Direção, guia. 3. Impulso, tendência.

Objeto : 1.Tudo que é perceptível por qualquer um dos sentidos. 2. Coisa, peça, artigo de compra ou venda. 3. Matéria, assunto.

Page 9: Curso C# em Mono - Orientação a Objeto Basico

O que é Programação Orientada a Objetos

A programação Orientada a Objetos (O.O.) uma tentativa de representação do mundo real na forma de linguagem de programação.

Page 10: Curso C# em Mono - Orientação a Objeto Basico

O que exige a O.O. ?

Mudança na forma de programar.Mudança na forma de ver o problema.Mudança de paradigma para quem vem com os conceitos da programação estruturada.Não se poder ver em partes pequenas e separar em pequenas funções (procedures), é preciso ter uma visão do todo.

Page 11: Curso C# em Mono - Orientação a Objeto Basico

O que exige a O.O. ?

Mudança de ParadigmaDevemos romper com o passado e pensar no FUTURO!Esqueçam o PASSADO!!!!

Page 12: Curso C# em Mono - Orientação a Objeto Basico

Mas o que é O.O. ?

Objeto :Objeto é uma entidade encapsulada que

possui propriedades e protocolos de acesso bem definidos.

Exemplo:Guarda-chuvaCaneta

Page 13: Curso C# em Mono - Orientação a Objeto Basico

Comparando os modelos de Programação

Programando um carro procedural Programando um carro orientado a objetos

Page 14: Curso C# em Mono - Orientação a Objeto Basico

Como Programar em O.O.

A O.O. Exige uma pré-analise do problema como um todo.

Identificação objetos que compõem o problema, bem como as relações que existem entre eles (atributos e protocolos de acesso).

Em seguida vem a codificação deste objetos em forma de classes.

Page 15: Curso C# em Mono - Orientação a Objeto Basico

O que é classe e objeto?

Classe : é a receita para a criação do objeto (o programa que origina o objeto, receita do bolo).

Objeto : é a 'materialização' da classe dentro do computador (também chamado de instância, o bolo propriamente dito)

Page 16: Curso C# em Mono - Orientação a Objeto Basico

Exemplo

O Problema : Como fazer panquecas?

Page 17: Curso C# em Mono - Orientação a Objeto Basico

Panquecas

Ovos 2Leite 1litroSal 1 pitadaAçucar 2 pitadasQueijo ralado 1pacote

Misture todos os ingredientes, bata todos no liquidificador. Pegue uma panela untada com óleo. Coloque uma concha da massa na panela e leve ao fogo. Vire a massa, espere um pouco e tire a panqueca da panela.

Page 18: Curso C# em Mono - Orientação a Objeto Basico

Onde estão os atributosou propriedades?

Ovos 2Leite 1litroSal 1 pitadaAçucar 2 pitadasQueijo ralado 1pacote

Misture todos os ingredientes, bata todos no liquidificador. Pegue uma panela untada com óleo. Coloque uma concha da massa na panela e leve ao fogo. Vire a massa, espere um pouco e tire a panqueca da panela.Sirva.

Page 19: Curso C# em Mono - Orientação a Objeto Basico

AtributosPanqueca

Ovos 2Leite 1litroSal 1 pitadaAçucar 2 pitadasQueijo ralado 1pacote

Misture todos os ingredientes, bata todos no liquidificador. Pegue uma panela untada com óleo. Coloque uma concha da massa na panela e leve ao fogo. Vire a massa, espere um pouco e tire a panqueca da panela.Sirva.

Page 20: Curso C# em Mono - Orientação a Objeto Basico

Onde estão métodos de acesso e objetos

relacionados?Ovos 2Leite 1litroSal 1 pitadaAçucar 2 pitadasQueijo ralado 1pacote

Misture todos os ingredientes, bata todos no liquidificador. Pegue uma panela untada com óleo. Coloque uma concha da massa na panela e leve ao fogo. Vire a massa, espere um pouco e tire a panqueca da panela.Sirva.

Page 21: Curso C# em Mono - Orientação a Objeto Basico

Métodos de acesso e relacionamentos ?

Ovos 2Leite 1 litroSal 2 pitadaAçucar 1 pitadasQueijo ralado 1 pacote

Misture todos os ingredientes, bata todos no liquidificador. Pegue uma panela untada com óleo. Coloque uma concha da massa na panela e leve ao fogo. Vire a massa, espere um pouco e tire a panqueca da panela. Sirva.

Page 22: Curso C# em Mono - Orientação a Objeto Basico

A Classe

Panqueca (){ int Ovos = 2; int Leite = 1; int Sal = 2; int Açucar = 1; int Queijo = 1;

public misture(); public bata(); public pegue();

public coloque(); public leve(); public vire(); public espere(); public sirva();

}

Page 23: Curso C# em Mono - Orientação a Objeto Basico

Fazendo a panqueca

●Agora que já temos a receita de como fazer a panqueca, só precisamos executar a receitar para que tenhamos uma panqueca pronta.

Page 24: Curso C# em Mono - Orientação a Objeto Basico

FazendoApanqueca.*

Include panqueca;

Panqueca minhaPanqueca = new Panqueca();

minhaPanqueca.misture();minhaPanqueca.bata();minhaPanqueca.pegue();minhaPanqueca.coloque();minhaPanqueca.leve();minhaPanqueca.vire(); minhaPanqueca.espere();minhaPanqueca.sirva();

Page 25: Curso C# em Mono - Orientação a Objeto Basico

Conceitos de O.O.

HerançaPolimorfismo Sobrecarga (overload)Redefinição (override)Encapsulamento

Page 26: Curso C# em Mono - Orientação a Objeto Basico

Herança

●Assim como na genética um filho herda características do pai, na O.O. um objeto filho pode herdar características do objeto pai.

Page 27: Curso C# em Mono - Orientação a Objeto Basico

Herança

Page 28: Curso C# em Mono - Orientação a Objeto Basico

Herança Exemplo

Digamos que agora queremos ao invés de uma paqueca salgada, queremos uma panqueca doce.

Criamos um novo objeto que hedarará as características do objeto panqueca e iremos aumentar a quantidade de açucar na receita.

Page 29: Curso C# em Mono - Orientação a Objeto Basico

Herança Exemplo

Page 30: Curso C# em Mono - Orientação a Objeto Basico

PanquecaDoce herda Panqueca (){

int Açucar = 5;

}

A Classe

Page 31: Curso C# em Mono - Orientação a Objeto Basico

Polimorfimos

Poliformismo, do grego muitas formas, refere-se aos processos que vários objetos podem executar.

Qual seu Peso?Qual seu Saldo?

Page 32: Curso C# em Mono - Orientação a Objeto Basico

Métodos polimorficos

Page 33: Curso C# em Mono - Orientação a Objeto Basico

Sobre Carga (overload)

●Temos uma sobre carga de método quando um mesmo protocolo (método) é executado para um fim mas recebendo informações diferentes.

Page 34: Curso C# em Mono - Orientação a Objeto Basico

Sobre Carga (overload)

Exemplo :

●Praticando o método pegar!

Page 35: Curso C# em Mono - Orientação a Objeto Basico

Sobre Carga (overload)

binhara.pegue(Cabelo);binhara.pegue(braco);binhara.pegue(voluntario);

Page 36: Curso C# em Mono - Orientação a Objeto Basico

Sobre Carga (overload)

●Exemplo :

Page 37: Curso C# em Mono - Orientação a Objeto Basico

Conceito de O.O.

●Tipos de métodos :ConstrutorDestrutorPublicoPrivadoEstático

Page 38: Curso C# em Mono - Orientação a Objeto Basico

Notação UML

A Unidied Modeling Language (UML)

Resultado da unificação da linguagem de modelagem de dados de Booch, OMT, OOSE.

A UML é uma linguagem de modelagem.

Page 39: Curso C# em Mono - Orientação a Objeto Basico

Notação UML

Diagrama de ClasseDiagrama de Caso de UsoDiagrama de InteraçãoDiagrama de SequênciaDiagrama de ColaboraçãoDiagrama de AtividadesDiagrama de ComponentesDiagrama de ObjetosDiagrama de Implantação

Page 40: Curso C# em Mono - Orientação a Objeto Basico

Notação UML VantagensFacilidade de comunicação com usuário

A partir dos Caso de Uso pode-se facilmente gerar os manuais do usuário

Através dos diagramas pode se orientar o trabalho dos programadores.

A modelagem é um retrato do código fonte

Padronização e distribuição rápida do conhecimento

Page 41: Curso C# em Mono - Orientação a Objeto Basico

Aplicações Complexas

Orientação a objetos e notação UML são a chaves para este tipo de desenvolvimento.

Irão facilitar o acesso as informações do modelo de negócio de forma fácil e padronizada.É uma padronização já aceita pelo mercado de trabalho.Estudantes poderão atuar ativamente neste modelo de desenvolvimento.

Page 42: Curso C# em Mono - Orientação a Objeto Basico

Está é a Questão

A Orientação a Objetos é a chave e a principal ferramenta do desenvolvedor de software livre para o desenvolvimento de aplicações com modelo de negócio complexo.