c#中 构造函数的优势 是在本来的类中有还是在别的类实例化他所在的类中更有优势 本人不太懂

以及与其他函数的区别谢谢请勿复制... 以及与其他函数的区别 谢谢 请勿复制 展开
 我来答
lydx2006551139
2011-10-24 · TA获得超过138个赞
知道小有建树答主
回答量:177
采纳率:100%
帮助的人:142万
展开全部
构造函数最为主要的作用初始化!在实例化一个对象的时候 你可以给这个对象赋初值! 也就是说 只要你实例化一个对象 系统就会自动调用一下构造函数 不论 它是在 本类中还是在别的类中!如果 自己不写构造函数有系统默认的构造函数!
我们 先建个 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个 属性全都赋值!
电驴侠
2011-10-28 · 超过42用户采纳过TA的回答
知道小有建树答主
回答量:138
采纳率:60%
帮助的人:56.4万
展开全部
构造函数就是在实例化的时候自动调用的一个内部函数,简单的讲就是一new 的时候,会执行的一段代码。构造函数仅在实例化的时候被调用,且只调用一次,不能被外部代码显示调用。构造函数作用就是class的初始化操作。比如Winform在实例化时候,会在构造函数设置控件的状态属性等,以便在show的时候,窗体能够正确显示。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
冷水江服务
2011-10-14 · TA获得超过113个赞
知道小有建树答主
回答量:196
采纳率:0%
帮助的人:129万
展开全部
构造函数就是放类实例化时,初始化一下环境,比如给成员赋初始值、实例化某些对象等,
如果有数据要传值,建议做一个构造函数要好一些,因为在很多情况下可能用户关心的只是执行的结果,如:
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 ? "男" : "女");
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
IaminIT
2011-10-24 · 超过24用户采纳过TA的回答
知道答主
回答量:99
采纳率:0%
帮助的人:47.7万
展开全部
加载类时会自动调用他 你可以用他实现属性的初始化 每个类有默认有一个无参构造函数 你可以重载 你也可以调用构造函数给别的类传递参数初始化别的类
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
16836339
2011-10-28 · TA获得超过2393个赞
知道大有可为答主
回答量:2405
采纳率:0%
帮助的人:4343万
展开全部
构造函数就是在实例化的时候自动调用的一个内部函数,简单的讲就是一new 的时候,会执行的一段代码。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式