A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Erick Luis Moraes de Sousa

Apresentações semelhantes


Apresentação em tema: "Erick Luis Moraes de Sousa"— Transcrição da apresentação:

1

2 Erick Luis Moraes de Sousa
Tópicos Diversos em C# Erick Luis Moraes de Sousa

3 REVISÃO

4 Revisão Orientação a Objetos: Classe; Objeto/Instância; Método;
- Orientação a Objetos: Classe; Objeto/Instância; Método; Construtor; Propriedade; Herança; Modificadores de Acesso;

5 Adendo Sobrecarga de métodos ( overloading/overriding ):
- Sobrecarga de métodos ( overloading/overriding ): Processo de re-implementação de um método/operador em uma subclasse; Modificadores de Acesso para a herança: Virtual: Métodos/propriedades que possuem o modificador Virtual podem ser re-implementados ao serem herdados por subclasses; Abstract: Métodos/propriedades que possuem o modificador Abstract não precisam ser implementados na superclasse e devem ser obrigatoriamente implementados na subclasse caso a superclasse tenha o modificador abstract; Sealed: Não é possível herdar de uma classe/método/propriedade que esteja com o modificador sealed; Override: Esse modificador de acesso, quando utilizado em uma subclasse, permite re-implementar métodos da superclasse;

6 Objetivos

7 Objetivos Diferença entre valor e referência em C#; Delegates;
Tratamento de Exceções.

8 Teoria Prática

9 Teoria Valor e Referência Conceito Usos Exceções Delegates

10 Conceito Valor: Referência:
Quando uma variável é passada para um método por valor, o sistema operacional cria uma cópia da mesma que é a utilizada pelo método. Modificações nesta cópia não alteram a variável original; Referência: Quando uma variável é passada por referência para um método, o sistema operacional não cria uma cópia. Caso a mesma sofra alguma modificação dentro do método, as mudanças irão se manter e alterar a variável “original”; Objetos são passados como referência por padrão; Structs são passadas como valor por padrão; Keyword específicas: ref , out.

11 Usos Keyword ref: Keyword out:
Um valor é passado como referência e seu valor deve necessariamente ser inicializado; Keyword out: Um valor é passado como referência, porém o seu valor não precisa ser inicializado; Declaração de um método que recebe um inteiro i por referência: public void meuMetodo ( ref int i ) { i++; } Análogo para a keyword out.

12 Utilidades e Motivações
Teoria Valor e Referência Exceções Utilidades e Motivações Try/Catch Delegates

13 Utilidades e Motivações

14 Utilidades e Motivações
Principal objetivo: Verificar erros em tempo de execução que fariam com que o seu programa terminasse de forma inesperada; Um olhar na linguagem C: Não possui tratamento de exceções; Casos excepcionais são tradados a parte: Retorno do Malloc; Tentativa de abrir um arquivo; Divisão por zero; Garante um programa mais robusto e estável!

15 Try/Catch Tenta executar um trecho de código que possa causar uma exceção; Se o código gerar alguma exceção, o programa não é abortado. O mesmo continua a ser executado normalmente; Utilizando o try/catch: try { //Trecho de código que pode gerar a exceção; } catch ( nomeDaExceção nome ) { // Lógica para tratar a exceção };

16 Teoria Valor e Referência Exceções Delegates Descrição Declaração

17 Descrição De forma simplificada, um delegate é uma referência ( um ponteiro ) para um ou mais métodos; Em C, um delegate seria um ponteiro para uma função! Permite que métodos sejam passados como parâmetros em funções; Os parâmetros e o tipo de retorno de um delegate devem ser iguais aos da(s) função(ões) que ele referencia;

18 Declaração Vamos supor que temos uma classe chamada Add, com o seguinte pragma: public float Add ( float a , float b ); Para criar um delegate desse método, fazemos da seguinte maneira: delegate float nomeDoDelegate ( float x , float y ); O nome dos parâmetros não precisa ser o mesmo, apenas os tipos; Instancializando um delegate e atribuindo o método Add: nomeDoDelegate nome = new delegate(new);

19 Teoria Prática

20 Prática Continuar/Começar a implementar o Space Invaders;
Implementar um Breakout; Montar um jogo para participar do campeonato e-games; Implementar um Asteroids; Montar um grupo para desenvolver algum jogo mais complexo.

21 Futuro Escolher o próximo curso;
Sugestões de cursos e tópicos que deveriam ser abordados; Micro-Avaliação de curso online;

22 Agradecimentos public class principal { public abstract void fim(); }
public class palestra : principal public override void fim() Console.WriteLine ( “Obrigado!\n” );


Carregar ppt "Erick Luis Moraes de Sousa"

Apresentações semelhantes


Anúncios Google