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

Post on 29-Jun-2015

394 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

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

TRANSCRIPT

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.

A evolução da Programação

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

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)

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)

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.

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

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.

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.

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.

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.

O que exige a O.O. ?

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

Mas o que é O.O. ?

Objeto :Objeto é uma entidade encapsulada que

possui propriedades e protocolos de acesso bem definidos.

Exemplo:Guarda-chuvaCaneta

Comparando os modelos de Programação

Programando um carro procedural Programando um carro orientado a objetos

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.

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)

Exemplo

O Problema : Como fazer panquecas?

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.

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.

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.

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.

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.

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();

}

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.

FazendoApanqueca.*

Include panqueca;

Panqueca minhaPanqueca = new Panqueca();

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

Conceitos de O.O.

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

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.

Herança

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.

Herança Exemplo

PanquecaDoce herda Panqueca (){

int Açucar = 5;

}

A Classe

Polimorfimos

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

Qual seu Peso?Qual seu Saldo?

Métodos polimorficos

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.

Sobre Carga (overload)

Exemplo :

●Praticando o método pegar!

Sobre Carga (overload)

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

Sobre Carga (overload)

●Exemplo :

Conceito de O.O.

●Tipos de métodos :ConstrutorDestrutorPublicoPrivadoEstático

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.

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

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

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.

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.

top related