1
2
这不是vb.net固有的概念。它是.NET框架和OOP的一部分。长话短说,这只是客户机使用/与对象交互的方式,以迫使他/她遵循特定的使用模式。它是一种在可以实现某些逻辑的层之后读取/设置私有成员/变量的值的方法。例如,在名为account的类的setter实现中。假设它有一个名为balance的属性,它是string数据类型(例如,为了方便起见),但只有数值。
因此,为了提供对象数据的一致性(在读取/设置的同时),我们分别有getter和setter。 现在,上面类的setter可以这样编写:
|
2
2
我不使用Visual Basic,但原理如下:
你有一个
您将为此变量(也称为访问器和赋值器方法)创建一个get和set方法,该变量的访问级别为public。这将允许您更多地控制如何设置或检索值。以下是一些伪代码:
使用这个setter方法,您可以确保
有道理? |
3
2
mutator(setter)和accessors(getter)是一种隐藏的重写赋值运算符的方法。所以,你有一个公共场地,教室大小。您可以轻松获取和设置其值:
但是如果你知道整个学校只有300把椅子怎么办?使用赋值函数将赋值限制为<=300。使用mutator,您不必让类的用户负担调用setClassRoomSize(300)的负担,而是允许他们像字段一样分配您的属性。 这是一个很糟糕的例子。事实上,当教室大小超过合理值时,您很可能希望抛出异常,而不是覆盖该值。在一个变元(或访问器)内部抛出异常是一种糟糕的形式。因此,在本例中,您实际上需要创建一个setClassRoomSize()方法。但你明白了。 至于自动创建,除了设置和获取类的私有字段之外,它们中只有很少的值,除了,1)它们可以在自定义控件中显示,而字段不能,2)一些协议(COM/DCOM?)需要它们来进行分配,3)它们提供访问限制(只读和只写属性在字段中没有等价的属性),4)六个月后,有人将需要将您的公共字段转换为私有字段,并为所有字段创建访问器和变异器,并且可能会指责必须做您的工作。 |
4
1
用
例如,假设您正在创建一个带有标签的用户控件,并且您希望让使用用户控件的人员获取和设置标签的文本,而不让他们访问标签本身。(注意,如果他们真的想要,他们可以通过
你可以用两种方法
当你写一个属性时,你写
例如:
|
5
1
你有 一 属性可以具有getter和setter的某种组合。getter是在 读取自 财产。本代码 必须 返回一个值。setter是在 指派给 财产。 |
Karl · 如何引发PrintPage的事件? 2 年前 |
Daniel · LINQ从列表的dataTable中提取部分匹配 2 年前 |
limelatte · 如何在datagridview中屏蔽特定列? 2 年前 |
Orsi · 选择嵌套列表的最大值和最小值。网 2 年前 |
D T · 如何为Excel Com设置公式? 2 年前 |
Lenin · 将数组中的每个元素与另一个数组中的相应元素相乘 2 年前 |