Escolar Documentos
Profissional Documentos
Cultura Documentos
Montes Rodrigues-Classes PDF
Montes Rodrigues-Classes PDF
Cadeira:
Cadeira:
Discente:
4
O que e uma Classe?
Uma classe é um plano que define as variáveis e os métodos comuns a todos os objectos de um
determinado tipo. (Ricarte, 2000)
No mundo real, você costuma ter muitos objectos do mesmo tipo. Por exemplo, sua bicicleta é
apenas uma das muitas bicicletas no mundo. Usando a terminologia orientada a objectos,
dizemos que seu objecto de bicicleta é uma instância da classe de objectos conhecida como
bicicleta. As bicicletas têm algum estado (marcha actual, cadência actual, duas rodas) e
comportamento (mudança de marcha, freio) em comum. No entanto, o estado de cada bicicleta é
independente e pode ser diferente do de outras bicicletas.
No software orientado a objectos, também é possível ter muitos objectos do mesmo tipo que
compartilham características: rectângulos, registros de funcionários, videoclipes etc. Como os
fabricantes de bicicletas, você pode tirar proveito do fato de que objectos do mesmo tipo são
semelhantes e criar um modelo para esses objectos. Um plano de software para objectos é
chamado de classe.
Atributos
Nome: um identificador para o atributo.
Métodos
Métodos são porções de códigos que podem ser executados por outros códigos. São comuns em
qualquer linguagem, disponibilizando aproveitamento de funcionalidades entre diferentes partes
de um mesmo código, alem de interagirem com objetos. Alguns exemplos de métodos é o click
do botão, o load do formulário, etc. A criação básica de um método segue a sintaxe:
(Sincic, 2010)
Sub NomeDoMétodo(ListaDeParametros)
5
instruções
End Sub
Neste momento não estaremos diferenciando escopo, o que será analisado no módulo 6.
A palavra chave Sub indica que o método não retorna dados, ele apenas processa. Caso o método
deva retornar um valor, por exemplo, no local de Sub se usaria Function. A chamada de um
método é feita por colocar o nome mais a lista de parâmetros que ele contenha. Nos exemplos
abaixo isto será demonstrado.
O exemplo abaixo cria um método Iniciar e um método Mostrar que imprime na tela o valor
corrente de uma variável:
Contador += 1
Mostrar()
End Sub
Método Mostrar
Contador += 1
Console.WriteLine(Contador.ToString())
End Sub
Neste exemplo o método Iniciar utiliza uma variável chamada Contador que contem um número
inteiro compartilhado. Após somar mais um na variável o método Iniciar chama o método
Mostrar que utiliza a mesma variável Contador. Isto é possível porque métodos compartilhados
só criam e enxergam variáveis do tipo compartilhadas.
Variáveis compartilhadas são aquelas que ao serem criadas só deixam de existir quando a classe
onde foram criadas são fechadas. Este tipo de variável não pode ser utilizado fora da classe em
que foram criadas.
6
Métodos Compartilhados com Retorno
Reescrevendo o código anterior agora retornando um valor, o nosso exemplo ficaria:
Contador += 1
Resultado = Mostrar()
End Sub
Try
Contador += 1
Return True
Catch
Return False
End Try
End Sub
Neste exemplo podemos notar que a função Mostrar não é mais sub e sim function,
indicando que agora ela tem como saída, ou retorno a quem a chamou, um valor verdadeiro ou
falso (Boolean), indicando que o método executou ou não com sucesso. Da mesma maneira,
notamos mudanças no método Mostrar que dentro do Try retorna um True indicando que não
ocorreu erro ou, caso ocorra erro, retornando False.
Este valor permite ao método Iniciar que fez a chamada saber se o código interno da
função Mostrar executou correctamente ou não. Note que no exemplo do método foi utilizada a
instrução Return que tem a função de fechar o método. Caso após o Return ainda existissem
linhas de código, estas seriam ignoradas, pois o método teria terminado.
(Sincic, 2010)
Objecto
7
variável no paradigma de programação convencional. Por exemplo, quando define-se uma
variável do tipo int em C ou em Java, essa variável tem:
Da mesma forma, quando se cria um objecto, esse objeto adquire um espaço em memória
para armazenar seu estado (os valores de seu conjunto de atributos, definidos pela classe) e
um conjunto de operações que podem ser aplicadas ao objeto (o conjunto
de métodos definidos pela classe).
(Ricarte I. , 2002)
1. Classe Console:
A classe Console fornece suporte básico para aplicativos que lêem e gravam caracteres no
console.
O console é uma janela do sistema operacional em que os usuários interagem com o sistema
operacional ou com um aplicativo de console baseado em texto inserindo entrada de texto através
do teclado do computador e lendo a saída de texto do terminal do computador. Por exemplo, no
sistema operacional Windows, o console é chamado de janela Prompt de Comando e aceita
comandos do MS-DOS. (microsoft, 2020)
Fluxos de E / S do console
8
representam uma janela do console. No entanto, você pode definir essas propriedades para fluxos
que não representam a janela ou o teclado do console; por exemplo, você pode definir essas
propriedades para fluxos que representam arquivos.
Para redireccionar a entrada padrão, a saída padrão ou o fluxo de erros padrão, chame
o Console.SetIn , Console.SetOut ou Console.SetErrormétodo, respectivamente. As operações de
E / S que usam esses fluxos são sincronizadas, o que significa que vários segmentos podem ler
ou gravar nos fluxos. Isso significa que os métodos normalmente assíncronos,
como TextReader.ReadLineAsync , são executados de forma síncrona se o objeto representar um
fluxo do console.
Dois recursos intimamente relacionados ao console são o buffer de tela e a janela do console. Na
verdade, o texto é lido ou gravado nos fluxos pertencentes ao console, mas parece ser lido ou
gravado em uma área pertencente ao console chamada buffer de tela. O buffer de tela é um
atributo do console e é organizado como uma grade retangular de linhas e colunas em que cada
intersecção da grade, ou célula de caractere, pode conter um caractere. Cada caractere tem sua
própria cor de primeiro plano e cada célula de caractere tem sua própria cor de fundo.
Operações Comuns
A classe Console contém os seguintes métodos para ler a entrada do console e gravar a saída do
console:
A classe Console também contém métodos e propriedades para executar as seguintes operações:
9
altura e a largura da janela, respectivamente, e o método SetWindowSize permite definir
o tamanho da janela em uma única chamada de método.
II. Obtenha ou defina o tamanho do cursor. A propriedade CursorSize especifica a altura do
cursor em uma célula de caracteres.
III. Obtenha ou defina a posição da janela do console em relação ao buffer de
tela. Os WindowTop e WindowLeft propriedades permitem que você obter ou definir a
linha superior e coluna mais à esquerda do buffer de tela que aparece na janela do
console, eo SetWindowPosition método permite definir esses valores em uma única
chamada de método.
IV. Obter ou definir a posição do cursor por obter ou definir
as CursorTop e CursorLeft propriedades, ou definir a posição do cursor chamando
o SetCursorPosition método.
V. Mova ou limpe dados no buffer de tela chamando o método MoveBufferArea ou Clear .
VI. Obtenha ou defina as cores de primeiro plano e plano de fundo usando
as propriedades ForegroundColor e BackgroundColor ou redefina o plano de fundo e o
primeiro plano com as cores padrão chamando o método ResetColor .
VII. Reproduza o som de um sinal sonoro através do alto-falante do console chamando
o método Beep .
Métodos
10
Erro padrão aberto (Int32) Adquire o fluxo de erro padrão, definido como um tamanho de buffer
especificado.
Entrada padrão aberta () Adquire o fluxo de entrada padrão.
Entrada padrão aberta (Int32) Adquire o fluxo de entrada padrão, definido como um tamanho de buffer
especificado.
Ler () Lê o próximo caractere do fluxo de entrada padrão.
Chave de leitura () Obtém o próximo caractere ou tecla de função pressionada pelo usuário. A
tecla pressionada é exibida na janela do console.
Chave de leitura (booleana) Obtém o próximo caractere ou tecla de função pressionada pelo usuário. A
tecla pressionada é opcionalmente exibida na janela do console.
Linha de leitura () Lê a próxima linha de caracteres do fluxo de entrada padrão.
Redefinir cor () Define as cores do primeiro plano e do console de segundo plano com seus
padrões.
Definir tamanho do buffer (Int32, Define a altura e a largura da área do buffer da tela para os valores
Int32) especificados.
2. Class Math
int abs(int a); int min(int a, int b); int max(int a, int b);
long abs(long a); long min(long a, long b); long max(long a, long b);
float abs(float a); float min(float a, float b); float max(float a, float b);
double abs(double a); double min(double a, double b); double max(double a, double b);
Métodos Math
Método Descrição
11
Math.max () Retorna o maior dos dois valores.
Math.round () É usado para arredondar os números decimais para o valor mais próximo.
Math.ceil () É usado para encontrar o menor valor inteiro maior ou igual ao argumento ou número inteiro
matemático.
Math.copySign () É usado para encontrar o valor absoluto do primeiro argumento junto com o sinal
especificado no segundo argumento.
Math.nextAfter () É usado para retornar o número de ponto flutuante adjacente ao primeiro argumento na
direção do segundo argumento.
Math.floor () É usado para encontrar o maior valor inteiro que é menor ou igual ao argumento e é igual ao
número inteiro matemático de um valor duplo.
Math.floorDiv () É usado para encontrar o maior valor inteiro que é menor ou igual ao quociente algébrico.
Math.random () Retorna um valor duplo com um sinal positivo, maior ou igual a 0,0 e menor que 1,0.
Math.rint () Retorna o valor duplo mais próximo do argumento fornecido e igual ao número inteiro
matemático.
Math.IEEEremainder É usado para calcular a operação restante em dois argumentos, conforme prescrito pelo
() padrão IEEE 754 e retorna o valor.
Math.addExact () É usado para retornar a soma de seus argumentos, lançando uma exceção se o resultado
12
exceder um valor int ou longo.
Math.subtractExact () Retorna a diferença dos argumentos, lançando uma exceção se o resultado exceder um valor
int.
Math.multiplyExact É usado para retornar o produto dos argumentos, lançando uma exceção se o resultado
() exceder um valor int ou longo.
Math.incrementExact Retorna o argumento incrementado por um, lançando uma exceção se o resultado exceder
() um valor int.
Math.decrementExact É usado para retornar o argumento decrementado por um, lançando uma exceção se o
() resultado exceder um valor int ou longo.
Math.negateExact () É usado para retornar a negação do argumento, lançando uma exceção se o resultado
exceder um valor int ou longo.
Math.toIntExact () Retorna o valor do argumento longo, lançando uma exceção se o valor exceder um valor int.
I. Métodos logarítmicos
Método Descrição
Math.exp () Ele retorna E elevado à potência de um valor duplo, onde E é o número de Euler e é
aproximadamente igual a 2,71828.
13
II. Métodos Trigonométricos
Método Descrição
Math.sin () É usado para retornar o valor trigonométrico do seno de um valor duplo dado.
Math.cos () É usado para retornar o valor trigonométrico do cosseno de um dado valor duplo.
Math.tan () É usado para retornar o valor trigonométrico da tangente de um valor duplo dado.
Math.asin () É usado para retornar o valor trigonométrico Arc Sine de um dado valor duplo
Math.acos () É usado para retornar o valor trigonométrico do arco cosseno de um valor duplo dado.
Math.atan () É usado para retornar o valor trigonométrico da tangente do arco de um valor duplo dado.
Método Descrição
Math.sinh () É usado para retornar o valor trigonométrico do cosseno hiperbólico de um dado valor
duplo.
Math.tanh () É usado para retornar o valor da tangente hiperbólica trigonométrica de um valor duplo
dado.
Método Descrição
Math.toDegrees É usado para converter o ângulo especificado em Radianos em ângulo equivalente medido em
graus.
Math.toRadians É usado para converter o ângulo de Graus especificado em ângulo equivalente medido em
Radianos.
14
3. Classe Random
Representa um gerador de números pseudo-aleatórios, que é um algoritmo que produz
uma sequência de números que atendem a certos requisitos estatísticos de aleatoriedade.
(microsoft, 2020)
Um dispositivo que produz uma sequência de números que atendem a certos requisitos
estatísticos de aleatoriedade. O método Next () na classe Random retorna
um número aleatório não negativo.
Exemplo:
15
for (int ctr = 0; ctr <= 4; ctr++)
Console.Write("{0,8:N3}", rand.NextDouble() * 5);
// Saida do programa:
// Five random byte values:
// 194 185 239 54 116
// Five random integer values:
// 507,353,531 1,509,532,693 2,125,074,958 1,409,512,757 652,767,128
// Five random integers between 0 and 100:
// 16 78 94 79 52
// Five random integers between 50 and 100:
// 56 66 96 60 65
// Five Doubles.
// 0.943 0.108 0.744 0.563 0.415
// Five Doubles between 0 and 5.
// 2.934 3.130 0.292 1.432 4.369
Metodo Random.Next
Random.Next gera um número aleatório cujo valor varia de 0 a menor
que Int32.MaxValue . Para gerar um número aleatório cujo valor varia de 0 a algum outro
número positivo, use o sobrecarga do método Random.Next (Int32) . Para gerar um número
aleatório dentro de um intervalo diferente, use a sobrecarga do método Random.Next (Int32,
Int32) .
Sobrecargas
Próximo (Int32) Retorna um número inteiro aleatório não negativo que é menor que o
máximo especificado.
Próximo (Int32, Int32) Retorna um número inteiro aleatório que está dentro de um intervalo
especificado.
Metodo Random.NextBytes
Preenche os elementos de uma matriz especificada de bytes com números aleatórios.
Cada elemento da matriz de bytes é definido como um número aleatório maior ou igual a 0 e
menor ou igual a MaxValue .
Por exemplo, para gerar um número aleatório protegido por criptografia, adequado para criar
uma senha aleatória, use um método como RNGCryptoServiceProvider.GetBytes.
16
Exemplo
O exemplo a seguir demonstra como usar o método NextBytes para preencher uma matriz de
bytes com valores de bytes aleatórios.
rnd.NextBytes(b);
// 0: 131
// 1: 96
// 2: 226
// 3: 213
// 4: 176
// 5: 208
// 6: 99
// 7: 89
// 8: 226
// 9: 194
Metodo Ramdom.NextDouble
Retorna um número aleatório de ponto flutuante maior ou igual a 0,0 e menor que 1,0.
17
O limite superior real do número aleatório retornado por este método é 0,99999999999999978.
Para recuperar valores aleatórios de ponto flutuante dentro de um intervalo diferente de 0,0 e 1,0,
consulte a seção "Recuperar valores de ponto flutuante em um intervalo especificado" do tópico
Classe aleatória .
Exemplo:
double number;
number = rnd.NextDouble();
// 0.00-0.09 16
// 0.10-0.19 8
// 0.20-0.29 8
// 0.30-0.39 11
// 0.40-0.49 9
18
// 0.50-0.59 6
// 0.60-0.69 13
// 0.70-0.79 6
// 0.80-0.89 9
// 0.90-0.99 14
Para produzir uma distribuição aleatória diferente ou um princípio gerador de número aleatório
diferente, derive uma classe da classe Random e substitua o método Sample .
4. Collection Classe
Classes de colecção são classes especializadas param armazenamento e recuperação de
dados. Essas classes fornecem suporte para pilhas, filas, listas e tabelas de hash. A
maioria das classes de colecção implementa as mesmas interfaces.
19
Usando uma colecção simples
Os exemplos nesta seção usam a classe List <T> genérica, que permite trabalhar com uma lista de
objectos fortemente tipada.
O exemplo a seguir cria uma lista de cadeias e itera através das cadeias usando
uma instrução For Each ... Next .
salmons.Add("chinook")
salmons.Add("coho")
salmons.Add("pink")
salmons.Add("sockeye")
Next
O exemplo a seguir é igual ao exemplo anterior, exceto que um inicializador de coleção é usado
para adicionar elementos à colecção.
Next
20
Conclusão
Nos enchergamos que as classes são muito importantes para criação de um programa, pois as
classes que foram abordadas dentro do trabalho são classes que já vieram incutidas dentro das
linguagens de programação, que facultam o tempo do programador a usar diversas funções, ex: a
class math que nos possibilita a fazer cálculos normais a complexos.
Existem varias classes/bibliotecas que tem como objectivo facultar a vida do programador mas
no trabalho abordamos somente 4 como nos podemos ver.
21
Bibliografia
Markes, I. (25 de 2003). unicamp. Obtido de classe Math:
http://www.dca.fee.unicamp.br/cursos/PooJava/classes/clsmath.html
22