标签:c# 、构造器
namespace 构造器
{
class Program
{
static void Main(string[] args)
{
People p1 = new People(1, "张三");//调用构造器的语法(People是一个类,p1是一个对象)
p1.Id = 1;
p1.Name = "zhangsan";
p1.Sleep();
p1.Eat();
People p2 = new People();
p2.Id = 2;
p2.Name = "lisi";
p2.Sleep();
p2.Eat();
Teacher t1 = new Teacher("王老师", 20160721, 5000);
t1.Eat();
}
}
public class People
{
public int Id { get; set; }
public string Name { get; set; }
//每个类都有构造器,用来产生对象,还可以对属性进行赋值操作
//构造器,类似于方法,但是没有返回值类型,跟类名一样
//系统会提供一个默认的无参构造器
//对一个类,自己不创建构造器的话系统就会提供,自己创建了一个的话系统就不会再提供构造器
public People(int Id, string name)//括号中没有东西的话就是无参构造器
{
//Id = Id;//错误
this.Id = Id; //访问当前对象的成员,解决形参(局部变量)和属性(成员变量)重名的问题
Name = name;
Console.WriteLine("有参构造器被调用");
}
//这个无参构造器不可以不写,因为上面自己创建了一个People p1的有参构造器,所以系统不在提供构造器给Peope
//p2
public People()//无参构造器
{
Console.WriteLine("无参构造器被调用");
}
//构造器的重载
//在同一个类里面,名称都一样,参数不一样
//参数不一样:个数、类型、顺序(类型的顺序)
//下面两个是一个构造器
//public People(int a,int b)
//{
//}
//public People(int b, int a)
//{
//}
public void Eat()
{
Console.WriteLine(Name + "在吃饭");
}
public void Sleep()
{
Console.WriteLine(Name + "在睡觉");
}
}
public class Teacher
{
public string Name { get; set; }
public int Id { get; set; }
public double Salary { get; set; }
public Teacher(string a, int b, double c)
{
Name = a;
Id = b;
Salary = c;
}
public void Eat()
{
Console.WriteLine(Name + Id + Salary);
}
}
}标签:c# 、构造器
原文地址:http://745559847.blog.51cto.com/11658719/1857848