Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Uzycie metody w klasie


Rekomendowane odpowiedzi

Opublikowano

Siemano, mam za zadanie napisać( a właściwie już to zrobiłem) klase według instrukcji na laboratoriach.

Wygląda to wszystko tak:

 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data;

namespace klasy
{
    public class Pracownik
    {
        private string imie;
        private string nazwisko;
        Data dataUrodzenia;
        Adres adresZamieszkania;

        public string Imie
        {
            get { return imie; }
            set { imie = value; }
        }
        public string Nazwisko
        {
            get { return nazwisko; }
            set { nazwisko = value; }
        }
        public Data DataUrodzenia
        {
            get { return dataUrodzenia; }
        }
        public Adres AdresZamieszkania
        {
            get { return adresZamieszkania; }
        }
        public virtual Zawody Zawod
        {
           get { return Zawody.Pracownik; }
        }
        public Pracownik()
        {
            dataUrodzenia = new klasy.Data();
            adresZamieszkania = new klasy.Adres();
        }
        public Pracownik(string imie, string nazwisko, int dzien, string miesiac, int rok, string ulica, string nrDomu, string miasto)
        {
            this.imie = imie;
            this.nazwisko = nazwisko;
            this.dataUrodzenia = new Data(dzien, miesiac, rok);
            this.adresZamieszkania = new Adres(ulica, nrDomu, miasto);
        }
        public Pracownik(Pracownik pracownik)
        {
            imie = pracownik.imie;
            nazwisko=pracownik.nazwisko;
            dataUrodzenia = new klasy.Data(pracownik.dataUrodzenia);
            adresZamieszkania = new klasy.Adres(pracownik.adresZamieszkania);
        }

       public  virtual Pracownik Clone()
        {
            return new klasy.Pracownik(this);
        }

        public override string ToString()
        {
            string d = String.Format("{0} {1} {2} {3}", imie, nazwisko, dataUrodzenia, adresZamieszkania);
            return d;
        }
        public virtual string FormatWyjsciowy()
        {
            string h = String.Format(" Imie, nazwisko: {0} {1} \n Data urodzenia: {2} \n Adres zamieszkania: {3}", imie, nazwisko, dataUrodzenia, adresZamieszkania);
            return h;
        }

        public virtual string SzczegolyZawodu()
        {
            string a = "brak";
            return a;
        }
        public string DataToString()
        {
            string s = String.Format("{0}", dataUrodzenia);
            return s;
        }
        public string AdresToString()
        {
            string c = String.Format("{0}", adresZamieszkania);
            return c;
        }
        public virtual void OdczytConsole()
        {
            string imie, nazwisko,miesiac, ulica, nrDomu, miasto;
            int dzien, rok;
            Console.WriteLine("Podaj Imie: ");
            imie = Console.ReadLine();
            Console.WriteLine("Podaj nazwisko: ");
            nazwisko = Console.ReadLine();
            Console.WriteLine("Podaj dzien: ");
            dzien = Convert.ToInt32(Console.ReadLine());
            Console.WriteLine("Podaj miesiac: ");
            miesiac   = Console.ReadLine();
            Console.WriteLine("Podaj rok: ");
            rok = Convert.ToInt32(Console.ReadLine());
            Console.WriteLine("Podaj ulice: ");
            ulica  = Console.ReadLine();
            Console.WriteLine("Podaj numer domu: ");
            nrDomu  = Console.ReadLine();
            Console.WriteLine("Podaj miasto: ");
            miasto = Console.ReadLine();
           
        }
        public virtual void ZapisConsole()
        {
            Console.WriteLine(FormatWyjsciowy());

        }
        public virtual void OdczytXml(DataRow dr)
        {

        }
    }
}

 

Jak mam w metodzie Main stworzyć obiekt i za pomocą OdczytConsole() wpisać dane do niego, nie mam pojecia jak dzięki OdczytConsole przekazać wczytane z klawiatury dane do konstruktora.

Mógłby mi ktos powiedzieć jak to zrobić? To wgl. możliwe?

Opublikowano

To jest C#. Poproś o przeniesienie do właściwego działu.

Hmm... Zmieniłbym OdczytConsole() na metodę statyczną, i zmieniłbym typ zwracanej wartości na Pracownik. Wtedy mógłbyś dać tak:

	return new Pracownik(/*tutaj parametry*/);

I w metodzie main zrobiłbyś instancję:

Pracownik pracownik = OdczytConsole();

 


Pomagam w projektach dotyczących programowania (C++/C/Java/C#/inne). Jak masz jakiś problem, napisz do mnie, wspólnie poszukamy rozwiązania ;).

Opublikowano

Poradziłem sobie w inny sposób: 

 			this.imie = imie;
            this.nazwisko = nazwisko;
            this.dataUrodzenia = new Data(dzien, miesiac, rok);
            this.adresZamieszkania = new Adres(ulica, nrDomu, miasto);

 

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...