[法1] 通过共有方法返回私有成员
class person
{
string name; //私有字段
int age;
public person(string name, int age) //构造函数1
{
this.name = name;
this.age = age;
}
public person(string name) //构造函数2
{
this.name = name;
}
public person() : this("sb", 20) { } //构造函数3
public string getName() //公有方法
{
return this.name;
}
public int getAge()
{
return this.age;
}
}
class test
{
static void Main()
{
person p = new person(); //构造函数3
Console.WriteLine("姓名:"+p.getName()+" 年龄:"+p.getAge());
person p2 = new person("李四",40); //构造函数1
Console.WriteLine("姓名:" + p2.getName() + " 年龄:" + p2.getAge());
person p3 = new person(" 张三"); //构造函数2
Console.WriteLine("姓名:" + p3.getName() + " 年龄:" + p3.getAge());
}
}
[法2] 通过访问私有成员的属性
class person
{
string name;
int age;
public string Name //属性
{
get { return name; }
set { name = value; }
}
public int Age
{
get { return age; }
set { age = value; }
}
public person(string name, int age) //构造函数1
{
this.name = name;
this.age = age;
}
public person(string name) //构造函数2
{
this.name = name;
}
public person() : this("陶萱", 20) { } //构造函数3
public void sayHello()
{
Console.WriteLine("Hello,my name is "+this.name);
}
public void sayHello(person another)
{
Console.WriteLine("Hello,"+another.name+"my name is "+this.name);
}
public bool isOlderThan(int anAge)
{
if(this.age<anAge)
return false;
else
return true;
}
public string getName()
{
return this.name;
}
public int getAge()
{
return this.age;
}
}
class test
{
static void Main()
{
person p = new person(); //构造函数3
Console.WriteLine("姓名:"+p.getName()+" 年龄:"+p.getAge());
Console.WriteLine("姓名:"+p.Name+" 年龄:"+p.Age ); //属性的调用
person p2 = new person("王昱",40); //构造函数1
Console.WriteLine("姓名:" + p2.getName() + " 年龄:" + p2.getAge());
person p3 = new person("张志祥"); //构造函数2
Console.WriteLine("姓名:" + p3.getName() + " 年龄:" + p3.getAge());
}
}