• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

NetWarrior

Módulos em C#

12 mensagens neste tópico

Ora viva !

Boa noite tenho uma questão que julgo ser bastante simples para qualquer programador de c#.

Eu como ainda só tive 3 aulas não sei ainda fazer o seguinte.

Tenho uma classe já feita... bastante grande e o que pretendo fazer é criar outra classe e colocar lá metodos da classe "grande" e depois na classe grande usar esses mesmos metodos apenas chamando eles normalmente...

no incio da classe tenho de fazer um genero de import... é um using nao é ?...

Alguem me pode dar uma ajudinha ?

Obrigado

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

O teu texto está um bocado confuso, mas se bem percebi o que tu queres é criar uma nova classe e nessa classe usar métodos de uma outra classe. Se tiverem ambas o mesmo namespace, nem precisas de fazer nenhum using. Já se forem de namespaces diferentes tens de usar o using <namespace>;

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Acho que estás a falar de herança...

Basicamente tens a classe "Pai" que tem muitos métodos e pretendes criar uma classe derivada da classe "Pai" que possa aceder a todos os métodos...

Faz-se da seguinte forma:

using System;

public class ParentClass
{
    public ParentClass()
    {
        Console.WriteLine("Construtor da classe pai");
    }

    public void print()
    {
        Console.WriteLine("Sou da classe pai");
    }
}

// Os ":" indicam que ChildClass é uma sub-classe de ParentClass
public class ChildClass : ParentClass
{
    public ChildClass()
    {
        Console.WriteLine("Construtor da classe filho");
    }

    public static void Main()
    {
        ChildClass child = new ChildClass();

         // Podes chamar o método "print()" da super-classe...
        child.print();
        Console.ReadLine();
    }
}

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Eu não percebo muito de C#, mas acho que também é possivel fazer o que ele quer sem definires que a classe A é subclasse de B...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Eu não percebo muito de C#, mas acho que também é possivel fazer o que ele quer sem definires que a classe A é subclasse de B...

Exacto, foi o que eu achei...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Eu não percebo muito de C#, mas acho que também é possivel fazer o que ele quer sem definires que a classe A é subclasse de B...

Realmente não dá para perceber bem a dúvida dele, mas sempre podes criar um objecto de uma classe dentro de outra classe.

using System;

public class ParentClass
{
    public ParentClass()
    {
        Console.WriteLine("Construtor da classe ParentClass");
    }

    public void print()
    {
        Console.WriteLine("Sou da classe ParentClass");
    }
}

public class ChildClass
{
    public ChildClass()
    {
        Console.WriteLine("Construtor da classe ChildClass");
    }

    public void simulaPrint() 
    {
        ParentClass parent = new ParentClass();
        parent.print();
    }
}

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

acho que é exactamente isso que ele queria... eu só não respondi porque tou + especializado em VB que C#, mas bem me parecia que era possivel da mesma forma mas deixei para alguem mais dentro do assunto...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Eu não percebo muito de C#, mas acho que também é possivel fazer o que ele quer sem definires que a classe A é subclasse de B...

Exacto .... mas acho que já esta ai a solução... vou agora tentar!

Obrigado psl! =)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

:wallbash: grrr não está a funcionar.... ambas as classes têm o mesmo name space....... e têm de ter ambas using <nosso name space> ? .. já tentei  mas não resulta não reconhece os métodos da outra classe..... :eek:

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Acho que era melhor postares ai o código e dizer qual é a dúvida em concreto...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora