美文网首页
php中静态类和非静态类

php中静态类和非静态类

作者: changxiaonan | 来源:发表于2017-06-12 12:06 被阅读0次

静态类:类中含有static定义的静态属性或方法的类

静态类访问方法:

1、静态方法不需要实例化对象,可以通过类名直接调用,操作符为双冒号::

     Car::getName();

.2、外部访问公共属性或方法:

     $car->speed;$car->speedUp();

3、内部访问公共属性和方法:

     $this->speed;$this->speedUp();

     if(empty($articleclass_id)) $this->showapp(array('msg'=>'错误的操作'));

4、外部访问静态属性或方法:

     Car::getName();Car::$price;

     $articleclass_id = SUtil::getStr($_GET['id'], 'int');

5、内部访问静态属性:

     self::$price;

6、继承类时,子类内部调用父类静态属性:

     parent::$price;

    class Controller_article extends Controller_basepage {

          function __construct() {

                parent::__construct();

          }

    }

7、如果是非静态方法,需要改方法中没有使用$this,即没有调用非静态的变量/方法,当然,调用静态的变量/方法没有问题。

8、使用$object->… 和使用class::… 都有什么区别:

     1).使用$object->… ,需要执行构造函数创建对象;

     2).使用class::… 调用静态方法/变量,不需要执行构造函数创建对象;

     3).使用class::… 调用非静态方法/变量,也不需要执行构造函数创建对象。

为什么要有静态类????????

--------静态的变量或者是函数是保存的静态内存中的,只有到程序结束时才会被释放,那他是什么时候赋值的呢

是在编译的时候,动态类是在程序运行的时候动态分配的。

如果类中调用一次,静态类在编译的时候需要多做工作,动态类在执行的时候需要多做工作,然而php是动态语言,每一次这两步都不掉,所以对于只运行一次的类,无所谓谁快谁慢。

但是如果一个类在程序当中要多次调用就不一样了,静态类是编译的时候就赋值了,程序之后的运行都可以直接调用过来,而不用动态的分配内存了,就节约了时间,这就是为什么静态类比动态类快的原因(前提是调用多次记得)。

相关文章

  • php中静态类和非静态类

    静态类:类中含有static定义的静态属性或方法的类 静态类访问方法: 1、静态方法不需要实例化对象,可以通过类名...

  • C#笔记二

    一. 静态方法,静态类 (static) 静态和非静态区别 在非静态类(public class)中,既可以有实例...

  • 深入理解C# 静态类与非静态类、静态成员的区别

    深入理解C# 静态类与非静态类、静态成员的区别静态类 静态类与非静态类的重要区别在于静态类不能实例化,也就是说,不...

  • Java-嵌套类

    嵌套类分为两类:静态和非静态。被声明static的嵌套类称为静态嵌套类。非静态嵌套类称为内部类。内部类有两种特殊的...

  • 为什么从静态的方法里调用非静态的方法或变量是非法的?

    结论: 非静态的方法可以调用静态的方法,但是静态的方法不可以调用非静态的方法。 类的静态成员(变量和方法)属于类本...

  • 类中方法中调用本类的方法

    在静态方法中不能调用非静态方法 在非静态方法中可以直接调用类中的方法

  • 为什么Java不能允许非静态内部类中拥有静态声明

    如果在非静态类中拥有静态声明,那么该静态代码域的在类初始化过程中的执行顺序将不明确 非静态内部类和外部类有关联,在...

  • 创建对象时调用顺序

    创建对象时调用顺序如下: ①先初始化父类和子类的静态成员。 ②父类非静态成员。 ③父类构造方法。 ④子类非静态成员...

  • java的内部类

    前言 面向对象程序设计中,可以在一个类的内部定义另一个类(静态嵌套类和非静态嵌套类)。静态嵌套类使用很少,最重要的...

  • 静态的应用-工具类可以使用静态

    1、Java中测试类作用:创建其他类对象,调用其他类功能 2、main方法是静态的,静态中只能引用静态,不能引用非...

网友评论

      本文标题:php中静态类和非静态类

      本文链接:https://www.haomeiwen.com/subject/vjllqxtx.html