C++;Vs PHP-面向对象问题:

C++;Vs PHP-面向对象问题:,php,oop,Php,Oop,我最近一直在使用PHP,虽然我发现该语言非常简单,来自C++/C#/python等,但在OO表示方面,我遇到了一些奇怪的差异(可能)。如果有人能回答几个简短的问题,我将非常感激:) 构造函数能否在PHP中返回结果值 当类中的一个成员函数调用类中的另一个成员函数时 作为一个类,我必须使用self::scoping还是仅仅是一个提示 为什么会有self::和$this->有什么区别 是否需要删除使用new或will创建的对象 超出范围删除它?我不确定它是否真的充满活力,或者 如果有像C#那样的垃圾收

我最近一直在使用PHP,虽然我发现该语言非常简单,来自C++/C#/python等,但在OO表示方面,我遇到了一些奇怪的差异(可能)。如果有人能回答几个简短的问题,我将非常感激:)

  • 构造函数能否在PHP中返回结果值

  • 当类中的一个成员函数调用类中的另一个成员函数时 作为一个类,我必须使用self::scoping还是仅仅是一个提示

  • 为什么会有self::和$this->有什么区别

  • 是否需要删除使用new或will创建的对象 超出范围删除它?我不确定它是否真的充满活力,或者 如果有像C#那样的垃圾收集

  • 我知道问题有点简单,我一直看到使用所有这些东西的代码——但我还没有看到足够具体的东西,家里也没有一本好的php书籍:),所以提前感谢您的回答

  • 否,它会自动返回
    $this
    的实例(除非引发异常)
  • 访问静态成员时需要使用
    self::
  • self::
    用于访问静态成员,
    $this->
    用于访问实例成员
  • 否,当对该对象的所有引用都消失时,该对象将被垃圾收集
  • 一,。构造函数能否在PHP中返回结果值

    不可能。(这是可能的,但问题已经解决了——以防您看到提示其他内容的代码。)

    二,。当类中的一个成员函数调用类中的另一个成员函数时,我必须使用self::scoping还是这只是一个提示

    这在技术上通常有效,请不要这样做。内部对象实例使用
    $this
    访问自己的属性和方法

    三,。为什么会有self::和$this->有什么区别

    这不是完整的答案,但对于介绍:
    self::
    用于静态函数调用和成员访问。看

    四,。是否需要删除使用new创建的对象,或者是否将其移出范围?我不确定它是否真的是动态的,或者是否有像C#那样的垃圾收集


    您不需要删除对象,这里有一个垃圾收集器。当对象离开作用域时,它们将被删除(zval的容器引用计数为1)。请记住,在PHP中,所有内容都会在请求结束时删除。您的应用程序通常只运行一小部分秒,然后在脚本(和PHP)终止时进程的内存将被清除。

    至少#3和#4各有十几个副本(我发现每个都有一个常用的副本:和)。1。请参阅:
    void\u构造([mixed$args[,$…])
    AFAIK,no,构造函数不能返回任何内容。3。与
    $this
    的范围不同
    self
    指的是静态方法和属性,
    $this
    指的是当前的(非静态)对象实例。你应该从这里开始:漂亮简洁,我喜欢!)+感谢你告诉我self::有效但不可取:)这就是我问这个问题的主要原因。