none
Herança de Classes

    Question

  • Olá amigos...
    Quero criar uma estrtutura de classe mas estou com dificuldades...


    NameSpace Dados

    Classe Dados 
            ( como crio um método abstrato aqui para salvardados ? )


    NameSpace EstrturaInterna
    classe
        BaseClass
            Dados ( como faço para fazer uma property publica que aponte para a classe dados do name space Dados ? )
            Ancestral ( propriedade que devera ser a própria baseclass para que os descendentes acessem a instancia do ancestral ? )
           

    classe 
         Clientes :  BaseClass
             ( como acesso as propriedades da baseClass ? )
               


    Essa seria a estrutura que quero montar, alguém pode me ajudar?

    Obrigado...

    Djonatas Tenfen
    Monday, February 23, 2009 5:12 PM

Answers

  • Djonatas, boa tarde.

    Para sua primeira pergunta seguem um código exemplo retirado da documentação tecnica:

    // abstract_keyword.cs
    // Abstract Classes
    using System;
    abstract class BaseClass   // Abstract class
    {
        protected int _x = 100;
        protected int _y = 150;
        public abstract void AbstractMethod();   // Abstract method
        public abstract int X    { get; }
        public abstract int Y    { get; }
    }

    class DerivedClass : BaseClass
    {
        public override void AbstractMethod()
        {
            _x++;
            _y++;
        }

        public override int X   // overriding property
        {
            get
            {
                return _x + 10;
            }
        }

        public override int Y   // overriding property
        {
            get
            {
                return _y + 10;
            }
        }

        static void Main()
        {
            DerivedClass o = new DerivedClass();
            o.AbstractMethod();
            Console.WriteLine("x = {0}, y = {1}", o.X, o.Y);
        }
    }



    2-) Para criar uma propriedade publica na classe utilize a sequinte sintaxe (Exemplo para framework 3.0 ou superior).

    <modificar> <tipo> nome  {pegar valor, setar valor}
    public
    double Exemplo {get;set;}

    Uma vez que usou herança : as propriedades da classe origem são automaticamente repassadas para sua classe herdada, bastando apenas apontar o nome da propriedade que deseja.


    Att


    Nelson Borges - Analista de Sistemas
    Monday, February 23, 2009 5:23 PM

All replies

  • Djonatas, boa tarde.

    Para sua primeira pergunta seguem um código exemplo retirado da documentação tecnica:

    // abstract_keyword.cs
    // Abstract Classes
    using System;
    abstract class BaseClass   // Abstract class
    {
        protected int _x = 100;
        protected int _y = 150;
        public abstract void AbstractMethod();   // Abstract method
        public abstract int X    { get; }
        public abstract int Y    { get; }
    }

    class DerivedClass : BaseClass
    {
        public override void AbstractMethod()
        {
            _x++;
            _y++;
        }

        public override int X   // overriding property
        {
            get
            {
                return _x + 10;
            }
        }

        public override int Y   // overriding property
        {
            get
            {
                return _y + 10;
            }
        }

        static void Main()
        {
            DerivedClass o = new DerivedClass();
            o.AbstractMethod();
            Console.WriteLine("x = {0}, y = {1}", o.X, o.Y);
        }
    }



    2-) Para criar uma propriedade publica na classe utilize a sequinte sintaxe (Exemplo para framework 3.0 ou superior).

    <modificar> <tipo> nome  {pegar valor, setar valor}
    public
    double Exemplo {get;set;}

    Uma vez que usou herança : as propriedades da classe origem são automaticamente repassadas para sua classe herdada, bastando apenas apontar o nome da propriedade que deseja.


    Att


    Nelson Borges - Analista de Sistemas
    Monday, February 23, 2009 5:23 PM
  • Falto um poquinho de pesquisa e testes da minha parte... :| foi mal !!!

    de qualquer maneira obrigado :D
    Djonatas Tenfen
    Monday, February 23, 2009 5:36 PM
  • Sem problemas, o fórum é para isso.


    Se tiver duvidas sobre como implementar poste ai.

    Abraço e boa sorte.

    Nelson Borges - Analista de Sistemas
    Monday, February 23, 2009 5:38 PM