问一个关于类的基础题目~~

来源:百度知道 编辑:UC知道 时间:2024/05/22 06:33:01
题目:有一个学生类Student,当我想用这个类实例化一个学生s的时候,我希望:1可以输入这个学生的学号,系别,姓名,生日,性别,入学时间;2只输入学号,系别,姓名,生日,性别,此时入学时间为当前日期;生日要求是1980/01/01以后的,这个学生至少15岁。

为什么一个学生类里面有两个要求呢,用什么方法来实现两个要求?
我写了两个构造函数:
public Student(double snum,string department,string name,DateTime birthday,string sex,DateTime intoschooldate)
{
}

public Student(double snum,string department,string name, DateTime birthday,string sex)

{ }

我想对后面的做条件上的限制,比snum必须>什么什么,应该把
string snum{
get {
return s;
}
set {
if(value>1)
{
s = value;
}
else
{
s = -value;
}
}
写在哪?

知道什么叫重载么?
构造函数也是一种特殊的方法……
重载是说在一个类里可以出现多个相通方法名的方法,但其其参数列表绝对不允许一样……返回值就可以自选要不要一样了……
(注:构造函数没有返回值)

对于后面的要求是输入了入学时间就必须要求年龄要满足多少岁以上,也就是说保证此人在入学时的年龄是达到了入学年龄要求的……

属性会写了不?

//年龄属性的写法,里面的age是成员变量
public int Age
{
set
{
//判断条件这里我就不详细写了,写太明白了会影响你的探索精神
if(判断条件)
{
age = value;
}
}
get
{
return age;
}
}

这是一个构造函数重载的问题。
你只需要给他定义两个构造函数,传入不同的参数就行了。

重载

构造函数重载

重载构造函数,并且在属性的set部分加以控制