Conceito de Método(Parse) e Namespace
- #C#
A linguagem C#, por operar no paradigma da orientação a objetos, segue uma estrutura operacional, de certa forma parecida em alguns pontos, não em todos, com programação estruturada. As linguagens orientadas a objetos usam rotinas de ação denominadas métodos(ou funções membros, dependendo da linguagem em uso) que nada mais são do que similares em programação estruturada denominadas sub-rotinas, funções, procedimentos, módulos ou subprogramas.
O método é baseado em um trecho de código de programa que seja independente de qualquer parte do programa e possui atribuições bem definidas. Os métodos são um conjunto de instruções que efetuam uma tarefa específica. De modo geral, os métodos podem receber valores de entrada(parâmetros) e gerar um valor de saída, denominada valor de retorno. Um método pode ser interno ou externo:
- Um método é considerado interno quando faz parte dos recursos internos do compilador. O conjunto dos métodos e até de classes internos forma o chamado namespace, que acompanha o compilador propriamente dito e é disponibilizado pelo comando using.
- Um método é considerado externo quando é desenvolvido e implementado por um programador e/ou desenvolvedor, formando assim uma biblioteca particular de namespaces com recursos próprios.
A utilização do método torna o trabalho de desenvolvimento com linguagem C# algo bastante versátil, já que:
- Em termos de modularidade, tem-se o programa dividido em vários módulos, e em cada módulo desempenha uma ação particular. Essa estratégia de programação facilita a manutenção dos programas construídos.
- O programador torna-se capaz de criar seus próprios pacotes de métodos pessoais, o que faz com que a programação torne-se mais eficiente, porque é possível aproveitar códigos de programa que já foram testados e revisados anteriormente (sendo este um dos conceitos básicos que norteiam o trabalho de desenvolvimento com programação orientada a objetos), os quais podem ser usados sem problemas em novos programas.
No geral, problemas complexos exigem algoritmos complexos, mas sempre é possível dividir um problema grande em problemas menores. Desta forma, cada parte menor tem um algoritmo mais simples, e é esse trecho menor que na linguagem C# pode se tornar um método.
Quando um método é chamado por um programa principal (ou por outra rotina ou mesmo sub-rotina), ele é executado e ao término, o controle de processamento do programa retorna automaticamente para primeira linha de instrução após a linha que efetuou a chamada método em questão.
Na linguagem C# é possível desenvolver três formas de comportamento para um método. O primeiro quando o método é executado e não retorna nenhum valor para a rotina chamadora, o segundo quando o método tem a capacidade de retornar apenas um valor a função chamadora, e por último quando um método trabalha com passagem de parâmetros por valor e por referência.
Um pacote de métodos,ou seja, um namespace é um conjunto de recursos predefinidos existentes em um local para serem usados pelo programador e/ou desenvolvedor. Os recursos podem ser utilizados a partir do comando using seguido do nome do namespace.
Outro detalhe usado é o método Parse() anexado ao tipo double, usado para converter a entrada do valor fornecido pelo teclado em seu equivalente real que é do tipo da variável em uso. A entrada de dado via teclado é capturada pelo método ReadLine( ) como sendo uma sequência alfanumérica. Daí a necessidade de converter a entrada no formato da variável que vai armazenar o valor.
O método Parse( ) pode ser anexado aos tipos int, Int16, Int32, Int64, long, uint, ulong, byte, float ou double para efetivar conversões numéricas nestes formatos.
Referências: Microsoft Visual C# Express 2010 - José Augusto N. G. Manzano
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Caixa
{
class Caixa
{
protected double saldo;
protected Boolean entradadedinheiro;
protected double saque;
protected double deposito;
public void caixa(double saldo, Boolean entradadedinheiro, double saque, double deposito)
{
this.saldo = saldo;
this.entradadedinheiro = entradadedinheiro;
this.saque = saque;
this.deposito = deposito;
}
public void definirsaldo(double valorsaldo)
{
saldo = valorsaldo;
}
public void definirentradadedinheiro(Boolean valorentradadedinheiro)
{
entradadedinheiro = valorentradadedinheiro;
if (valorentradadedinheiro)
{
if (saldo > deposito)
{
if (saque < saldo)
{
entradadedinheiro = true;
}
}
}
}
public void saquenocaixa()
{
saque--;
if(saque < saldo)
{
saldo = saque;
}
}
public void depositonocaixa()
{
deposito++;
if(deposito > saldo)
{
saldo = deposito;
}
}
}
class banco : Caixa
{
protected int agencia;
protected Boolean conta;
protected double financia;
protected double investe;
public void caixabanco(int agencia, Boolean conta, double financia, double investe)
{
this.agencia = agencia;
this.financia = financia;
this.investe = investe;
this.conta = conta;
}
public void agenciacod()
{
agencia++;
}
public void contabanco(Boolean valorcontabanco)
{
if (valorcontabanco)
{
if (conta)
{
saldo = financia;
financia++;
entradadedinheiro = true;
}
}
if (valorcontabanco)
{
if (conta)
{
saldo = investe;
investe++;
entradadedinheiro = true;
}
}
}
}
class conta : banco
{
public int senha;
public double numerodaconta;
public double Calcsaldo(double saldo, int senha, double numerodaconta, double saque, double deposito)
{
this.saldo = saldo;
this.senha = senha;
this.numerodaconta = numerodaconta;
saldo = numerodaconta;
saldo = saldo - saque;
saldo = saldo + deposito;
saldo = saque - deposito;
return saldo;
}
public void numerodacontadobanco(double valornumerodacontabanco)
{
numerodaconta = valornumerodacontabanco;
}
internal double Calcsaldo(double saque, double deposito)
{
saldo = saque - deposito;
return saldo;
throw new NotImplementedException("Cláusula Implementada");
}
}
class cliente : conta
{
public string nome;
public void Calccliente(string nome, double saldo, int senha)
{
this.nome = nome;
this.saldo = saldo;
this.senha = senha;
}
}
class Program
{
static void Main(string[] args)
{
conta cont = new conta();
Console.WriteLine();
double saque, deposito,saldo, senha, numeroconta ;string nome;
Console.Write("Entre com seu nome: ");
nome = Console.ReadLine();
Console.WriteLine("Olá, " + nome);
Console.Write("Entre com o número da conta: ");
numeroconta = double.Parse(Console.ReadLine());
Console.WriteLine("Número da conta.............: " + numeroconta);
Console.Write("Entre com a senha: ");
senha = double.Parse(Console.ReadLine());
Console.WriteLine("Senha................: " + senha);
Console.Write("Entre com seu saque: ");
saque = double.Parse(Console.ReadLine());
Console.WriteLine("Saque................: " + saque);
Console.Write("Entre com seu depósito: ");
deposito = double.Parse(Console.ReadLine());
Console.WriteLine("Depósito..............: " + deposito);
saldo = cont.Calcsaldo(saque, deposito);
Console.WriteLine("saldo..............: " + saldo);
Console.ReadKey();
}
}
}