asp.net get set用法第1/2页
程序员文章站
2022-05-22 13:52:38
在早期学习c#的过程中,经常遇到这样的语句: public string studentname { &...
在早期学习c#的过程中,经常遇到这样的语句:
public string studentname
{
get{return stuname;}
set{stuname=value;}
}
当时也不是很明白为什么要这样?学深了c#后,又没法对其做一个总结。今天看了《visual c#.net程序设计教程》这本书,总结得不错,做下笔记:
在许多面向对象程序设计语言中,属性(property)是指对象的特征和状态,具体地说就是指对象的数据成员。程序员可以指定数据成员能否被外界直接访问,如果数据成员被指定为public的,外界就可以用“对象名.公有数据成员名”访问该成员。c#是完全面向对象的语言,c#倡导一种新途径,对数据成员能够更好地封装和保护,同时又向外界提供更有效的访问形式。c#中用来达到这个目标的就是“属性”,而那些数据成员,在c#中称为“字段”或“域”。
属性的定义和使用
属性由两个部分组成:属性头和存储器。存储器分为get访问器和set访问器。声明属性的一般形式为:
修饰符 类型 属性名
{
get //get存取程序
{...}
set //set存取程序
{...}
}
属性的修饰符可以是任何访问控制符,还可以被定义为静态。get和set是一种特定的方法,get用来从对象中读取数据,而set用来向字段写入数据,将外界的数据写入字段时,c#使用value表示输入的数据,value可以说是一个准关键字,例如:
set{afield=value;}
以下是一个简单的例子,演示了属性的基本形式和用法:
using system;
using system.collections.generic;
using system.text;
namespace 属性的用法
{
public class student
{
private string stuname = "阿会楠";
public string studentname
{
get { return stuname; }
set { stuname = value; }
}
}
class program
{
static void main(string[] args)
{
student stu = new student();
console.write(stu.studentname);
console.readkey();
}
}
}
上面代码中定义了一个属性studentname,它包含get访问器和set访问器。属性studentname封装了类student中的字段stuname,字段如果没有加访问控制符,被默认为private,外界不能直接访问它,现在外界可以通过studentname属性*地存取stuname字段了。
属性的get和set都是可执行的程序语句组合,具有行为的特点;而使用具有get访问器和set访问器的属性时候就像使用字段一样,即可以作为左值接受数据,又可以作为右值输出数据,系统正是按照属性出现在语句中的位置,自动地选择是调用get还是调用set。
public string studentname
{
get{return stuname;}
set{stuname=value;}
}
当时也不是很明白为什么要这样?学深了c#后,又没法对其做一个总结。今天看了《visual c#.net程序设计教程》这本书,总结得不错,做下笔记:
在许多面向对象程序设计语言中,属性(property)是指对象的特征和状态,具体地说就是指对象的数据成员。程序员可以指定数据成员能否被外界直接访问,如果数据成员被指定为public的,外界就可以用“对象名.公有数据成员名”访问该成员。c#是完全面向对象的语言,c#倡导一种新途径,对数据成员能够更好地封装和保护,同时又向外界提供更有效的访问形式。c#中用来达到这个目标的就是“属性”,而那些数据成员,在c#中称为“字段”或“域”。
属性的定义和使用
属性由两个部分组成:属性头和存储器。存储器分为get访问器和set访问器。声明属性的一般形式为:
修饰符 类型 属性名
{
get //get存取程序
{...}
set //set存取程序
{...}
}
属性的修饰符可以是任何访问控制符,还可以被定义为静态。get和set是一种特定的方法,get用来从对象中读取数据,而set用来向字段写入数据,将外界的数据写入字段时,c#使用value表示输入的数据,value可以说是一个准关键字,例如:
set{afield=value;}
以下是一个简单的例子,演示了属性的基本形式和用法:
using system;
using system.collections.generic;
using system.text;
namespace 属性的用法
{
public class student
{
private string stuname = "阿会楠";
public string studentname
{
get { return stuname; }
set { stuname = value; }
}
}
class program
{
static void main(string[] args)
{
student stu = new student();
console.write(stu.studentname);
console.readkey();
}
}
}
上面代码中定义了一个属性studentname,它包含get访问器和set访问器。属性studentname封装了类student中的字段stuname,字段如果没有加访问控制符,被默认为private,外界不能直接访问它,现在外界可以通过studentname属性*地存取stuname字段了。
属性的get和set都是可执行的程序语句组合,具有行为的特点;而使用具有get访问器和set访问器的属性时候就像使用字段一样,即可以作为左值接受数据,又可以作为右值输出数据,系统正是按照属性出现在语句中的位置,自动地选择是调用get还是调用set。
1
下一篇: 眼部护理避开五个误区 重塑闪亮双眸