SoloCodigo

CLR: .Net / Mono / Boo / Otros CLR => C# => Mensaje iniciado por: Srgndl en Jueves 7 de Febrero de 2008, 13:11

Título: Organizacion De Clases
Publicado por: Srgndl en Jueves 7 de Febrero de 2008, 13:11
Buenas!

Estoy comenzando a aprender c#, ya he trabajado antes con java y c/c++!!
Tengo una duda de como utilizar una clase creada por mi con c#.

Utilizo visual studio 2005!

Por ejemplo:

 - quiero hacer una clase rectangulo que contiene un punto origen (clase punto) + dos enteros  (base y altura)

 - necesitare hacer la clase rectangulo con sus atributos y metodos
 - el rectangulo necesita la clase punto, la tendre que hacer
 - y luego el main para testear las clases

en java:
  se hacen la dos clases por separado  y luego se ponian los "imports" necesarios para que la clase rectangulo tuviera el punto y para el main k tuviera las dos


en c# como lo tendria que hacer??

Gracias!
Título: Re: Organizacion De Clases
Publicado por: Mollense en Viernes 8 de Febrero de 2008, 04:37
Cita de: "Srgndl"
Buenas!

Estoy comenzando a aprender c#, ya he trabajado antes con java y c/c++!!
Tengo una duda de como utilizar una clase creada por mi con c#.

Utilizo visual studio 2005!

Por ejemplo:

 - quiero hacer una clase rectangulo que contiene un punto origen (clase punto) + dos enteros  (base y altura)

 - necesitare hacer la clase rectangulo con sus atributos y metodos
 - el rectangulo necesita la clase punto, la tendre que hacer
 - y luego el main para testear las clases

en java:
  se hacen la dos clases por separado  y luego se ponian los "imports" necesarios para que la clase rectangulo tuviera el punto y para el main k tuviera las dos


en c# como lo tendria que hacer??

Gracias!
Mientras las clases se encuentren en el mismo namespace en un mismo proyecto, las podés crear por separado e instanciarlas sin mas, da lo mismo si se encuentran en un mismo archivo o no.

ClasePunto.cs:
Código: Text
  1. namespace ProyectoRectangulos
  2. {
  3.     class ClasePunto
  4.     {
  5.         private int x;
  6.         private int y;
  7.  
  8.         public ClasePunto(int x, int y)
  9.         {
  10.             this.x = x;
  11.             this.y = y;
  12.         }
  13.  
  14.        .
  15.        .
  16.        .
  17.  
  18.     }
  19. }
  20.  

ClaseRectangulo.cs:
Código: Text
  1. namespace ProyectoRectangulos
  2. {
  3.     class ClaseRectangulo
  4.     {
  5.         private ClasePunto puntoDeOrigen;
  6.         private int intBase;
  7.         private int intAltura;
  8.  
  9.         public ClaseRectangulo(ClasePunto puntoDeOrigen, int intBase, int intAltura)
  10.         {
  11.             this.puntoDeOrigen = puntoDeOrigen;
  12.             this.intBase = intBase;
  13.             this.intAltura = intAltura;
  14.         }
  15.        
  16.        .
  17.        .
  18.        .
  19.        
  20.     }
  21. }
  22.  

Program.cs:
Código: Text
  1. namespace ProyectoRectangulos
  2. {
  3.     static class Program
  4.     {
  5.         static void Main()
  6.         {
  7.  
  8.             ClasePunto puntoDeOrigen = new ClasePunto(20, 20);
  9.             ClaseRectangulo rectangulo1 = new ClaseRectangulo(puntoDeOrigen, 50, 20);
  10.            
  11.             .
  12.             .
  13.             .
  14.  
  15.         }
  16.     }
  17. }
  18.  

Un saludo