1
61
您对静态变量的描述更适合C中的描述。面向对象术语中静态变量的概念在概念上是不同的。我从这里学到了Java经验。静态方法和字段在概念上不属于某个实例时非常有用。 考虑一个包含一些公共值(如pi或e)和一些有用函数(如sin和cos)的数学类。创建单独的实例来使用这种功能是没有意义的,因此它们作为静态的更好:
在OO语言(同样,从Java透视图)中,函数也称为方法,不能有静态的局部变量。只有类可以有静态成员,正如我所说,与C中的静态概念相比,这一点很难做到。 |
2
15
静态方法不会将“this”指针传递给对象,因此它们不能引用非静态变量或方法,但因此在运行时效率更高(参数更少,创建和销毁对象时没有开销)。 它们可以用于将内聚方法分组为单个类,或者作用于类的对象,例如工厂模式中的对象。 |
3
12
静态方法的语法(php):
客户端代码:
这比:
作为
|
4
8
本质上,静态方法允许您用面向对象的语言编写过程代码。它允许您调用方法,而不必先创建对象。 |
5
5
在类中使用静态方法的唯一时间是给定方法不需要创建类的实例时。这可能是在尝试返回共享数据源(如singleton)或执行不修改对象内部状态的操作时(例如string.format)。 这个维基百科条目很好地解释了静态方法: http://en.wikipedia.org/wiki/Method_(computer_science)#Static_methods |
6
3
静态变量和静态方法绑定到类,而不是类的实例。 静态方法不应包含“状态”。任何与状态相关的东西都应该绑定到一个实例化的对象,而不是类。 |
7
2
静态方法的一个常见用法是命名的构造函数习惯用法。见: http://www.parashift.com/c++-faq-lite/ctors.html#faq-10.8 . |
8
2
|
9
1
静态变量用于在类的不同对象之间共享某些信息。由于变量是共享的,因此每个对象都可以更新它,并且更新后的值也可用于所有其他对象。 由于静态变量可以共享,因此这些变量通常称为类变量。 |
Schadre · C-plus编码错误 2 年前 |
Nithin K · 即使类属性的类型正确,也会获取异常 2 年前 |
amirreza870 · Python OOP-更改类文本 2 年前 |
A_K · 使用cat或打印方法打印部分内容的子集闭包 2 年前 |
Mo Fatah · 如何使用Python类打印数独板? 2 年前 |