属性访问函数
2016-05-24 10:16
260 查看
属性访问函数(简称属性,property):主要用于对控制字段的访问。
包含get,set函数,分别用于值的读取和设置。
理解:就是对private字段的查询和修改。只可以通过属性再对私有字段进行查询和修改。
属性本质上是函数,所以其代码中可以进行各种控制和计算。
ep:
private int birthyear;
public int Age
{
get{ return 2012-birthyear;}
}
下面是一段完整的程序:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace A
{
public class Address
{
public string province;
public string city;
public string detail;
}
public class student
{
private int age;
private string name;
public string Name
{
get { return name; }
set { name = value;}
}
public int Age { get; set; }//自动属性:1.必须同时包含set,get 2.在当前类的方法中也不能直接访问
private Address address;
public Address Address
{
set { address = value; }
get { return address; }
}
//-1-public student()
//{
//address = new Address();
//}
}
class Main_Program
{
static void Main()
{
//-1-student s1 = new student() { Name = "wangcx", Age = 20};
student s1 = new student() { Name = "wangcx",Age = 20,Address = new Address()};//公有属性可以直接赋值
Console.WriteLine(s1.Age);
Console.WriteLine (s1.Name);
Console.WriteLine("将名字重新输入");
s1.Name = Console.ReadLine();
s1.Address.province = "江苏";
s1.Address.city = "连云港";
Console.WriteLine("{0} {1} {2}", s1.Name , s1.Address.province , s1.Address.city);
}
}
}
包含get,set函数,分别用于值的读取和设置。
理解:就是对private字段的查询和修改。只可以通过属性再对私有字段进行查询和修改。
属性本质上是函数,所以其代码中可以进行各种控制和计算。
ep:
private int birthyear;
public int Age
{
get{ return 2012-birthyear;}
}
下面是一段完整的程序:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace A
{
public class Address
{
public string province;
public string city;
public string detail;
}
public class student
{
private int age;
private string name;
public string Name
{
get { return name; }
set { name = value;}
}
public int Age { get; set; }//自动属性:1.必须同时包含set,get 2.在当前类的方法中也不能直接访问
private Address address;
public Address Address
{
set { address = value; }
get { return address; }
}
//-1-public student()
//{
//address = new Address();
//}
}
class Main_Program
{
static void Main()
{
//-1-student s1 = new student() { Name = "wangcx", Age = 20};
student s1 = new student() { Name = "wangcx",Age = 20,Address = new Address()};//公有属性可以直接赋值
Console.WriteLine(s1.Age);
Console.WriteLine (s1.Name);
Console.WriteLine("将名字重新输入");
s1.Name = Console.ReadLine();
s1.Address.province = "江苏";
s1.Address.city = "连云港";
Console.WriteLine("{0} {1} {2}", s1.Name , s1.Address.province , s1.Address.city);
}
}
}
相关文章推荐
- CodeForces - 416A (判断大于小于等于 模拟题)
- 使用Redis保存Spring session(基于XML配置文件)
- session 、cookie、token的区别
- CodeForces - 407A
- CodeForces - 407B
- 模式识别(Pattern Recognition)学习笔记(十二)--SVM(广义):大间隔
- 83-Add Binary
- awk入门
- linux生成指定大小的文件
- 后台给GridView绑定数据时给每一行添加一个JS方法
- 网格弹簧质点系统模拟(Spring-Mass System by Fast Method)附源码
- CodeForces - 405C
- GridView相关问题解决
- CodeForces - 405A
- CodeForces - 404B(模拟题)
- CodeForces - 404A(模拟题)
- Codeforces 390A( 模拟题)
- Codeforces 389B(十字模拟)
- Codeforces 389A (最大公约数)
- Codeforces 417 C (递推)