C#属性
2013-09-27 20:27
169 查看
属性:get { //读属性代码 } set { //写属性代码 }
public class Person
{
private string name;
public string Name
{
get{return name;}
set{ name=value;}
}
}
属性可以忽略get或set访问器,但是不能两个都忽略.
set访问器包含一个隐藏的参数value,该参数包含从客户代码传送过来的值.
公共属性及其底层类型最好使用相同的名称,因为它们之间的联系将很清晰.
字段使用camelCase(xxXxx),如dateOfBirth,而属性使用PacalCase(XxXxx),如DateOfBirth.一些开发人员喜欢在字段的开头使用下划线,如_Name,属性也应使用名词来命名.
c#通过属性特性读取和写入字段,而不直接读取和写入,以此来提供对类中字段的保护.
属性按可以访问的类型分为三种不同的类型:
一.读/写属性
读/写属性是一个具有get()和set()访问器的属性.
语法: [访问修饰符] 数据类型 属性
{
get{ };
set{ };
}
二.只读属性
仅具有get()访问器属性称为只读属性.
语法: [访问修饰符] 数据类型 属性名
{
get{ };
}
三.只写属性
仅具有set()访问器属性称为只写属性,不推荐使用只写属性.
语法: [访问修饰符] 数据类型 属性名
{
set{ };
}
例子:
1.Student类
2.main
public class Person
{
private string name;
public string Name
{
get{return name;}
set{ name=value;}
}
}
属性可以忽略get或set访问器,但是不能两个都忽略.
set访问器包含一个隐藏的参数value,该参数包含从客户代码传送过来的值.
公共属性及其底层类型最好使用相同的名称,因为它们之间的联系将很清晰.
字段使用camelCase(xxXxx),如dateOfBirth,而属性使用PacalCase(XxXxx),如DateOfBirth.一些开发人员喜欢在字段的开头使用下划线,如_Name,属性也应使用名词来命名.
c#通过属性特性读取和写入字段,而不直接读取和写入,以此来提供对类中字段的保护.
属性按可以访问的类型分为三种不同的类型:
一.读/写属性
读/写属性是一个具有get()和set()访问器的属性.
语法: [访问修饰符] 数据类型 属性
{
get{ };
set{ };
}
二.只读属性
仅具有get()访问器属性称为只读属性.
语法: [访问修饰符] 数据类型 属性名
{
get{ };
}
三.只写属性
仅具有set()访问器属性称为只写属性,不推荐使用只写属性.
语法: [访问修饰符] 数据类型 属性名
{
set{ };
}
例子:
1.Student类
using System; using System.Collections.Generic; using System.Text; namespace lession8 { class Student { private string name; private int age; public string Name { get { return name; } set { name = value; } } public int Age { get{return age;} set { age = value; } } } }
2.main
using System; using System.Collections.Generic; using System.Text; namespace lession8 { class Program { static void Main(string[] args) { Student s = new Student(); s.Name = "Tom"; s.Age = 20; Console.WriteLine(s.Age); Console.WriteLine(s.Name); Console.ReadLine(); } } }
相关文章推荐
- Halcon C#.net 编程指导(5): 异常处理(Error Handing)
- 将 C# 编译为原生机器码
- Halcon C#.net 编程指导(4): 可视化
- C# 调用导致堆栈不对称。原因可能是托管的 PInvoke 签名与非托管的目标签名不匹配
- Halcon C#.net 编程指导(3): 元组(Tuples)的使用
- c# 获取移动硬盘信息、监听移动设备的弹出与插入事件
- c# 多显示器设置主屏幕(Set primary screen for multiple monitors)
- C#方法的参数
- VS2010在C#头文件中添加文件注释的方法
- C#.NET Split 的几种使用方法
- C# 通过PKCS#10证书申请,生成一个cer格式的设备证书
- C#中绘图时遇到滚动条问题
- C# 图片识别(支持21种语言)
- C#实现CAD数据转shape或mdb
- C# 委托与事件
- 关于C#中readonly
- C# - Capture Full IE Document
- 【C#中引用资源文件的几个方法】
- 【C#序列化反序列化深入学习】
- C#中提示框语句进行判断