Korzystanie z objektu Publik w innej klasie

0

Witam pisze sobie o to taki programik :

 
namespace mur
{
    class sciana
    { 
        public double dlugosc;
        public double wysokosc;
        public void PodajDane()
        {
            Console.Write("Podaj dlugosc sciany - ");
            dlugosc = Convert.ToDouble(Console.ReadLine());
            Console.Write("Podaj wysokosc sciany - ");
            wysokosc = Convert.ToDouble(Console.ReadLine());
        }
    }

    class cegla
    {
        public double l;
        public double h;
        public void PodajDane()
        {
            Console.Write("Podaj dlugosc cegly - ");
            l = Convert.ToDouble(Console.ReadLine());
            Console.Write("Podaj wysokosc cegly - ");
            h = Convert.ToDouble(Console.ReadLine());
        }
    }

    class IloscCegiel
    {
    }

    class Program
    {
        static void Main(string[] args)
        {
            sciana WymiarySciany = new sciana();
            WymiarySciany.PodajDane();
            cegla WymiaryCegly = new cegla();
            WymiaryCegly.PodajDane();
        }
    }
}

W klasie IloscCegiel chcę się odwołać do objektu dlugosc z klasy sciana i objektu l z klasy cegla i podzielic je przez siebie ale nie wiem jak to zrobić prosze o pomoc

0

Trochę dziwne, że tworzysz tylko(?) do tych obliczeń oddzielną klasę, ale ja się nie znam ;)

W tej klasie IloscCegiel utwórz metodę, która będzie przyjmowała 2 obiekty. Jeden typu sciana, drugi typu cegla. No i później się odwołujesz do pól tych obiektów normalnie w ciele metody.

0

Troche zle sie do tego zabrales. Zlookaj to:

namespace mur
{
    class cegla
    {
        public double l;
        public double h;
        public void PodajDane()
        {
            Console.Write("Podaj dlugosc cegly - ");
            l = Convert.ToDouble(Console.ReadLine());
            Console.Write("Podaj wysokosc cegly - ");
            h = Convert.ToDouble(Console.ReadLine());
        }
    }


    class sciana
    {
        public double dlugosc;
        public double wysokosc;
        public double ilosc_cegiel;

        public void PodajDane()
        {
            Console.Write("Podaj dlugosc sciany - ");
            dlugosc = Convert.ToDouble(Console.ReadLine());
            Console.Write("Podaj wysokosc sciany - ");
            wysokosc = Convert.ToDouble(Console.ReadLine());
        }

        public void PoliczCegly(cegla c)
        {
            ilosc_cegiel = dlugosc*wysokosc / (c.h*c.l);
            Console.Write("Potrzebujesz {0} cegieł.", ilosc_cegiel);
        }
    }

    class Program
    {
        static void Main(string[] args)
        {
            cegla cegla1 = new cegla();
            cegla1.PodajDane();

            sciana sciana1 = new sciana();
            sciana1.PodajDane();

            sciana1.PoliczCegly(cegla1);
        }
    }
}
  1. Zaczynasz od opdstawowych elementów. Najpierw tworzysz obiekt cegla i zbierasz do niego dane.
  2. Jak masz juz cegle to mozesz zaczac robic sciane. Tworzysz sciane i zbierasz do niej informacje.
  3. Jak juz masz info o cegle i scianie to wywolujesz PoliczCegly przekazujac w parametrze ta cegle, ktora sobie stworzyles. Metoda liczy powierzchnie muru i dzieli przez powierzchnie cegly.

Opolski Portal Programistyczny
http://programowanie.opole.pl

0

ok działa wielkie dzięki

1 użytkowników online, w tym zalogowanych: 0, gości: 1