黑马程序员技术交流社区
标题:
构造函数调用构造函数的问题
[打印本页]
作者:
朱勋
时间:
2011-12-11 21:16
标题:
构造函数调用构造函数的问题
在继承中,子类一般要对所继承的父类的成员变量进行初始化是通过调用基类的构造函数进行初始化,但是构造函数可以重载,构造函数之间可以进行互相调用怎么理解。
作者:
王旭
时间:
2011-12-11 22:45
构造函数的操作,说白了就是在实例化对象时,按照不同的需要去构造特殊的对象。构造函数之间的调用应该说和不会出现在同一个类内部,往往是在另一个类中构造另一个对象时使用。
作者:
朱勋
时间:
2011-12-11 23:06
王旭 发表于 2011-12-11 22:45
构造函数的操作,说白了就是在实例化对象时,按照不同的需要去构造特殊的对象。构造函数之间的调用应该说和 ...
构造函数调用够造函数就是出现在同一类当中,
using System;
namespace WindowsApplication2
{
/// <summary>
/// Summary description for BankCustomer.
/// </summary>
public class BankCustomer
{
public string firstName;
public string lastName;
private double balance;
private Person[] relatives;
public BankCustomer()
{
//
// TODO: Add constructor logic here
//
this.firstName = "";
this.lastName = "";
this.balance = 0.0;
relatives = new Person[100];
}
public BankCustomer(string fn, string ln, double bal)
{
this.firstName = fn;
this.lastName = ln;
this.balance = bal;
}
// public BankCustomer(string fn, string ln) // start with 0.0 balance
// {
// this.firstName = fn;
// this.lastName = ln;
// this.balance = 0.0;
// }
public BankCustomer(string fn, string ln) // start with 0.0 balance
: this(fn, ln, 0.0)
{ }
public double Balance
{
get
{
return this.balance;
}
set
{
if(value<0.0)
System.Console.WriteLine("The amount under zero");
else
this.balance = value;
}
}//property
public Person this [int index]
{
get
{
return relatives[index];
}
set
{
if (value != null)
{
relatives [index] = value;
}
}
}//indexer
}
}
复制代码
作者:
朱勋
时间:
2011-12-11 23:06
本帖最后由 朱勋 于 2011-12-11 23:16 编辑
王旭 发表于 2011-12-11 22:45
构造函数的操作,说白了就是在实例化对象时,按照不同的需要去构造特殊的对象。构造函数之间的调用应该说和 ...
构造函数调用够造函数就是出现在同一类当中,
using System;
namespace WindowsApplication2
{
/// <summary>
/// Summary description for BankCustomer.
/// </summary>
public class BankCustomer
{
public string firstName;
public string lastName;
private double balance;
private Person[] relatives;
public BankCustomer()
{
//
// TODO: Add constructor logic here
//
this.firstName = "";
this.lastName = "";
this.balance = 0.0;
relatives = new Person[100];
}
public BankCustomer(string fn, string ln, double bal)
{
this.firstName = fn;
this.lastName = ln;
this.balance = bal;
}
// public BankCustomer(string fn, string ln)
// {
// this.firstName = fn;
// this.lastName = ln;
// this.balance = 0.0;
// }
public BankCustomer(string fn, string ln) //调用了三个参数的构造函数
: this(fn, ln, 0.0)
{ }
public double Balance
{
get
{
return this.balance;
}
set
{
if(value<0.0)
System.Console.WriteLine("The amount under zero");
else
this.balance = value;
}
}//property
public Person this [int index]
{
get
{
return relatives[index];
}
set
{
if (value != null)
{
relatives [index] = value;
}
}
}//indexer
}
}
复制代码
作者:
王旭
时间:
2011-12-11 23:22
http://www.cnblogs.com/goalbell/articles/922862.html
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2