Larback - Retornando conhecimento

Caras legais são feios. Caras bonitos não são legais. Caras bonitos e legais são gays.

Orientação à objetos

Em sala, estudamos vários conceitos sobre orientação à objetos. Abaixo, segue o código da primeira classe que criamos (o <br> é um BUG que em nome de THOR eu terei tempo de corrigir um dia)
    class Empregado
    {
        public String nome;
        private double salario;
                
        public Empregado(String nome)
        {
            this.nome = nome;
        }
        public Empregado(String nome, double salario)
        {
            if (salario < 1500) throw new Exception("O valor do salario não é valido");
            this.nome = nome;

            this.salario = salario;
        }
        public double calculaSalarioLiquido()
        {
            return salario * 0.82;
        }
        public double Salario
        {
            get
            {
                return this.salario;
            }
            set
            {
                if (value > 1500)
                    this.salario = value;
                else
                {

                    throw new Exception("O valor do salário não pode ser inferior a 1500");
                }
            }
            

        }
    }
A classe é muito simples. Declaramos dois atributos: nome e salário. Nome é do tipo String e público, já salário é do tipo double e privado (se você tiver dúvidas sobre modificadores de acesso e encapsulamento leia http://www.larback.com.br/index.php?exec=view.topic&id=107 ). Como salário é privado, criamos métodos seletores para o mesmo (para possibilitar a manipulação do atributo) - Este método respeita nossa regra de negócio que impede que um salário seja menor que R$ 1500 A classe possui dois métodos construtores. Construtores são métodos especiais executados quando instanciamos a classe. O fato de haver mais de um, com assinatura diferente (mudam-se os parâmetros) chama-se sobrecarga e é um recurso muito utilizado em OO... na hora que o objeto for instanciado a classe invocara o construtor de acordo com os parâmetros informados. Por último, nossa classe tem um método responsável por calcular o salário líquido. Para instanciarmos a classe... poderíamos fazer algo do tipo:
  Empregado func = new Empregado(textBox1.Text);
            try
            {
                func.Salario = Convert.ToDouble(textBox2.Text);
                label1.Text = func.calculaSalarioLiquido().ToString("C");
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
Bom é isso aí, qualquer dúvida usem o fórum aqui do site. Quem estiver com tempo para uma boa leitura, acesse: http://www.estudandodotnet.com.br/?p=237 Bons estudos.