构造函数
static void Main(string[] args)
{
SE engineer = new SE();
engineer.Age = 25;
engineer.Name = "艾边成";
engineer.Gender = Gender.male;
engineer.ID = "112";
engineer.Popularity = 100;
Console.WriteLine(engineer.SayHi());
}
//public class SE
// public SE() {}
//}
构造函数是类中一个特殊的方法
构造函数名与类名相同,不返回任何值,主要完成对象的初始化工作
public class SE
{
public SE()
{
this.ID = "000";
this.Age = 20;
this.Name = "无名氏";
……
}
}
使用构造函数
构造函数
每次创建类的示列(new)时会被调用
new关键字
可以示列化一个新的对象
SE engineer = new SE();
指定调用某个带参数的构造函数
SE engineer = new SE("112", "艾边成", 25, Gender.male, 100);
类的隐式构造函数
示列:
构造两个程序员对象
public class SE
{
public SE (string id, string name,
int age, Gender gender,int popularity){//…省略}
//省略字段、属性
}
每个类都默认有一个无参数的构造函数,一旦手动添加了构造函数,系统就不会再给类添加无参构造函数
方法的重载
public class SE
{
//带参构造函数
public SE (string id, string name,
int age, Gender gender,int popularity)
{
this.ID = id;
this.Name = name;
this.Age = age;
this.Gender = gender;
this.Popularity = popularity;
}
//无参构造函数
public SE() { }
}
方法的重载:
方法重载:同一个类中,方法名相同,参数列表不同(参数类型不同、参数个数不同
对象的交互
public class RemoteControl
{
//开机
public void TurnOn(Television tv)
{
tv.Open(); //调用电视机对象的开机方法
}
//关机
public void TurnOff(Television tv)
{
tv.TurnOff(); //调用电视机对象的关机方法
}
//换台
public void ChangeChannel(Television tv)
{
Console.Write("请输入频道号:");
string channelNo = Console.ReadLine();
tv.Change(channelNo);