前言
这一篇文章属于简单的补充一下知识点,为大家介绍一下三种构建对象的方式,其实我们常用的也就是第一种,实例化对象后,分别为其赋值。但还是要求我们能够看懂这些的,只要会用即可。
三种构建对象的方式
在构建对象之前我们需要新创建一个我们的老朋友,Student 类,其内部有哪些成员呢?我们来看一下代码!但是要注意文字教程与视频教程不一致,里面已经附带上了 构造函数。
internal class Student
{
public Student() { }
/// <summary>
/// 有参构造函数
/// </summary>
/// <param name="id">学生ID</param>
/// <param name="name">学生姓名</param>
/// <param name="age">学生年龄</param>
public Student(int id, string name, int age)
{
Id = id;
Name = name;
Age = age;
}
/// <summary>
/// id
/// </summary>
public int Id;
/// <summary>
/// 姓名
/// </summary>
public string Name;
/// <summary>
/// 年龄
/// </summary>
public int Age;
}
1.实例化对象 分别赋值
#region 1.创建对象 然后分别赋值 优点:比较灵活 缺点:类的成员过多的话 成员可能会被多次重复赋值
Student stu1 = new Student();
stu1.Id = 1;
stu1.Name = "Element";
stu1.Age = -18;
if (stu1.Age < 0)//对键入数据进行判断
{
stu1.Age = 0;
}
#endregion
在经历前面那么多的练习,相信你对这一段代码并不会干到陌生,因为这段代码的作用非常简单,我们首先根据Student 类创建出了,一个 stu1 对象 ,然后使用 成员访问符(.) 访问对象的成员,然后分别赋值,只不过在我们为 stu1.Age 成员赋值后,我们对该成员的合理性进行了一个 if 判断 ,所以这是它灵活的提现之处。
2.对象初始化器
#region 对象初始化器 优点:成员不会重复 缺点:不够灵活
Student stu2 = new Student()
{
Age = 12,
Id = 2,
Name = "Test",
};
#endregion
可以看到这种方式比较简便,并且为成员赋值不会重复性的出现(需要配合VS Ide),但无法在语句块内对值进行判断。
3.构造函数赋值
#region 使用构造函数 优点:简介方便 缺点:参数过多容易搞混
Student stu3 = new Student();
#endregion
假若 你要使用构造函数的方式为其进行传值,那么你需要在 Student 类中,先自行写一个符合你意向的构造函数,然后明确使用哪些 形参,在调用之时,使用 实参进行传入。
/// <summary>
/// 有参构造函数
/// </summary>
/// <param name="id">学生ID</param>
/// <param name="name">学生姓名</param>
/// <param name="age">学生年龄</param>
public Student(int id, string name, int age)
{
Id = id;
Name = name;
Age = age;
}
© 版权声明
本文由Element创作
遵循 E YunaSu License 协议
邮箱为:elementxuan@qq.com
一律禁止以任何方式发布或转载任何违法的相关信息,如果您有发现,请与我联系!
THE END
暂无评论内容