PHPのレイトスタティックバインディングとは何ですか?
後期静的バインディングの背後にある基本的な考え方は、継承の概念と「自己」キーワードの概念が同じ規則に従わないということです。たとえば、子クラスで呼び出された親クラスのメソッド「fun」は、「self」が子を参照するようにはなりません(期待どおり)。
レイトスタティックバインディングの概念は、新しいキーワード「static」を導入します。これを使用すると、関数がランタイムクラス、または関数が最初に使用されたクラスにバインドされます。これに加えて、静的関数または変数は通常、コンパイル時ではなく実行時に実行されます。したがって、静的な変数に値を動的に割り当てる必要がある場合、それは実行時に発生します。これは、遅延静的バインディングと呼ばれます。
例
<?php
class student
{
public static $my_name = 'Joe';
public static function getName()
{
return "The name of the student is : " . self::$my_name;
}
public static function getAge()
{
echo static::getName();
}
}
class Professor extends student
{
public static function getName()
{
return "The name of the student is : " . self::$my_name . " and age is 24.";
}
}
student::getAge();
echo "\n";
Professor::getAge();
?> 出力
The name of the student is : Joe The name of the student is : Joe and age is 24.
「student」という名前のクラスには、名前とその名前を取得する関数が含まれています。別の関数は、学生の年齢を取得します。 「教授」という名前のクラスは学生クラスを拡張し、関数も継承されます。年齢を取得する関数は、学生と教授の両方のインスタンスで呼び出されます。
-
PHPファイルとは何ですか?
拡張子が.PHPのファイルは、ハイパーテキストプリプロセッサコードを含むPHPソースコードファイルです。これらは通常、Webサーバーで実行されているPHPエンジンからHTMLを生成するWebページファイルとして使用されます。 PHPエンジンがコードから作成するHTMLコンテンツは、Webブラウザーに表示されるものです。 WebサーバーはPHPコードが実行される場所であるため、PHPページにアクセスしてもコードにアクセスできませんが、代わりにサーバーが生成するHTMLコンテンツが提供されます。 一部のPHPソースコードファイルは、.PHTML、PHP3、PHP4、PHP5、PHP7、PHP
-
Pythonクラスの静的メソッドとは何ですか?
すべてのPythonクラスには、インスタンスメソッド、クラスメソッド、静的メソッドの3種類のメソッドがあります。 例 コードを検討する class OurClass: def method(self): return 'instance method called', self @classmethod def classmethod(cls): return 'c