curso c# em mono - orientação a objeto basico
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](https://reader035.vdocuments.net/reader035/viewer/2022062406/5590b2e01a28abe4058b4793/html5/thumbnails/1.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062406/5590b2e01a28abe4058b4793/html5/thumbnails/2.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062406/5590b2e01a28abe4058b4793/html5/thumbnails/3.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062406/5590b2e01a28abe4058b4793/html5/thumbnails/4.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062406/5590b2e01a28abe4058b4793/html5/thumbnails/5.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062406/5590b2e01a28abe4058b4793/html5/thumbnails/6.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062406/5590b2e01a28abe4058b4793/html5/thumbnails/7.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062406/5590b2e01a28abe4058b4793/html5/thumbnails/8.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062406/5590b2e01a28abe4058b4793/html5/thumbnails/9.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062406/5590b2e01a28abe4058b4793/html5/thumbnails/10.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062406/5590b2e01a28abe4058b4793/html5/thumbnails/11.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062406/5590b2e01a28abe4058b4793/html5/thumbnails/12.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062406/5590b2e01a28abe4058b4793/html5/thumbnails/13.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062406/5590b2e01a28abe4058b4793/html5/thumbnails/14.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062406/5590b2e01a28abe4058b4793/html5/thumbnails/15.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062406/5590b2e01a28abe4058b4793/html5/thumbnails/16.jpg)
Exemplo
O Problema : Como fazer panquecas?
![Page 17: Curso C# em Mono - Orientação a Objeto Basico](https://reader035.vdocuments.net/reader035/viewer/2022062406/5590b2e01a28abe4058b4793/html5/thumbnails/17.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062406/5590b2e01a28abe4058b4793/html5/thumbnails/18.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062406/5590b2e01a28abe4058b4793/html5/thumbnails/19.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062406/5590b2e01a28abe4058b4793/html5/thumbnails/20.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062406/5590b2e01a28abe4058b4793/html5/thumbnails/21.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062406/5590b2e01a28abe4058b4793/html5/thumbnails/22.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062406/5590b2e01a28abe4058b4793/html5/thumbnails/23.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062406/5590b2e01a28abe4058b4793/html5/thumbnails/24.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062406/5590b2e01a28abe4058b4793/html5/thumbnails/25.jpg)
Conceitos de O.O.
HerançaPolimorfismo Sobrecarga (overload)Redefinição (override)Encapsulamento
![Page 26: Curso C# em Mono - Orientação a Objeto Basico](https://reader035.vdocuments.net/reader035/viewer/2022062406/5590b2e01a28abe4058b4793/html5/thumbnails/26.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062406/5590b2e01a28abe4058b4793/html5/thumbnails/27.jpg)
Herança
![Page 28: Curso C# em Mono - Orientação a Objeto Basico](https://reader035.vdocuments.net/reader035/viewer/2022062406/5590b2e01a28abe4058b4793/html5/thumbnails/28.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062406/5590b2e01a28abe4058b4793/html5/thumbnails/29.jpg)
Herança Exemplo
![Page 30: Curso C# em Mono - Orientação a Objeto Basico](https://reader035.vdocuments.net/reader035/viewer/2022062406/5590b2e01a28abe4058b4793/html5/thumbnails/30.jpg)
PanquecaDoce herda Panqueca (){
int Açucar = 5;
}
A Classe
![Page 31: Curso C# em Mono - Orientação a Objeto Basico](https://reader035.vdocuments.net/reader035/viewer/2022062406/5590b2e01a28abe4058b4793/html5/thumbnails/31.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062406/5590b2e01a28abe4058b4793/html5/thumbnails/32.jpg)
Métodos polimorficos
![Page 33: Curso C# em Mono - Orientação a Objeto Basico](https://reader035.vdocuments.net/reader035/viewer/2022062406/5590b2e01a28abe4058b4793/html5/thumbnails/33.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062406/5590b2e01a28abe4058b4793/html5/thumbnails/34.jpg)
Sobre Carga (overload)
Exemplo :
●Praticando o método pegar!
![Page 35: Curso C# em Mono - Orientação a Objeto Basico](https://reader035.vdocuments.net/reader035/viewer/2022062406/5590b2e01a28abe4058b4793/html5/thumbnails/35.jpg)
Sobre Carga (overload)
binhara.pegue(Cabelo);binhara.pegue(braco);binhara.pegue(voluntario);
![Page 36: Curso C# em Mono - Orientação a Objeto Basico](https://reader035.vdocuments.net/reader035/viewer/2022062406/5590b2e01a28abe4058b4793/html5/thumbnails/36.jpg)
Sobre Carga (overload)
●Exemplo :
![Page 37: Curso C# em Mono - Orientação a Objeto Basico](https://reader035.vdocuments.net/reader035/viewer/2022062406/5590b2e01a28abe4058b4793/html5/thumbnails/37.jpg)
Conceito de O.O.
●Tipos de métodos :ConstrutorDestrutorPublicoPrivadoEstático
![Page 38: Curso C# em Mono - Orientação a Objeto Basico](https://reader035.vdocuments.net/reader035/viewer/2022062406/5590b2e01a28abe4058b4793/html5/thumbnails/38.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062406/5590b2e01a28abe4058b4793/html5/thumbnails/39.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062406/5590b2e01a28abe4058b4793/html5/thumbnails/40.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062406/5590b2e01a28abe4058b4793/html5/thumbnails/41.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062406/5590b2e01a28abe4058b4793/html5/thumbnails/42.jpg)
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.