我必须创建类似DataBase
的类,其中包含菜单,添加用户,编辑,删除等。
用户来自班级User
。
看起来像:
class base
{
protected int mAccounts=0;
protected const int mMaxAccs=10;
osoba[] list = new osoba[mMaxAccs];
public void menu(){...}
public void add()
{
user user1("Jurand","ze Spychowa",15231512,"1410-10-26","hue@x.com");
mAccounts++;
}
... useless code there
}
然后有User
类
class user
{
private string mName;
private string mSurname;
private int mPesel;
private DateTime mBDate;
private string mEmail;
osoba(string mName2, string mSurname2, string mPesel2, string mBDate2, string mEmail2)
{
mName = mName2;
mSurname = mSurname2;
mPesel = Convert.ToInt32(mPesel2);
mBDate = Convert.ToDateTime(mBDate2);
mEmail = mEmail2;
}
问题是添加新帐户。我完全不知道如何使它工作 因此,用户将存储在基类中,您将有权编辑和添加它们等。
任何人都知道如何使其正常工作(正确创建对象)?
答案 0 :(得分:1)
我建议在User类中添加属性:
class User
{
public string mName { get; private set; }
public string mSurname { get; private set; }
public int mPesel { get; private set; }
public DateTime mBDate { get; private set; }
public string mEmail { get; private set; }
//constructor for User class
public User(string mName2, string mSurname2, string mPesel2, string mBDate2, string mEmail2)
{
mName = mName2;
mSurname = mSurname2;
mPesel = Convert.ToInt32(mPesel2);
mBDate = Convert.ToDateTime(mBDate2);
mEmail = mEmail2;
}
}
并修改add方法(也是将数据从数组存储到List的更改对象):
class MyDB
{
List<User> list = new List<User>();
public void add()
{
//use constructor to create new object
User person = new User("Jurand", "ze Spychowa","15231512","1410-10-26","hue@dupa.com");
//add object to list
list.Add(person);
}
}
在代码中混合使用不同语言并不是一个好主意,所以尽量避免命名像“osoba”这样的对象/方法。
您可能会从阅读以下文章中获益(波兰语): C# Constructors C# Properties
答案 1 :(得分:0)
我相信你的add()
方法中唯一缺少的是:
osoba[mAccounts] = user1;
在mAccounts++
行之前。
如果您的User
类将是仅存储数据并且不包含任何方法的愚蠢数据对象(可能除了格式化,转换等),则仅将字段设为公开。