ホームページ >バックエンド開発 >PHPチュートリアル >new static() と new self() の違いと類似点、staticself_PHP チュートリアル

new static() と new self() の違いと類似点、staticself_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-13 10:20:15970ブラウズ

new static() と new self()、staticself の違いと類似点

長い夜です!

今日は地元チームを率いてウェブサイトを構築します。 PHP 5.2 ではビルドできないことがわかり、Web サイトの PHP コードには 5.3 以降の部分が多く含まれていたため、5.2 で実行できるように変更するように言われました。

着替えて場所を見つけました

リーリー

この馬はすごい、一度しか見たことがない

リーリー

そこで、この 2 つの違いをオンラインで調べてみました。

self - これはこのクラス、コードセグメント内のこのクラスです。

static - PHP 5.3 は、$this に似た現在のクラスを追加するだけです。これはヒープ メモリから抽出され、現在インスタンス化されているクラスにアクセスするため、static はそのクラスを表します。

外国人による専門的な解説を見てみましょう。

self refers to the same class whose method the new操作は

で行われます。 PHP 5.3 の後期静的バインディングの

staticは、メソッドを呼び出す階層内のクラスを参照します。

次の例では、BA から両方のメソッドを継承します。selfA に定義されているため、バインドされています。 A による最初のメソッドの実装ですが、B inherits both methods from A. self is bound to A because it's defined in A's implementation of the first method, whereas static is bound to the called class (also see  <span><span>get_called_class()</span></span>  は呼び出されたクラスにバインドされています (<span><span>get_called_class()</span></span>

も参照)。

リーリー

この例は基本的に一目で理解するのが簡単です。

原理は理解できましたが、 return new static($val); の問題をどうやって解決すればよいでしょうか? get_class($this); 如下

実際、使い方は簡単です

リーリー

C++ new と new[] の違いは何ですか?



色々ありますね。ふふ。詳しく教えてください。
1. new と new[] の違い
New は、単一のオブジェクトまたはインスタンスを作成するために使用され、クラスのコンストラクターを呼び出します。
new [] はオブジェクトまたはインスタンスの配列インスタンスを作成するために使用され、アドレスは連続しています。 (メモリ割り当ては連続的ではないかもしれませんが、アドレスリストは連続的です。)
2. 仮想関数 (これについては説明できません。例を挙げることしかできません)
class person
{
public:
virtualsay();
}
クラス技術者 : 一般人
{
一般人 :
protected override Say();
}
クラス学生 : public person
{
public :
protected override Say();
}
3 人目は何を理解していませんでしたかそれは意味した。 最初の 2 つは理解できるかどうかわかりません。そうでない場合は、私に連絡してください。

JAVAのstatic A a=new A() staticの用途は何ですか?具体的にしてください



Javaでは
public static void main(String args[])はメインメソッドです。
Javaプログラムは複数のメソッドを持つことができますが、存在できるのは1つのみです。
ststicで変更されたメソッドはクラスメソッド(main.もクラスメソッドです)。 A a=new A() は静的なインスタンス オブジェクトを作成し、装飾として機能します

http://www.bkjia.com/PHPjc/867540.htmlwww.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/867540.html技術記事
new static() と new self() の類似点と相違点は何ですか? 今日、私はチームを率いてローカル Web サイトを構築しました。 PHP 5.2 ではビルドできないことがわかりました。サイトには 5.3 以降の PHP コードがたくさんあります...
🎜🎜
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。