我正在使用PHP作为我的编程语言。我真的不明白静态方法和变量的使用。
由于
答案 0 :(得分:2)
将类属性或方法声明为静态使它们可以访问,而无需实例化类。声明为static的属性无法使用实例化的类对象访问(尽管静态方法可以)。
当您处理基于OOP的大型项目时,您无疑将使用许多类(父类和子类)。这样做的一个不幸结果是,为了访问来自不同类的元素,必须手动传递每个类(或者更糟糕的是,将实例存储在全局变量中)。这可能令人沮丧,并且可能导致代码混乱和整体糟糕的项目设计。值得庆幸的是,可以从任何上下文(即脚本中的任何位置)访问静态元素,因此您可以访问这些方法,而无需将类的实例从对象传递到对象。
还要检查此Does static method in PHP have any difference with non-static method?
答案 1 :(得分:2)
当一个方法没有绑定到实例变量时,它应该是静态的。如果它正在进行平面处理并从函数输入中获取所有变量。它可以标记为静态。
它的优点是您无需创建实例来调用功能,从而节省内存。
答案 2 :(得分:0)
将类属性或方法声明为静态使它们可以访问,而无需实例化类。声明为static的属性无法使用实例化的类对象
进行访问<?php class Foo {
public static function aStaticMethod() {
// ...
} }
$classname = 'Foo'; $classname::aStaticMethod(); // ( PHP 5.3.0) ?>
“它可以在没有OBJECT的情况下启动”