要点:
-
构造函数:它是类的一种特殊方法,当我们要创建类的实例(即对象)时,构造函数就会被自动调用,用于初始化这个对象的状态。构造函数的名字与类名完全相同,并且它不会返回任何值。
-
构造函数的作用:它的主要任务是初始化对象的成员变量,确保对象在创建时就处于正确的状态。
-
无参构造函数:当我们没有为类显式地定义任何构造方法时,系统会自动为我们提供一个无参数的默认构造函数。
-
有参构造函数:
a. 有参构造函数允许我们在创建对象时传入一些参数,通过传入不同的参数值,我们可以创建出具有不同属性和行为的对象实例。
b. 相比无参构造函数,有参构造函数提供了更大的灵活性和多样性。
c. 使用有参构造函数可以将对象的初始化逻辑封装在构造方法中,通过将初始化代码集中在构造方法中,我们可以减少代码冗余和错误的可能性,提高代码的质量和可维护性。
namespace unit9._1
{
public class Person
{
#region 无参构造方法
public Person()
{
}
#endregion
#region 有参构造方法
public Person(string name, string idCard, DateTime birthday, string sex)
{
//可能会与下面的字段名字重复,最好使用this
//this当前正在使用的对象
this.name = name;
this.idCard = idCard;
this.birthday = birthday;
this.sex = sex;
}
#endregion
//有参构造方法
#region 有参构造方法
public Person(string nickName)
{
this.name = nickName;
}
#endregion
#region 字段
private string name;
private string idCard;
private DateTime birthday;
private string sex;
#endregion
#region 属性
public string Name { get; set; }
public string IdCard
{
get { return idCard;}
set { idCard = value; }
}
public DateTime Birthday
{
get { return birthday;}
set { birthday = value; }
}
public string Sex
{
get { return sex;}
set { sex = value; }
}
#endregion
#region 方法
public void Eat()
{
Console.WriteLine($"{name}吃饭了");
}
#endregion
#region 将输出的内容封装成一个方法体里面
public void Print()
{
Console.WriteLine($"姓名:{name},性别:{sex},生日:{birthday},身份证:{idCard}");
}
#endregion
}
}
using System;
namespace unit9._1
{
class Program
{
static void Main(string[] args)
{
Person person1 = new Person();
person1.Name = "张三";
person1.IdCard = "123456789012345678";
person1.Birthday = new DateTime(1990, 1, 1);
person1.Sex = "男";
// 使用有参构造方法(包含所有字段)创建Person对象
Person person2 = new Person("李四", "876543210987654321", new DateTime(1992, 2, 28), "女");
// 使用只包含昵称的有参构造方法创建Person对象
Person person3 = new Person("王五");
person3.IdCard = "098765432109876543";
person3.Birthday = new DateTime(1993, 3, 15);
person3.Sex = "男";
// 打印每个人的信息
Console.WriteLine("Person 1:");
person1.Print();
Console.WriteLine("Person 2:");
person2.Print();
Console.WriteLine("Person 3:");
person3.Print();
// 调用Eat方法
person1.Eat();
person2.Eat();
person3.Eat();
// 等待用户输入,防止控制台窗口立即关闭
Console.WriteLine("按任意键退出...");
Console.ReadKey();
}
}
}
标签:Console,string,构造方法,Person,public,构造函数 From: https://blog.csdn.net/m0_56643625/article/details/136856552