Programação Orientada a Objetos (utilizando C#) Professor Emiliano S. Monteiro Versão 12 Out/2016.

Documentos relacionados
Atributos e Métodos Estáticos

Linguagem de Programação II Implementação

Classes e Objetos. Sintaxe de classe em Java

Prof. A. G. Silva. 06 de setembro de Prof. A. G. Silva INE5603 Introdução à POO 06 de setembro de / 1

Programação Orientada a Objetos SANTOS, Rafael (PLT)

Programação Estruturada e Orientada a Objetos REVISÃO

Programação Orientada a Objetos (utilizando C#) Professor Emiliano S. Monteiro Versão 12 Out/2016.

Tipos, Literais, Operadores

Tipos, Literais, Operadores

Tratamento de Exceção. Programação Orientada a Objetos Java (Rone Ilídio)

Encapsulamento e Métodos (Construtores e Estáticos) João Paulo Q. dos Santos

Paradigmas de Programação. Java First-Tier: Aplicações. Orientação a Objetos em Java (I) Nomenclatura. Paradigma OO. Nomenclatura

Lista 05 Herança. public class PessoaFisica extends Pessoa { private String RG; public PessoaFisica(){ super(); } public String getrg(){ return RG; }

Universidade de Mogi das Cruzes Implementação Orientada a Objetos - Profª. Danielle Martin. Guia da Sintaxe do Java

UNIVERSIDADE FEDERAL DE MATO GROSSO DO SUL SISTEMAS DE INFORMAÇÃO - CÂMPUS DE COXIM FUNDAMENTOS EM ORIENTAÇÃO A OBJETOS

Programação Orientada a Objetos. Vagner Luz do Carmo - Vluzrmos

Orientação a objetos. Programação. Orientada a Objetos. Orientação a objetos. Orientação a objetos. Abstração e encapsulamento

Recapitulando. Construtores: (Overload assinatura) public Circle() {...} public Circle(double x, double y, double r) {... }

Tratamento de Exceções

Linguagem de programação Programação Orientada a objetos

Linguagem de Programação III

Prof. Emiliano S. Monteiro

PROGRAMAÇÃO ORIENTADA A OBJETOS: OCULTAR INFORMAÇÕES E ENCAPSULAMENTO

Interfaces. Universidade Católica de Pernambuco Ciência da Computação. Prof. Márcio Bueno.

Programação Orientada a Objetos. Métodos e Atributos. Métodos. Métodos. Alexandre César Muniz de Oliveira. Parte III

Programação Orientada a Objetos. Aula 1.9 this e static. Prof. Bruno Moreno

Implementando classes em C# Curso Técnico Integrado em Informática Fundamentos de Programação

Relacionamentos entre objetos

Namespaces, Classes e Métodos.

CONTEÚDO PROGRAMÁTICO

Laboratório de programação II

INF1636 PROGRAMAÇÃO ORIENTADA A OBJETOS

INF1337 LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS

Prof. Rogério Albuquerque de Almeida. Programação Orientada a Objetos II JAVA Décima Segunda Aula

Fundamentos de Programação. Linguagem C++ Introdução, identificadores, tipos de dados. Prof. Bruno E. G. Gomes IFRN

AULA 6 - ARRAYS. Array de 10 elementos

Análise de Programação

Programação Orientada a Objetos

Linguagem de Programação II Implementação

MsC. João Maria MsC. Liviane Melo

Introdução a classes e objetos. Prof. Marcelo Roberto Zorzan Prof a. Rachel Reis

Programação por Objectos. Java

Linguagem de Programação Orientada a Objeto Abstração - Encapsulamento

Classe Interna (Inner)

Introdução. LP OO desenvolvida pela Sun no início da década de 90 com sintaxe semelhente a C\C++. C C++.

Classes, Métodos e Propriedades

Herança. Prof. Fernando V. Paulovich 23 de agosto de 2010

9 Classes Abstractas e Interfaces

Exceções. Criando suas exceções

Instituto Federal de Educação, Ciência e Tecnologia do Ceará IFCE Programa Educacional Brasileiro de Desenvolvimento para ios BEPiD PROVA OBJETIVA

Fundamentos de Programação Java. Professor Vicente Paulo de Camargo

Introdução. Universidade Federal de Uberlândia. Programação Orientada a Objetos. Prof. Fabiano Dorça

Conceitos Básicos da Programação OO

CONCEITOS BÁSICOS DE ORIENTAÇÃO A OBJETOS PROF. ME. HÉLIO ESPERIDIÃO

Programação Orientada a Objetos II

PROGRAMAÇÃO ORIENTADA A OBJETOS I. Prof. Me. Hélio Esperidião

Lição 7 Array em Java

Java Básico. Carga Horária: 32 horas. Pré-requisito: Lógica de Programação; JAVA. Conteúdo Programático

Programação Orientada a Objetos JAVA - NETBEANS

Programação científica C++

3. Linguagem de Programação C

Programação Orientada a Objetos Aula I Declaração de classes, métodos construtores. Prof.: Bruno E. G. Gomes IFRN

Programação Orientada a Objectos - P. Prata, P. Fazendeiro

Java - Sobrecarga/Composição

Programação Estruturada e Orientada a Objetos

Programação Orientada a Objetos em Java

Módulo 5. Programação Orientada a Objetos. Programação Orientada a Objetos I Java (Rone Ilídio)

Arrays e Marizes. João Paulo Q. dos Santos

Esta categoria mais geral, à qual cada objeto pertence, denominamos de classe; IFSC/POO + JAVA - prof. Herval Daminelli

Programação de Computadores II TCC /Turma A 1

Introdução a Programação. Ponteiros para Estruturas, Outros Tipos de Estruturas

Notas de Aula 09: Tratamento de exceções

Exceções. Profa. Patrícia A. Jaques Slides alterados por Leandro Tonietto Mar-12. quarta-feira, 21 de março de 12

Orientação a Objetos e Java

Programação Orientada a Objetos SANTOS, Rafael

Idiomas de Programação

Instituto Superior de Engenharia de Lisboa

Instituto de Informática Estrutura de Dados II

Classes e Objetos em Java. Algoritmos e Programação I. Classes. Classes. Modificadores de Acesso. Classes. Revisão

Linguagem de Programação Orientada a Objeto Polimorfismo, Classes Abstractas e Interfaces

Introdução a classes e objetos. Prof. Marcelo Roberto Zorzan

Estruturas de Condição, Iteração, Arrays e Enumareção

Lição 11 Herança, polimorfismo e interfaces

Csharp. Teresa do Carmo

Programação Estruturada e Orientada a Objetos. Estruturas Aninhadas

Módulo 03. Identificadores, Palavras Reservadas, e Tipos

Vejamos o seguinte exemplo public class Exemplo private int testada = 20; public void testapalavra(int testada) JOptionPane.showMessageDialog(null,"Pa

Atualização Técnica e Pedagógica de Professores no componente de Lógica de Programação com C# (console) Semana 6 Programação Orientada a Objetos

//conteúdo do arquivo pacote.h

Interfaces e Classes Abstratas

Classes e Objetos INTRODUÇÃO À ORIENTAÇÃO A OBJETOS COM JAVA - MÓDULO II. Classes. Objetos. Um modelo para a criação de objetos

Singleton. Como a maioria dos programadores organizaria o código para acessar informação de configuração? Eis um exemplo:

CA: Cidade: UF CARTÃO RESPOSTA QUESTÃO RESPOSTA QUESTÃO RESPOSTA A F B G C H D I

Programação C# + ASP.NET

Agenda. O que é um array. Declaração de um array. Instanciação de um array. Acessando os elementos de um array. O tamanho de um array (length)

Programação Orientada por Objectos 2010/11. 2º Exame 28 de Junho de 2011

Transcrição:

Programação Orientada a Objetos (utilizando C#) Professor Emiliano S. Monteiro Versão 12 Out/2016

3.18. Arranjos/Array - Unidimensional Declaração de arranjos: <tipo[]> <nome> = <new tipo [dimensão]>; Cada elemento do arranjo deve ser acessado independentemente. Representação: Indice Dia Temperatura Int[] Temp = new int[4]; 0 Segunda 30 1 Terça 31 2 Quarta 32 3 Quinta 31

3.18. Arranjos - Unidimensional Exercício 15 Indice Dia Temperatura 0 Segunda 30 1 Terça 31 2 Quarta 32 3 Quinta 31... static void Main(string[] args) int[] Temp = new int[4]; int I; // preenche com os valores for (I = 0; I <= 3; I++) Console.Write("Digite a temperatura para o dia da semana 0 temperatura: ", I + 1); Temp[I] = int.parse(console.readline());... // escreve os valores for (I = 0; I <= 3 ; I++) Console.Write(" No dia 0 ", I); Console.Write(" a temperatura foi 0. ", Temp[I]); Console.WriteLine(); Console.Write("Pressione ENTER para fechar."); Console.ReadKey();

3.18. Arranjos - Unidimensional Exercício 42

3.19. Arranjos - Multidimensional Exercício 18 // Um vetor de duas dimensoes int[,] vetor2d = new int[,] 1, 2, 3, 4, 5, 6, 7, 8 ; // Um vetor de duas dimensoes com dimensoes especificadas int[,] vetor2da = new int[4, 2] 1, 2, 3, 4, 5, 6, 7, 8 ; // Mostrando os elementos de um vetor System.Console.WriteLine("Posicao 0x0: 0 ", vetor2d[0, 0]); System.Console.WriteLine("Posicao 0x1: 0 ", vetor2d[0, 1]); System.Console.WriteLine("Posicao 1x0: 0 ", vetor2d[1, 0]);

3.20. Estrutura de registro Sintaxe: Struct [<nome_do_identificador>] <qualificador> <lista de tipos de seus membros>; ; <nome identificador> <variável>; Exemplo vetorial struct Carro public string Modelo; public string Placa; public string Ano; Carro Veiculo = new Carro[2]; Exemplo de acesso simples struct Carro public string Modelo; public string Placa; public string Ano; Carro Veiculo;

Exercício 16

3.21. Enumeração enum diassemana segunda, terca, quarta, quinta, sexta, sabado, domingo Exercício 19 public class enumerados public enum diassemana segunda, terca, quarta, quinta, sexta, sabado, domingo public void dias(diassemana nomedia) switch (nomedia) case diassemana.segunda: Console.WriteLine("1. Segunda"); break; case diassemana.terca: Console.WriteLine("2. Terca"); break; case diassemana.quarta: Console.WriteLine("3. Quarta"); break; case diassemana.quinta: Console.WriteLine("4. Quinta"); break; throw new Exception("Dias invalidos!"); class Program static void Main(string[] args) enumerados enum1 = new enumerados(); enum1.dias(enumerados.diassemana.segunda); Console.ReadKey();

3.22. Tratamento de erros Exercício 17 Try O código que PODERÁ gerar erro Catch (Exceção Tipo) Código para o tratamento da exceção Finally Código para finalização class Program static void Main(string[] args) try int val = 100; int div = 0; int resultadoval; resultadoval = (val / div); Console.WriteLine(); Console.WriteLine("Resultado : " + resultadoval); Console.WriteLine(); catch (System.Exception ex) Console.WriteLine(); Console.WriteLine("Detalhes da execcao...: " + ex.tostring()); Console.WriteLine(); finally Console.WriteLine(); Console.WriteLine("Bloco de finalizacao "); Console.WriteLine(); Console.ReadKey();

3.23. Códigos em vários arquivos New Item... Exercício 20

3.23. Códigos em vários arquivos Exercício 20

3.23. Códigos em vários arquivos Exercício 20

3.23. Códigos em vários arquivos Exercício 20

3.23. Códigos em vários arquivos Existing Item... Exercício 20

3.23. Códigos em vários arquivos Exercício 20

3.23. Códigos em vários arquivos Troque o Namespace! ATENÇÃO: ALTERE NOME PARA STRING! Exercício 20

3.23. Códigos em vários arquivos Exercício 20

3.24. Conversão de tipos Exercício 21

3.25. Break points É um ponto de parada na execução dos códigos de um programa. Esse ponto de para é inserido em tempo de projeto pelo programador imediatamente antes da parte do código de interesse que se deseja ser investigada ou que pode estar apresentando problemas. Os breakpoints pode ser: inseridos, desabilitados ou deletados pelo programador. Para inserir um break point, clique no código com o botão da direita Breakpoint insert breakpoint. Exercício 21

3.25. Break points Este círculo vermelho indica que o breakpoint foi implementado. Exercício 21

3.25. Break points Exercício 21

3.25. Break points Debug Continue (ou F5) para continuar após o break point Exercício 21

3.26. Trabalhando com strings Exercício 22

3.27. Trabalhando com arquivos - Classes Em todos os programas que usem as classes a seguir deve incluir: using System.IO;

3.27. Trabalhando com arquivos Exercício 29

3.27. Trabalhando com arquivos Exercício 32

3.27. Trabalhando com arquivos Exercício 33

3.27. Trabalhando com arquivos Exercício 34

3.27. Trabalhando com arquivos - DriveInfo Exercício 35

3.27. Trabalhando com arquivos Exercício 36

3.28. Métodos matemáticos Exercício 23

Fim da parte 3!

Parte 4: Programação orientada a objeto com C# (utilizando C#) Professor Emiliano S. Monteiro

4.1. Classe em C# - Definição Definição de classe: public class Cliente //Atributos e métodos Criando um objeto: Cliente Ana = new Cliente();

4.1.1. Definição de atributos class Pessoa string Nome; int Idade; Int NotaDeIngles; int NotaDeRedacao; int DescontoMensalidade = 300 string Curso; // Definição e inicialização/atribuição

4.1.2. Definição de Métodos <tipo de retorno> <nome do método> (<tipo de dado> <identificador>, <tipo de dado> <identificador>,...) // corpo do método Exemplo: int EncontrarSomatoria(int Numero1, int Numero2) int soma = Numero1 + Numero2; return soma;

4.1.3. Tipos de classe no C# Abstract: Uma classe abstrata significa que, nenhum objeto desta classe pode ser instanciado, mas pode fazer a derivação deste. Ele pode servir ao propósito de classe base apenas quando nenhum objeto desta classe pode ser criado. Classe abstrata é denotado pela palavra-chave abstract. Partial: Este tipo especial de classe chamada "classe parcial" foi introduzido com o.net Framework 2.0. Classe parcial permite aos seus membros - método, propriedades e eventos - a serem divididos em vários arquivos de origem (cs). Em tempo de compilação esses arquivos são combinados em uma única classe. Classe parcial é indicado pela palavra-chave partial.

4.1.3. Tipos de classe no C# Sealed: Uma classe selada é uma classe que não pode ser herdada. Uma classe selada não pode ser uma classe base. O resumo modificador não pode ser aplicado a uma classe selada. Por padrão, struct (estrutura) está selado. É a última classe na hierarquia. Para acessar os membros de uma classe selada, você deve criar objetos dessa classe. Classe selada é denotado pela palavra-chave sealed. Static: Uma classe estática é uma que não pode ser instanciada. A nova palavra-chave não pode ser usada com classes estáticas como membros dessa classe pode ser chamado diretamente usando o próprio nome da classe. A classe estática só pode ter membros estáticos. A classe estática não pode ser instanciada. A classe estática é selada, por isso não pode ser herdada. A classe estática não pode ter um construtor (exceto construtor estático). A classe estática é denotada pela palavra-chave static.

4.1.4. Instanciação de classes (criando objetos) Exemplo 1: Cliente Ana = new Cliente(); Exemplo 2: Cliente Ana; Ana = new Cliente(); Esta forma é similar a instanciação e atribuição de valores em variáveis: int i; i = 4; O exemplo 1 e o exemplo 2 são equivalentes!! No exemplo 2, a primeira linha apenas declara uma referência de Ana para o tipo Cliente, o qual até o momento não contém nenhum objeto, apenas aponta para o valor null, se tentar acessar uma propriedade resultará em erro.

4.1.5. Acessando os membros de uma classe class aluno //--- definicao de campos ------------------ string nome; int idade; int notamat; int notabio; int notaport; int totalnotas = 3; int notaobtida; double porcentagem; static void Main(string[] args) //--- criacao de uma nova instancia de Aluno ---- aluno aluno1 = new aluno(); //--- definindo valores para os campos ---- aluno1.nome = "Bill"; aluno1.idade = 20; aluno1.notamat = 80; aluno1.notabio = 70; aluno1.notaport = 85; Exercício 200 //--- definicao de metodos --------------------- void calculatotalnotas() notaobtida = notamat + notabio + notaport; double CalculaPorcentagem() porcentagem = (notaobtida * totalnotas) / 100; return porcentagem; double obterporcentagem() return porcentagem; //--- chamando as funcoes aluno1.calculatotalnotas(); aluno1.calculaporcentagem(); aluno1.obterporcentagem(); Console.WriteLine(" 0 de 1 idade tem 2% notas", aluno1.nome, aluno1.idade, aluno1.porcentagem); Console.ReadKey(); // finaliza Main // finaliza a classe aluno

4.1.5. Acessando os membros de uma classe Exercício 200

4.1.5.1. Modificadores de acesso Modificadores de acesso private protected internal internal protected public Descrição Membros privados podem acessar somente dentro da classe que os contém. Este tipo de membro pode ser acessado do projeto atual ou de qualquer tipo herdado da classe a qual esta contido. Só pode ser acessado no projeto atual. Pode ser acessado da classe a qual é contido e tipos herdados da classe a qual é contido. Não possuem restrição acesso a qualquer um, qualquer um pode ver e acessá-los.

É recomendado marcar todos os seus campos como privados e permitir que os usuários de sua classe tenham acesso apenas aos métodos públicos. Por exemplo, na classe estudante os campos seriam privados e os métodos públicos. Se você não marcar nenhum membro da classe como modificadores de acesso, eles serão tratados como membros privados. Modifique o exercício anterior para que com atributos privados e métodos públicos.