C#构造方法重载
来源:互联网 发布:网络舆情分析 编辑:程序博客网 时间:2024/05/16 15:00
在C#中,构造函数可以使用 this 关键字调用同一对象中的另一构造函数。和 base 一样,this 可带参数使用也可不带参数使用,构造函数中的任何参数都可用作 this 的参数,或者用作表达式的一部分。
namespace OOPExample
{
class Program
{
static void Main(string[] args)
{
Employee emp1 = new Employee();
Employee emp2 = new Employee("Tom");
Employee emp3 = new Employee("Lee", 30);
Console.WriteLine("使用默认构造方法:Name={0}, Age={1}", emp1.Name, emp1.Age);
Console.WriteLine("使用带名字参数的构造方法:Name={0}, Age={1}", emp2.Name, emp2.Age);
Console.WriteLine("使用带全参数的构造方法:Name={0}, Age={1}", emp3.Name, emp3.Age);
Console.ReadLine();
}
}
public class Employee {
string _name;
int _age;
public int Age
{
get { return _age; }
set { _age = value; }
}
public string Name
{
get { return _name; }
set { _name = value; }
}
/// <summary>
/// 默认构造方法
/// </summary>
public Employee()
:this("NoName", 0)
{
//_name = "NoName";
}
/// <summary>
/// 带名字参数的构造方法
/// </summary>
/// <param name="name"></param>
public Employee(string name)
: this(name, 0)
{
//_name = name;
}
/// <summary>
/// 带全参数的构造方法
/// </summary>
/// <param name="name"></param>
/// <param name="age"></param>
public Employee(string name, int age) {
_name = name;
_age = age;
}
}
}
转自:http://blog.csdn.net/neolx423/article/details/2017169
namespace OOPExample
{
class Program
{
static void Main(string[] args)
{
Employee emp1 = new Employee();
Employee emp2 = new Employee("Tom");
Employee emp3 = new Employee("Lee", 30);
Console.WriteLine("使用默认构造方法:Name={0}, Age={1}", emp1.Name, emp1.Age);
Console.WriteLine("使用带名字参数的构造方法:Name={0}, Age={1}", emp2.Name, emp2.Age);
Console.WriteLine("使用带全参数的构造方法:Name={0}, Age={1}", emp3.Name, emp3.Age);
Console.ReadLine();
}
}
public class Employee {
string _name;
int _age;
public int Age
{
get { return _age; }
set { _age = value; }
}
public string Name
{
get { return _name; }
set { _name = value; }
}
/// <summary>
/// 默认构造方法
/// </summary>
public Employee()
:this("NoName", 0)
{
//_name = "NoName";
}
/// <summary>
/// 带名字参数的构造方法
/// </summary>
/// <param name="name"></param>
public Employee(string name)
: this(name, 0)
{
//_name = name;
}
/// <summary>
/// 带全参数的构造方法
/// </summary>
/// <param name="name"></param>
/// <param name="age"></param>
public Employee(string name, int age) {
_name = name;
_age = age;
}
}
}
转自:http://blog.csdn.net/neolx423/article/details/2017169
- C#构造方法重载
- 构造方法,方法重载
- C#中构造方法重载的相互调用
- 构造方法重载
- 构造方法的重载
- 构造方法的重载
- 构造方法的重载
- java 构造方法重载
- java--构造方法重载
- 构造方法与重载
- 构造方法与重载
- 构造方法的重载
- 构造方法及重载
- 构造方法的重载
- 构造方法的重载
- Java构造方法重载
- 构造方法重载
- 构造方法的重载
- Linux注销用户
- 自然而流畅—聊聊界面的切换动画
- 在 iOS 应用中直接跳转到 AppStore 的方法
- 安装 Mac OS X 时不要使用大小写敏感的日志文件系统
- 使用antixss防御xss
- C#构造方法重载
- facebook对memcached性能改进的几个方面
- line-height 属性的继承问题
- C#、ASP.NET 环境下如何在 form 身份验证User.Identity中携带像 UserID 这样的信息
- sql得到一个给定用户使用了的权限脚本
- Script_Notepad++如何调试VBS脚本
- iOS 应用中对视频进行抽帧的方法
- 在 iOS 应用中使用 Lua 作为模块粘合剂的方法
- Ubuntu 12.04 下安装Java, MySQL等