segunda-feira, 9 de setembro de 2013

Class ou Classe, o que é?

Vamos começar pelos fundamentos:
  1. A Classe é um modelo que define a forma de um objeto.
  2. Uma classe especifica as informações e o código que irá trabalhar / executar sobre alguns dados.
  3. Objetos são instanciados em uma classe.
  4. Os métodos e variáveis que constituem uma classe são chamados membros da classe. 
  5.  
Sua forma simples:
A sua forma simples e geral de uma definição de classe contém apenas as variáveis e instância de métodos.
        class classnome
        {
            // declarando variáveis
            acesso tipo varA;
            acesso tipo varB;
            // ...
            acesso tipo varN;
           
            // declarando métodos
            acesso tipo metodosA(parametros) {
                // codigo de seu métodos
            }
            acesso tipo metodosB(parametros) {
                // codigo de seu métodos
            }
            // ...
        }
Sua syntax seria desta forma:
    class Program
    {
        string variavelA = "Minha variavel do tipo string";
    }
Sua forma um pouco mais completa seria:
    class Program
    {
        void PrintAMessage(string msg)
        {
            Console.WriteLine("Exibir a Mensagem: {0}", msg);
        }
        static void Main()
        {
            Console.WriteLine("Iniciando...");
            Program app = new Program();
            app.PrintAMessage("Bem vindo à Class");
        }
    }
Uma forma simples com alguns membros e construtores:
    class Program
    {
        class Notas
        {
            // construtores
            public Notas(int x, int y)
            {
                this.x = x;
                this.y = y;
            }

            // membros
            public int x;
            public int y;
        }
        static void Main()
        {
            Notas minhasNotas = new Notas(10, 15);
            Console.WriteLine("Minha nota x é {0}", minhasNotas.x);
            Console.WriteLine("Minha nota y é {0}", minhasNotas.y);

        }
    }
Criando dois objetos em uma classe:
    class Program
    {
        class Construcao
        {
            public int area;
            public int qtdPessoas;
        }
        class ExemploConstrucao
        {
            static void Main()
            {
                Construcao casa = new Construcao();
                Construcao empresa = new Construcao();

                int areaPP; // area por pessoa

                casa.qtdPessoas = 4;
                casa.area = 2500;

                empresa.qtdPessoas = 25;
                empresa.area = 4200;

                areaPP = casa.area / casa.qtdPessoas;

                Console.WriteLine("A Casa tem:   " +
                                  casa.qtdPessoas + " pessoas   " +
                                  casa.area + " total da area   " +
                                  areaPP + " por pessoa");

                Console.WriteLine();

                areaPP = empresa.area / empresa.qtdPessoas;

                Console.WriteLine("A Empresa tem:   " +
                                  empresa.qtdPessoas + " pessoas   " +
                                  empresa.area + " total da area   " +
                                  areaPP + " por pessoa");
            }
        }
    }
Copiando uma Classe
    class Program
    {
        class ClasseQueIremosCopiar
        {
            public int x;
        }
        class ClassePrinciapl
        {
            static void Main()
            {
                // Intanciando as copias
                ClasseQueIremosCopiar a = new ClasseQueIremosCopiar();
                ClasseQueIremosCopiar b = new ClasseQueIremosCopiar();

                a.x = 10;
                b.x = 20;

                Console.WriteLine("a.x {0}, b.x {1}", a.x, b.x);

                a = b;
                b.x = 30;

                Console.WriteLine("a.x {0}, b.x {1}", a.x, b.x);

            }
        }
    }
Exemplo de Encapsulamento:
    class Program
    {
        private uint largura;
        private uint altura;
        private uint area;

        public uint Largura
        {
            get
            {
                return largura;
            }

            set
            {
                largura = value;
                ComputeArea();
            }
        }

        public uint Altura
        {
            get
            {
                return altura;
            }

            set
            {
                altura = value;
                AreaTotal();
            }
        }

        public uint Area
        {
            get
            {
                return area;
            }
        }

        private void AreaTotal()
        {
            area = width * height;
        }

        static void Main()
        {

        }
    }

Métodos herdados
    class Program
    {
        class ClasseBase
        {
            public string Campo1 = "Classe Base Campo";
            public void Metodo1(string value)
            {
                Console.WriteLine("Classe Base    -- Metodo1: {0}", value);
            }
        }

        class ClasseDerivada : ClasseBase
        {
            public string Campo2 = "Classe Derivada Campo";

            public void Metodo2(string value)
            {
                Console.WriteLine("Classe Derivada -- Method2: {0}", value);
            }
        }
        class ClassePrincipal
        {
            static void Main()
            {
                ClasseDerivada oc = new ClasseDerivada();
                oc.Metodo1(oc.Campo1);
                oc.Metodo2(oc.Campo2);
                oc.Metodo1(oc.Campo1);
                oc.Metodo2(oc.Campo2);
            }
        }
    }
Implementando varias interfaces:
    class Program
    {
        interface Obter
        {
            int ObterValor();
        }
        interface Adicionar
        {
            void AdicionarValor(int x);
        }

        class MeuValor : Obter, Adicionar
        {
            int valor;
            public int ObterValor()
            {
                return valor;
            }
            public void AdicionarValor(int x)
            {
                valor = x;
            }
        }

        class ClassePrincipal
        {
            static void Main()
            {
                MeuValor valor = new MeuValor();

                valor.AdicionarValor(7);
                Console.WriteLine("Value = {0}", valor.ObterValor());
  
            }
        }
    }
Bons estudos

0 comentários:

Postar um comentário