C++的类中可以有三种内容:成员变量、成员函数和友元。
一般来说,成员变量描述类的属性,成员函数描述类的操作,友元则是一种特殊的声明,被声明为友元的函数或类可以操作自己的私有成员变量和成员方法。
在Java中,类的成员有两类:属性,相当于C++的成员变量;方法,相当于C++的成员函数。
而在C#中,类的成员有四种:字段、属性、方法和事件(事件还没学到,暂缓解释)。
字段相当于C++中的成员变量和Java中的属性,就是在类中定义的变量(可以是基本类型或引用类型),一般来说,字段都被定义为私有。
方法相当于C++中的成员函数和Java中的方法,也就是在类里面定义的函数。
新的东西之一:属性
先用Java来说,Java中,因为类的属性一般定义为私有,在类的外部不能被操作,所以必须提供相应的函数来设置或获取私有属性的值。一般来说,设置属性值的方法以set开头,获取属性值的方法以get开头。
虽然在C#中也可以用同样的方法来操作私有字段,不过C#中提供了一种新的特性来达到这一目的,这就是属性。
首先来看属性的定义:
访问修饰符 类型 属性名
{
get
{
代码段
}
set
{
代码段
}
}
从形式上看,属性的定义很像方法的定义,只是没有参数而已。
再来看属性的使用,使用属性时很像是使用共有字段。
可以给属性赋值,也可以直接使用属性的值。例如:
class MyClass { public int MyInt //名为MyInt的公有属性 { get { //代码段 } set { //代码段 } } }
在程序中,可以这样来使用该属性
MyClass c = new MyClass(); c.MyInt = 100; // Console.WriteLine(c.MyInt);
是不是很像使用字段呢。
时间: 2024-10-21 00:28:16