POO – Programação Orientada a Objetos Ronny Anderson XNA Natal Academic’s [email protected]...
-
Upload
adelino-balsemao-frade -
Category
Documents
-
view
213 -
download
0
Transcript of POO – Programação Orientada a Objetos Ronny Anderson XNA Natal Academic’s [email protected]...
![Page 1: POO – Programação Orientada a Objetos Ronny Anderson XNA Natal Academic’s ronnytds@gmail.com Tecnologia em Desenvolvimento de Software CEFET-RN.](https://reader035.fdocumentos.tips/reader035/viewer/2022081520/570638561a28abb8238fb343/html5/thumbnails/1.jpg)
POO – Programação POO – Programação Orientada a ObjetosOrientada a Objetos
Ronny AndersonRonny AndersonXNA Natal Academic’sXNA Natal Academic’[email protected]@gmail.com
Tecnologia em Desenvolvimento de Tecnologia em Desenvolvimento de Software CEFET-RNSoftware CEFET-RN
![Page 2: POO – Programação Orientada a Objetos Ronny Anderson XNA Natal Academic’s ronnytds@gmail.com Tecnologia em Desenvolvimento de Software CEFET-RN.](https://reader035.fdocumentos.tips/reader035/viewer/2022081520/570638561a28abb8238fb343/html5/thumbnails/2.jpg)
SumárioSumárioIntroduçãoIntroduçãoPOOPOOObjetos Objetos ClassesClassesAbstraçãoAbstraçãoEncapsulamentoEncapsulamentoPolimorfismoPolimorfismoVisibilidadeVisibilidadeTipos de DadosTipos de DadosOperadoresOperadores
![Page 3: POO – Programação Orientada a Objetos Ronny Anderson XNA Natal Academic’s ronnytds@gmail.com Tecnologia em Desenvolvimento de Software CEFET-RN.](https://reader035.fdocumentos.tips/reader035/viewer/2022081520/570638561a28abb8238fb343/html5/thumbnails/3.jpg)
IntroduçãoIntroduçãoEsta apresentação tem como objetivo Esta apresentação tem como objetivo mostrar os conceitos da orientação a mostrar os conceitos da orientação a objetos voltados para uma linguagem objetos voltados para uma linguagem de programação(C#) e também de programação(C#) e também familiarizar a sintaxe da linguagem.familiarizar a sintaxe da linguagem.
![Page 4: POO – Programação Orientada a Objetos Ronny Anderson XNA Natal Academic’s ronnytds@gmail.com Tecnologia em Desenvolvimento de Software CEFET-RN.](https://reader035.fdocumentos.tips/reader035/viewer/2022081520/570638561a28abb8238fb343/html5/thumbnails/4.jpg)
POOPOO
Se escrever um programa de computador em uma linguagem orientada a objetos, você criará em seu computador um modelo de alguma parte do mundo real. As partes das quais o modelo é construído são os objetos que aparecem no domínio do problema.
![Page 5: POO – Programação Orientada a Objetos Ronny Anderson XNA Natal Academic’s ronnytds@gmail.com Tecnologia em Desenvolvimento de Software CEFET-RN.](https://reader035.fdocumentos.tips/reader035/viewer/2022081520/570638561a28abb8238fb343/html5/thumbnails/5.jpg)
Objetos Objetos Um objeto representa algo do mundo real: concreto ou abstrato;A percepção dos seres humanos é dada através dos objetos;Um objeto é uma entidade que exibe algum comportamento bem definido.
![Page 6: POO – Programação Orientada a Objetos Ronny Anderson XNA Natal Academic’s ronnytds@gmail.com Tecnologia em Desenvolvimento de Software CEFET-RN.](https://reader035.fdocumentos.tips/reader035/viewer/2022081520/570638561a28abb8238fb343/html5/thumbnails/6.jpg)
ObjetosObjetosUm objeto representa um item identificável, uma unidade, ou entidade, individual com uma regra bem definida.Exemplos:
LivroCarroConta BancáriaReuniãoComputador
![Page 7: POO – Programação Orientada a Objetos Ronny Anderson XNA Natal Academic’s ronnytds@gmail.com Tecnologia em Desenvolvimento de Software CEFET-RN.](https://reader035.fdocumentos.tips/reader035/viewer/2022081520/570638561a28abb8238fb343/html5/thumbnails/7.jpg)
ObjetosObjetosObjetos parecidos têm a mesma Objetos parecidos têm a mesma classificação:classificação:
Carro A, cor Verde, Duas Portas.Carro A, cor Verde, Duas Portas.Carro B, cor Amerelo, Quatro Portas.Carro B, cor Amerelo, Quatro Portas.Os dois são carros.Os dois são carros.
O conhecimento a determinado objeto é dado a partir de sua classificação.
![Page 8: POO – Programação Orientada a Objetos Ronny Anderson XNA Natal Academic’s ronnytds@gmail.com Tecnologia em Desenvolvimento de Software CEFET-RN.](https://reader035.fdocumentos.tips/reader035/viewer/2022081520/570638561a28abb8238fb343/html5/thumbnails/8.jpg)
ObjetosObjetos
Concretos: Concretos: Camisa, Bola, Controle RemotoCamisa, Bola, Controle Remoto
Abstratos: Abstratos: Música, Filme, Transação BancáriaMúsica, Filme, Transação Bancária
Modelo de Objetos:Modelo de Objetos:OBJETOOBJETO = = DADOSDADOS + + OPERAÇÕESOPERAÇÕES
![Page 9: POO – Programação Orientada a Objetos Ronny Anderson XNA Natal Academic’s ronnytds@gmail.com Tecnologia em Desenvolvimento de Software CEFET-RN.](https://reader035.fdocumentos.tips/reader035/viewer/2022081520/570638561a28abb8238fb343/html5/thumbnails/9.jpg)
ObjetosObjetosOs objetos possuem 3 propriedades:Os objetos possuem 3 propriedades:
Estado: Suas Estado: Suas característicascaracterísticas(dados/atributos)(dados/atributos)Comportamento: Suas Comportamento: Suas operaçõesoperações(métodos) (métodos) sobre seus dadossobre seus dadosIdentidade: Seu valor de referênciaIdentidade: Seu valor de referência
Os valores dos Os valores dos dadosdados são modificados são modificados a partir das a partir das operaçõesoperações sobre esses sobre esses dadosdados
![Page 10: POO – Programação Orientada a Objetos Ronny Anderson XNA Natal Academic’s ronnytds@gmail.com Tecnologia em Desenvolvimento de Software CEFET-RN.](https://reader035.fdocumentos.tips/reader035/viewer/2022081520/570638561a28abb8238fb343/html5/thumbnails/10.jpg)
ClassesClassesClasses são especificações para objetos;Uma classe serve de modelo para vários objetos semelhantes que possuem os mesmos tipos de informação em seu estado e tem os mesmos comportamentos;
![Page 11: POO – Programação Orientada a Objetos Ronny Anderson XNA Natal Academic’s ronnytds@gmail.com Tecnologia em Desenvolvimento de Software CEFET-RN.](https://reader035.fdocumentos.tips/reader035/viewer/2022081520/570638561a28abb8238fb343/html5/thumbnails/11.jpg)
ClassesClassesUma Classe é uma fabrica de objetos idênticos no que diz respeito a sua interface e sua implementação.
![Page 12: POO – Programação Orientada a Objetos Ronny Anderson XNA Natal Academic’s ronnytds@gmail.com Tecnologia em Desenvolvimento de Software CEFET-RN.](https://reader035.fdocumentos.tips/reader035/viewer/2022081520/570638561a28abb8238fb343/html5/thumbnails/12.jpg)
AbstraçãoAbstraçãoQuando queremos diminuir a complexidade de alguma coisa, selecionamos parte do que estamos querendo;Não se analisa o “todo”, em POO é importante analisar as partes para entender o todo.
![Page 13: POO – Programação Orientada a Objetos Ronny Anderson XNA Natal Academic’s ronnytds@gmail.com Tecnologia em Desenvolvimento de Software CEFET-RN.](https://reader035.fdocumentos.tips/reader035/viewer/2022081520/570638561a28abb8238fb343/html5/thumbnails/13.jpg)
AbstraçãoAbstraçãoExemplo:
Um coelho para sua dona tem os atributos cor e aparência e sob o ponto de vista de um veterinário tem atributos tais como peso e tamanho.
![Page 14: POO – Programação Orientada a Objetos Ronny Anderson XNA Natal Academic’s ronnytds@gmail.com Tecnologia em Desenvolvimento de Software CEFET-RN.](https://reader035.fdocumentos.tips/reader035/viewer/2022081520/570638561a28abb8238fb343/html5/thumbnails/14.jpg)
EncapsulamentoEncapsulamento é o processo de esconder todos os detalhes de um objeto que não contribuem para as suas características essenciais;Um objeto em um programa “encapsula” todo o estado e o comportamento;
![Page 15: POO – Programação Orientada a Objetos Ronny Anderson XNA Natal Academic’s ronnytds@gmail.com Tecnologia em Desenvolvimento de Software CEFET-RN.](https://reader035.fdocumentos.tips/reader035/viewer/2022081520/570638561a28abb8238fb343/html5/thumbnails/15.jpg)
EncapsulamentoExemplo:
![Page 16: POO – Programação Orientada a Objetos Ronny Anderson XNA Natal Academic’s ronnytds@gmail.com Tecnologia em Desenvolvimento de Software CEFET-RN.](https://reader035.fdocumentos.tips/reader035/viewer/2022081520/570638561a28abb8238fb343/html5/thumbnails/16.jpg)
HerançaÉ o mecanismo para expressar a similaridade entre Classes, simplificando a definição de classes iguais que já foram definidas.
![Page 17: POO – Programação Orientada a Objetos Ronny Anderson XNA Natal Academic’s ronnytds@gmail.com Tecnologia em Desenvolvimento de Software CEFET-RN.](https://reader035.fdocumentos.tips/reader035/viewer/2022081520/570638561a28abb8238fb343/html5/thumbnails/17.jpg)
PolimorfismoPolimorfismo:
Poli -> Várias Morfos -> Formas
O conceito de polimorfismo está associado a herança. O polimorfismo trabalha com a redeclaração de métodos previamente herdados por uma classe.
![Page 18: POO – Programação Orientada a Objetos Ronny Anderson XNA Natal Academic’s ronnytds@gmail.com Tecnologia em Desenvolvimento de Software CEFET-RN.](https://reader035.fdocumentos.tips/reader035/viewer/2022081520/570638561a28abb8238fb343/html5/thumbnails/18.jpg)
PolimorfismoSobrecarga:
A sobrecarga pode mudar tanto a quantidade quanto os tipos dos argumentos; mas não pode mudar o tipo do valor de retorno de um método.public static void setTamanhoRetangulo(int lado){
this.altura = (double) lado;this.largura = lado;
}public static void setTamanhoRetangulo(double alt, int larg){
this.altura = alt;this.largura = larg;
}
![Page 19: POO – Programação Orientada a Objetos Ronny Anderson XNA Natal Academic’s ronnytds@gmail.com Tecnologia em Desenvolvimento de Software CEFET-RN.](https://reader035.fdocumentos.tips/reader035/viewer/2022081520/570638561a28abb8238fb343/html5/thumbnails/19.jpg)
PolimorfismoSobrescrita:
Pode-se definir métodos com o mesmo nome, recebendo os mesmos argumentos, porem a sua implementação é realizada de forma diferente. Chamamos isso de sobrescrita.OBS.: Isso acontece para classes diferentes.public static int soma(int a){
return a+a;}public static int soma(int b){
return b+b+b;}
![Page 20: POO – Programação Orientada a Objetos Ronny Anderson XNA Natal Academic’s ronnytds@gmail.com Tecnologia em Desenvolvimento de Software CEFET-RN.](https://reader035.fdocumentos.tips/reader035/viewer/2022081520/570638561a28abb8238fb343/html5/thumbnails/20.jpg)
Visibilidade- Private;+ Public;# Protected;~ Default ou Friendly;(não existe em C#) Internal(C#) Protected Internal(C#)
![Page 21: POO – Programação Orientada a Objetos Ronny Anderson XNA Natal Academic’s ronnytds@gmail.com Tecnologia em Desenvolvimento de Software CEFET-RN.](https://reader035.fdocumentos.tips/reader035/viewer/2022081520/570638561a28abb8238fb343/html5/thumbnails/21.jpg)
VisibilidadePublic:
O nível de acesso é irrestrito
![Page 22: POO – Programação Orientada a Objetos Ronny Anderson XNA Natal Academic’s ronnytds@gmail.com Tecnologia em Desenvolvimento de Software CEFET-RN.](https://reader035.fdocumentos.tips/reader035/viewer/2022081520/570638561a28abb8238fb343/html5/thumbnails/22.jpg)
VisibilidadePrivate:
O nível de acesso se restringe apenas a classe. Não é passado por herança.
![Page 23: POO – Programação Orientada a Objetos Ronny Anderson XNA Natal Academic’s ronnytds@gmail.com Tecnologia em Desenvolvimento de Software CEFET-RN.](https://reader035.fdocumentos.tips/reader035/viewer/2022081520/570638561a28abb8238fb343/html5/thumbnails/23.jpg)
VisibilidadeProtected
É visível a toda a classeÉ visível as classes do mesmo namespaceÉ passado por herança(mesmo em namespaces diferentes)
![Page 24: POO – Programação Orientada a Objetos Ronny Anderson XNA Natal Academic’s ronnytds@gmail.com Tecnologia em Desenvolvimento de Software CEFET-RN.](https://reader035.fdocumentos.tips/reader035/viewer/2022081520/570638561a28abb8238fb343/html5/thumbnails/24.jpg)
VisibilidadeInternal:
É o nível de acesso que não tem restrição dentro do mesmo assembly. O modificador internal é utilizado com classes internas ao sistema, como helpers a classe, que são auxiliares do sistema e não devem ou não precisam ser expostas.
![Page 25: POO – Programação Orientada a Objetos Ronny Anderson XNA Natal Academic’s ronnytds@gmail.com Tecnologia em Desenvolvimento de Software CEFET-RN.](https://reader035.fdocumentos.tips/reader035/viewer/2022081520/570638561a28abb8238fb343/html5/thumbnails/25.jpg)
VisibilidadeProtected Internal:
É uma combinação de dois modificadores: Protected e Internal.Tem nível de acesso semelhante ao internal, com extensão aos tipos derivados, incluídos até mesmo em outro assembly tendo acesso ao membro ou ao tipo.
![Page 26: POO – Programação Orientada a Objetos Ronny Anderson XNA Natal Academic’s ronnytds@gmail.com Tecnologia em Desenvolvimento de Software CEFET-RN.](https://reader035.fdocumentos.tips/reader035/viewer/2022081520/570638561a28abb8238fb343/html5/thumbnails/26.jpg)
VisibilidadeOBS:
Se um tipo não for precedido de seu modificador de acesso ele será considerado internal.Se um membro não for precedido de seu modificador de acesso ele será considerado private.
![Page 27: POO – Programação Orientada a Objetos Ronny Anderson XNA Natal Academic’s ronnytds@gmail.com Tecnologia em Desenvolvimento de Software CEFET-RN.](https://reader035.fdocumentos.tips/reader035/viewer/2022081520/570638561a28abb8238fb343/html5/thumbnails/27.jpg)
Tipos de DadosToda linguagem de programação oferece um grupo básico de tipo de dados, conhecidos como tipos primitivos ou fundamentais.
![Page 28: POO – Programação Orientada a Objetos Ronny Anderson XNA Natal Academic’s ronnytds@gmail.com Tecnologia em Desenvolvimento de Software CEFET-RN.](https://reader035.fdocumentos.tips/reader035/viewer/2022081520/570638561a28abb8238fb343/html5/thumbnails/28.jpg)
Tipos de DadosTipos primitivos do C#
Tipo Framework Class Library (CLR) Descrição
sbyte System.SByte Valor a 8 bits com sinalbyte System.Byte Valor a 8 bits sem sinalshort System.Int16 Valor a 16 bits com sinalushort System.UInt16 Valor a 16 bits sem sinalint System.Int32 Valor a 32 bits com sinaluint System.UInt32 Valor a 32 bits sem sinallong System.Int64 Valor a 64 bits com sinalulong System.UInt64 Valor a 64 bits sem sinalchar System.Char Carácter Unicode a 16 bitsfloat System.Single IEEE 32 bitsdouble System.Double IEEE 64 bitsbool System.Boolean 1 bit (True ou False)decimal System.Decimal float a 128 bits (não é primitivo no CTS)object System.Object Base de todos os tipos string System.String Array de caracteres
![Page 29: POO – Programação Orientada a Objetos Ronny Anderson XNA Natal Academic’s ronnytds@gmail.com Tecnologia em Desenvolvimento de Software CEFET-RN.](https://reader035.fdocumentos.tips/reader035/viewer/2022081520/570638561a28abb8238fb343/html5/thumbnails/29.jpg)
Tipos de DadosTipos Valor: São alocados na pilha(Stack).
São usados para tipos primitivos.Tipos Referência: São alocados na Heap(Managed Heap).
São usados quando há necessidade de manipular um objeto.
Tipo Ponteiro: Podem ser utilizados em código inseguro(unsafe code).
![Page 30: POO – Programação Orientada a Objetos Ronny Anderson XNA Natal Academic’s ronnytds@gmail.com Tecnologia em Desenvolvimento de Software CEFET-RN.](https://reader035.fdocumentos.tips/reader035/viewer/2022081520/570638561a28abb8238fb343/html5/thumbnails/30.jpg)
Tipos de DadosConversões Implícitas:
Ocorrem em atribuições de variáveis ou passagem de parâmetros a métodosAcontece automaticamente(do menor para o maior).
Conversões Explícitas(Cast): Ocorre quando uma variável pode ser mais de um tipo. Não ocorre automaticamente.Necessário colocar o tipo para o qual vai ser convertido entre parênteses.
![Page 31: POO – Programação Orientada a Objetos Ronny Anderson XNA Natal Academic’s ronnytds@gmail.com Tecnologia em Desenvolvimento de Software CEFET-RN.](https://reader035.fdocumentos.tips/reader035/viewer/2022081520/570638561a28abb8238fb343/html5/thumbnails/31.jpg)
Tipos de DadosStruct X ClassStruct(Estrutura):
É tratada como tipo valor.Suporta construtores, constantes, campos, métodos, propriedades, indexadores, operadores e tipos aninhados.Não suporta referências(membros, construtores parametrizados).É um agrupamento de tipos primitivos e/ou compostos.
![Page 32: POO – Programação Orientada a Objetos Ronny Anderson XNA Natal Academic’s ronnytds@gmail.com Tecnologia em Desenvolvimento de Software CEFET-RN.](https://reader035.fdocumentos.tips/reader035/viewer/2022081520/570638561a28abb8238fb343/html5/thumbnails/32.jpg)
Tipos de DadosStruct(Exemplo):
struct Tamanho {
int altura;int largura;
}
![Page 33: POO – Programação Orientada a Objetos Ronny Anderson XNA Natal Academic’s ronnytds@gmail.com Tecnologia em Desenvolvimento de Software CEFET-RN.](https://reader035.fdocumentos.tips/reader035/viewer/2022081520/570638561a28abb8238fb343/html5/thumbnails/33.jpg)
Tipos de DadosClass(Classe):
É tratada como tipo referência.Suporta construtores, constantes, campos, métodos, propriedades, indexadores, operadores e tipos aninhados.Suporta referências.É uma classificação de objetos.
![Page 34: POO – Programação Orientada a Objetos Ronny Anderson XNA Natal Academic’s ronnytds@gmail.com Tecnologia em Desenvolvimento de Software CEFET-RN.](https://reader035.fdocumentos.tips/reader035/viewer/2022081520/570638561a28abb8238fb343/html5/thumbnails/34.jpg)
OperadoresAssim com os tipos de dados, C# oferece um grupo de operadores que nos permitem realizar as mais diversas operações.
![Page 35: POO – Programação Orientada a Objetos Ronny Anderson XNA Natal Academic’s ronnytds@gmail.com Tecnologia em Desenvolvimento de Software CEFET-RN.](https://reader035.fdocumentos.tips/reader035/viewer/2022081520/570638561a28abb8238fb343/html5/thumbnails/35.jpg)
OperadoresCategoria Operadores Aritmética +-*/%Lógica (booleana e bitwise) & | ^! ~ && || true falseConcatenação de string +Incremento e decremento ++ --Shift << >>Relacional = = != <> <= >=Atribuição = += -+ *= /= %= &= |= ^= <<= >>=Acesso a membro .Indexação []Cast ( )Condicional ?:Delegate (concatenação e remoção) + -Criação de objeto newInformação de tipo is sizeof typeof Controle de exceção de overflow Checked uncheckedIndireção e endereço * --> [] &
![Page 36: POO – Programação Orientada a Objetos Ronny Anderson XNA Natal Academic’s ronnytds@gmail.com Tecnologia em Desenvolvimento de Software CEFET-RN.](https://reader035.fdocumentos.tips/reader035/viewer/2022081520/570638561a28abb8238fb343/html5/thumbnails/36.jpg)
OperadoresÉ interessante ressaltar que existe uma precedência entre os operadores.
Categoria OperadoresPrimário (x) x.y f(x) a[x] x++ x– new typeof sizeof checked
uncheckedUnário + - ! ~++x –x (T)xMultiplicativo * / %Aditivo + -Shift << >>Relacional < > <= >= isComparação == !=Lógico AND &Lógico XOR ^Lógico OR |Condicional AND &&Condicional OR ||Condicional ?:atribuição = *= /= %= += -= <<= >>= &= ^= |=
![Page 37: POO – Programação Orientada a Objetos Ronny Anderson XNA Natal Academic’s ronnytds@gmail.com Tecnologia em Desenvolvimento de Software CEFET-RN.](https://reader035.fdocumentos.tips/reader035/viewer/2022081520/570638561a28abb8238fb343/html5/thumbnails/37.jpg)
www.xna.comwww.xna.comwww.nudes.cefetrn.br/xnawww.nudes.cefetrn.br/xna
[email protected]@googlegroups.com