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

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

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

Apresentações semelhantes


Apresentação em tema: "Tópicos Diversos em C# Erick Luis Moraes de Sousa"— Transcrição da apresentação:

1

2 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; – Construtor; – Propriedade; – Herança; – Modificadores de Acesso;

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

8 TeoriaPrática

9 Teoria Valor e Referência ConceitoUsosExceçõesDelegates

10 Conceito 10 Valor: 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 11 Keyword ref: – 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 Teoria Valor e Referência Exceções Utilidades e Motivações Try/CatchDelegates

13 Utilidades e Motivações 13

14 Utilidades e Motivações 14 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 15 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çõesDelegatesDescriçãoDeclaração

17 Descrição 17 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 18 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 TeoriaPrática

20 Prática 20 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 21 Escolher o próximo curso; Sugestões de cursos e tópicos que deveriam ser abordados; Micro-Avaliação de curso online;

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


Carregar ppt "Tópicos Diversos em C# Erick Luis Moraes de Sousa"

Apresentações semelhantes


Anúncios Google