展开全部
构造函数最为主要的作用初始化!在实例化一个对象的时候 你可以给这个对象赋初值! 也就是说 只要你实例化一个对象 系统就会自动调用一下构造函数 不论 它是在 本类中还是在别的类中!如果 自己不写构造函数有系统默认的构造函数!
我们 先建个 teacher 类
class teacher
{
private string name; //姓名
public string Name
{
get { return name; }
set { name = value; }
}
private int age; //年龄
public int Age
{
get { return age; }
set { age = value; }
}
private string Address;//住址
public string Address1
{
get { return Address; }
set { Address = value; }
}
public teacher()
{
name = "";
age = 0;
Address = "";
}
public teacher(string name)
{
//this.name指代 你自己在刚开始定义的 name 意思是 this指代当前对象
// 后边那个name 是 传进去的name
this.name = name;
age = 0;
Address = "";
}
public teacher(string name ,int age)
{
this.name=name;
this.age = age;
Address = "";
}
public teacher(string name ,int age, string address)
{
this.name = name;
this.age = age;
this.Address = address;
}
从 第一个 public teacher ()开始 全是构造函数 你不给 参数 它调用 第一个构造函数
意思即你给相应的参数 它 调用相应的构造函数
下边 在 另外一个 类 test 里边 为了便于你理解 对象 名我用 汉字:
teacher 张老师 =new teacher();
这个实例化 的张老师 调用的是第一个没有参数的 构造函数 这个时候:
张老师.Name="";
张老师.Age=0;
张老师.Address=""; 构造函数 其实就是在你没给它 赋值的时候 它在创建对象的时候 就已经赋值了!
我们在实例化一个对象:
teacher 李老师 =new teacher(“李老师”);
这 个时候 它 调 的是 第2个构造函数 :
这个时候:
李老师.Name=“李老师”;
李老师.Age=0;
李老师.Address="";
现在 来看就很好理解了把 你 不给它参数 在实例化时j就调 没有参数的构造函数;
给它一个Name 它就调 第 2个 ; 给它 3个 参数 它就把 3个 属性全都赋值!
我们 先建个 teacher 类
class teacher
{
private string name; //姓名
public string Name
{
get { return name; }
set { name = value; }
}
private int age; //年龄
public int Age
{
get { return age; }
set { age = value; }
}
private string Address;//住址
public string Address1
{
get { return Address; }
set { Address = value; }
}
public teacher()
{
name = "";
age = 0;
Address = "";
}
public teacher(string name)
{
//this.name指代 你自己在刚开始定义的 name 意思是 this指代当前对象
// 后边那个name 是 传进去的name
this.name = name;
age = 0;
Address = "";
}
public teacher(string name ,int age)
{
this.name=name;
this.age = age;
Address = "";
}
public teacher(string name ,int age, string address)
{
this.name = name;
this.age = age;
this.Address = address;
}
从 第一个 public teacher ()开始 全是构造函数 你不给 参数 它调用 第一个构造函数
意思即你给相应的参数 它 调用相应的构造函数
下边 在 另外一个 类 test 里边 为了便于你理解 对象 名我用 汉字:
teacher 张老师 =new teacher();
这个实例化 的张老师 调用的是第一个没有参数的 构造函数 这个时候:
张老师.Name="";
张老师.Age=0;
张老师.Address=""; 构造函数 其实就是在你没给它 赋值的时候 它在创建对象的时候 就已经赋值了!
我们在实例化一个对象:
teacher 李老师 =new teacher(“李老师”);
这 个时候 它 调 的是 第2个构造函数 :
这个时候:
李老师.Name=“李老师”;
李老师.Age=0;
李老师.Address="";
现在 来看就很好理解了把 你 不给它参数 在实例化时j就调 没有参数的构造函数;
给它一个Name 它就调 第 2个 ; 给它 3个 参数 它就把 3个 属性全都赋值!
展开全部
构造函数就是在实例化的时候自动调用的一个内部函数,简单的讲就是一new 的时候,会执行的一段代码。构造函数仅在实例化的时候被调用,且只调用一次,不能被外部代码显示调用。构造函数作用就是class的初始化操作。比如Winform在实例化时候,会在构造函数设置控件的状态属性等,以便在show的时候,窗体能够正确显示。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
构造函数就是放类实例化时,初始化一下环境,比如给成员赋初始值、实例化某些对象等,
如果有数据要传值,建议做一个构造函数要好一些,因为在很多情况下可能用户关心的只是执行的结果,如:
public class Student{
private string m_Name;
private bool m_Sex;
public Student(string name,bool sex){
m_Name=name;
m_Sex=sex;
}
public string GetInfo(){
return String.Format("姓名:{0},性别:{1}",m_Name,m_Sex ? "男" : "女");
}
}
如果有数据要传值,建议做一个构造函数要好一些,因为在很多情况下可能用户关心的只是执行的结果,如:
public class Student{
private string m_Name;
private bool m_Sex;
public Student(string name,bool sex){
m_Name=name;
m_Sex=sex;
}
public string GetInfo(){
return String.Format("姓名:{0},性别:{1}",m_Name,m_Sex ? "男" : "女");
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
加载类时会自动调用他 你可以用他实现属性的初始化 每个类有默认有一个无参构造函数 你可以重载 你也可以调用构造函数给别的类传递参数初始化别的类
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
构造函数就是在实例化的时候自动调用的一个内部函数,简单的讲就是一new 的时候,会执行的一段代码。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询