安全?规范?
http://topic.csdn.net/u/20070108/12/059a1fcd-ae2f-4833-866a-149fa630c7e3.html
Give you an example. Let 's say you have class A and B as follows.
-----------------------------------------------------
public class A {
public int numberA;
}
public class B {
public A a;
public int numberB;
public B() {
a = new A();
numberB = 0;
}
public int someMethod() {
return numberB / a.numberA;
}
}
------------------------------------------
Then someone else is using your compiled class files.
-----------------------------------------------------
public class C {
public static void main(String[] args) {
B b = new B();
b.numberB = 10;
b.a.numberA = 0;
b.someMethod();
}
}
-------------------------------------------
Then this guy complain that your program has problems. What can you do?
Alternatively, we have the following.
--------------------------------------------------------
public class A {
private int numberA;
public getNumberA() {
return this.numberA;
}
public void setNumberA(int number) {
if (number > 0)
this.numberA = number;
}
}
----------------------------------------------------
Your program is protected (although very much limited in the example).
You 'd better read materials about OO Encapsulation to study further.
分享到:
相关推荐
### C#中的Set和Get用法详解 C#是一种强大的面向对象编程语言,它提供了丰富的功能来帮助开发者创建高效、安全且易于维护的软件。在C#中,`set`和`get`方法是实现封装的关键组成部分,它们主要用于定义属性的行为,...
在C#编程语言中,`get`和`set`是访问器方法,它们用于属性(Property)的定义,提供了一种安全的方式来读取和修改对象的私有成员。属性是类的一个特性,它允许我们像访问字段一样访问数据,但同时提供了额外的控制和...
一、为什么需要 get set 函数? 在面向对象编程中,类的成员变量通常是私有的,以保护类的内部状态不被外部修改。但是,为了使类的成员变量能够被外部访问和修改,就需要使用 get set 函数。get set 函数可以将类的...
3. 在这个对话框中,你可以看到所有可选的成员变量,勾选你想要生成get和set方法的变量。默认情况下,Eclipse会为每个方法添加标准的Javadoc注释,如下所示: ```java /** * @return the name */ public String ...
本文档介绍了一个具体的宏实现方案,即通过 Visual Studio 宏来自动为指定字段生成 Get 和 Set 属性。 #### 宏的基本结构与实现 该宏主要由三个部分组成:`EncapsulateField`、`EncapsulateAllFields` 和 `...
在编写大量具有属性的类时,手动为每个属性编写get和set方法可能会非常耗时。为了解决这个问题,开发者可以利用代码生成工具或IDE(如IntelliJ IDEA、Eclipse)的自动化功能来快速生成这些方法,同时添加注释以提高...
2. 在类的定义中,找到你想为某个成员变量添加get和set方法的地方。 3. 选中该成员变量,然后按下VS2008的快捷键“Alt+Shift+R”。这会弹出一个菜单,其中包含了多种重构选项。 4. 在重构菜单中,选择“属性”或者...
### Java中Set和Get方法的理解 #### 一、引言 在Java编程中,`set`和`get`方法是非常常见的编程模式,特别是在面向对象编程(OOP)中。这两个方法通常用于封装类的属性,从而提供了对这些属性的访问和修改的方式。...
通过`DYNC_Object.java`的示例,我们可以学习如何利用反射来实现bean的`set`和`get`操作,这为我们提供了更大的程序设计自由度,使得代码能够适应不断变化的需求。理解并熟练掌握这一技术,对于提升Java开发能力非常...
例如,我们有一个名为`Person`的类,其中包含一个名为`age`的属性,我们可以这样定义GET和SET方法: ```actionscript public class Person { private var _age:uint; public function get age():uint { return ...
• 将Vehicle类中的Passengers、fuelcap、mpg属性改为 private的并添加set和get方法; • 为Truck类添加cargo属性、get和set方法; • 为Truck类添加构造函数,接收passengers、fuelcap、 mpg、cargo等参数; 编写...
为了解决这一矛盾,C#引入了`get`和`set`访问器,它们允许外部代码以受控的方式访问和修改`private`变量,从而既保证了数据的安全性,又保持了良好的代码交互性。 - **`get`访问器**:用于获取私有变量的值,当其他...
这个"JavaBean getset"的主题聚焦于JavaBean中的get和set方法。 首先,让我们理解什么是getter和setter方法。在面向对象编程中,getter和setter方法是用于访问和修改对象属性的方法。getter方法用于获取对象的属性...
要自定义模板,请按照以下步骤操作: 1. 打开Eclipse首选项(Window > Preferences 或者 Preferences > Windows,取决于你的操作系统)。 2. 在左侧导航树中,展开"Java" > "Code Style" > "Code Templates"。 3....
这里提到的"自定义生成set,get方法注释class文件"就是一种这样的自动化工具,它可以快速地为类的各个字段自动生成带注释的getter和setter方法。 在MyEclipse这样的集成开发环境中,提供了便捷的方式来进行getter和...
C#中的get和set是访问器,用于控制类的私有成员(如字段)的访问。它们是构建属性的关键部分,属性是C#中一种特殊的方法,提供了对类内部数据的封装和保护。属性并不直接表示内存位置,而是提供了一种访问和修改对象...
- 在弹出的对话框中,你可以选择要生成哪些方法(如get、set、is等),以及是否包含final或static变量。确认后,MyEclipse会自动生成对应的方法。 2. **生成字段注释** - 生成字段注释通常是在创建字段时进行。当...
释一:属性的访问器包含与获取(读取或计算)...以下是返回私有字段 name 的值的 get 访问器: 代码如下:private string name; // the name fieldpublic string Name // the Name property{ get { return name; }}
属性头用于指定属性的名称、类型和访问修饰符,而存储器则用于定义属性的get和set访问器。 2. get和set访问器 get访问器用于从对象中读取数据,而set访问器用于向字段写入数据。在C#中,get和set都是可执行的程序...