Cześć, mam problem z pewnym zadaniem do szkoły i może komuś uda się mnie nakierować w tym temacie.
Otóż mam zadanie:
Twoja firma opracowuje program kadrowy dla pewnej firmy.
O każdej osobie powinieneś posiadać następujące informacje:
Klasa Osoba
imię
nazwisko
numerEwidencyjny
adresZamieszkania
// Klasa Adres zawiera następujące dane:
nazwaUlicy
miejscowosc
numerDomu
numerMieszkania
Zakładając, że najczęściej spotykanym nazwiskiem jest Kowalski , firma znajduje się w Warszawie i ma mieszkania pracownicze przy ulicy Aleje Jerozolimskie , stwórz odpowiednie konstruktory.
Założyłem, że w takiej sytuacji, mogą się pojawiać takie kombinacje:
Nazwisko---- | ----Miasto---- | ----Ulica---- |
---|---|---|
- | - | Aleje Jerozolimskie |
- | Warszawa | - |
Kowalski | - | - |
Kowalski | Warszawa | Aleje Jerozolimskie |
Kowalski | Warszawa | - |
- | Warszawa | - |
Chciałbym móc tworzyć obiekty Osoba z danymi imię, nazwisko, numerEwidencyjny, adresZamieszkania( i tutaj nazwaUlicy, miejscowosc, numerDomu, numerMieszkania).
Najpierw zrobiłem wszystko w jednej klasie Osoba i chciałem użyć konstruktorów na wszystkie przypadki. Ale wtedy dowiedziałem się, ze nie mogę konstruktorów, które przyjmują tą samą ilość argumentów o tym samym typie(np. jeden konstruktor nazwisko(string) + ulica(string), a drugi nazwisko(string) + miasto(string).
Zacząłem od nowa, i zaciąłem się na tym, że napisałem dwie osobne klasy Osoba i Adres i nie wiem co powinienem dalej zrobić żeby spełnić swoje założenia.
using System;
using System.Collections.Generic;
using System.Text;
namespace W3_P3
{
public class Osoba
{
string name;
string surname;
string registrationNumber;
Adres adress;
public string GetData()
{
string enteredData = Console.ReadLine();
return enteredData;
}
public Osoba(string name, string surname, string registrationNumber, Adres adress)
{
this.name = name;
this.surname = surname;
this.registrationNumber = registrationNumber;
this.adress = adress;
}
public void printData()
{
Console.WriteLine($"Imie: {name}\nNazwisko: {surname}\nNumer ewidencyjny: {registrationNumber}");
}
}
public class Adres
{
public string town;
public string streetName;
public string houseNumber;
public string flatNumber;
public Adres(string town, string streetName, string houseNumber, string flatNumber)
{
this.town = town;
this.streetName = streetName;
this.houseNumber = houseNumber;
this.flatNumber = flatNumber;
}
public Adres(string town)
public void printData()
{
Console.WriteLine($"Nazwa miasta: {town}\nNazwa ulicy: {streetName}\nNumer domu: {houseNumber}\nNumer mieszkania: {flatNumber}");
}
public string GetData()
{
string enteredData = Console.ReadLine();
return enteredData;
}
}
}