親クラスにプライベート プロパティがある場合は、この文をよく読んでください。この場合、親クラスのメソッドは親クラスのプライベート プロパティのみを提供します。
以下は理解を深めるための一連の例です。
この例は、サブクラスで属性 $sal が再定義されていますが、システムは親クラスの属性を返します。
コードをコピーします コードは次のとおりです:
クラス従業員{
private $sal =3000;
//protected $sal=3000;
public function getSal(){
return $this->sal;
}
クラス マネージャーは従業員 {
protected $sal=5000;
public function getParentSal(){
//ここで返されるのは、親クラスの private 属性です。
}
}
$manager = new Manager();
echo "PHP ".phpversion()."
";
echo $manager->getSal() ;
echo "
";
echo "parent's $sal".$manager->getParentSal();
プログラムの実行結果:
コードをコピーします
コードは次のとおりです: PHP 5.3.8
3000親の $sal 3000
親クラスの属性がサブクラスによってオーバーライドされる場合。結果はこれです。 5 行目の属性定義が保護されることに注意してください。
コードをコピー
コードは次のとおりです: クラス従業員{
//private? $sal= 3000;
protected $sal=3000;
public function getSal(){
return $this->sal;
クラスマネージャーextends member {
protected $sal=5000;
public function getParentSal(){
//ここで返されるのは、親クラスの private 属性です。
returnparent::getSal ();
}
}
$manager = new Manager();
echo "PHP ".phpversion()."
echo $manager->; getSal();
echo "
";
echo "親の $sal".$manager->getParentSal();
プログラムの実行結果:
コードをコピー
PHP 5.3.8 5000 parent's $sal 5000
最初の列の親クラスのプライベート $sal はオーバーライドされていないため、親クラスのメソッド $manager->getSal() は親を呼び出します。この時点でメモリ上にあるクラス自身のプライベートプロパティ $sal $sal が 2 つあります 2 列目で、親クラスの protected $sal がオーバーライドされます $manager->getSal() のメソッドです。親クラスはオーバーライドされた $sal を呼び出します。親クラスの $sal はメモリ内に存在しません。
次に 3 番目の例を見てください。サブクラスでオーバーライドされたメソッドは、現在のプライベートに対して有効です。
コードは次のとおりです:
クラス従業員{ private $sal =3000; public function getSal(){ return $this->sal; }
class Manager 拡張従業員 {
private $sal=5000 ;
//オーバーライドされたメソッド
public function getSal(){
return $this->sal;
}
public function getParentSal(){
// ここで返されるもの
returnparent::getSal();
}
}
$manager = new Manager();
echo "PHP ".phpversion(); "< ;br>";
echo $manager->getSal();
echo "
";
echo "親の $sal ".$manager->getParentSal();
?>
実行結果
コードをコピー
コードは次のとおりです:
PHP 5.3. 8
5000
親の $sal 3000 この例では、サブクラスが getSal() メソッドをオーバーライドするため、サブクラス この行 //private $sal=5000;
に注釈を付けると、次のエラーが見つかります: Notice: Unknown property: Manager::$sal in E:wampwwwoo2-52-5-3。 php 14 行目 12 行のサブクラス書き換えメソッドをコメントアウトすると、echo $manager->getSal(); の結果は親クラス $sal 3000 のプライベート プロパティになります
Zend デバッグ状態を開いて、メモリ条件を確認します。下部に $sal が 2 つあることに注意してください。それぞれ 3000 と 5000 です。
コードをコピー
コードは次のとおりです:
クラス従業員{
private $sal=3000;
public function getSal(){
return $this->sal; >}
クラスマネージャーは従業員を拡張します {
protected $sal=5000;
public function getParentSal(){
return $this->sal;
$manager = new Manager();
echo "PHP ".phpversion()."
";
echo $manager->getSal()> 🎜>
プログラムの実行結果:
コードをコピー
PHP 5.3.8 3000 親クラスの属性 $sal を protected に変更すると、サブクラスは親クラスの属性をオーバーライドします。メモリには $sal が 1 つだけあります。
コードをコピーします
クラス従業員{ protected $sal? =3000; public function getSal(){ return $this->sal;
}クラスマネージャーは従業員を拡張します {
protected $sal=5000; >public function getParentSal(){
return $this->sal;
}
}
$manager = new Manager()
echo "PHP ".phpversion()"
echo $manager->getSal();
?>
プログラム実行結果:
コードをコピーします
コードは次のとおりです:
PHP 5.3.8
5000
Java を学習したことがある場合は、これはすべて理解するのが難しいと思うでしょう。 Java では、サブクラスが作成されると、親クラスのプロパティとメソッドがメモリ内に作成され、コンストラクターも呼び出されます。 これは PHP5 の場合には当てはまりません。PHP5 は親クラスを呼び出すのにparent:: を使用します。これは、PHP5 が親クラスをメモリ内に作成しないことを示すのに十分です。 PHP5 は Java よりも継承を単純化したいと考えています。
とにかく慣れてください。
php把负数转为正整数的方法:1、使用abs()函数将负数转为正数,使用intval()函数对正数取整,转为正整数,语法“intval(abs($number))”;2、利用“~”位运算符将负数取反加一,语法“~$number + 1”。

实现方法:1、使用“sleep(延迟秒数)”语句,可延迟执行函数若干秒;2、使用“time_nanosleep(延迟秒数,延迟纳秒数)”语句,可延迟执行函数若干秒和纳秒;3、使用“time_sleep_until(time()+7)”语句。

php除以100保留两位小数的方法:1、利用“/”运算符进行除法运算,语法“数值 / 100”;2、使用“number_format(除法结果, 2)”或“sprintf("%.2f",除法结果)”语句进行四舍五入的处理值,并保留两位小数。

php字符串有下标。在PHP中,下标不仅可以应用于数组和对象,还可应用于字符串,利用字符串的下标和中括号“[]”可以访问指定索引位置的字符,并对该字符进行读写,语法“字符串名[下标值]”;字符串的下标值(索引值)只能是整数类型,起始值为0。

判断方法:1、使用“strtotime("年-月-日")”语句将给定的年月日转换为时间戳格式;2、用“date("z",时间戳)+1”语句计算指定时间戳是一年的第几天。date()返回的天数是从0开始计算的,因此真实天数需要在此基础上加1。

在php中,可以使用substr()函数来读取字符串后几个字符,只需要将该函数的第二个参数设置为负值,第三个参数省略即可;语法为“substr(字符串,-n)”,表示读取从字符串结尾处向前数第n个字符开始,直到字符串结尾的全部字符。

方法:1、用“str_replace(" ","其他字符",$str)”语句,可将nbsp符替换为其他字符;2、用“preg_replace("/(\s|\ \;||\xc2\xa0)/","其他字符",$str)”语句。

php判断有没有小数点的方法:1、使用“strpos(数字字符串,'.')”语法,如果返回小数点在字符串中第一次出现的位置,则有小数点;2、使用“strrpos(数字字符串,'.')”语句,如果返回小数点在字符串中最后一次出现的位置,则有。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

MinGW - Minimalist GNU for Windows
このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

mPDF
mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

WebStorm Mac版
便利なJavaScript開発ツール

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター

ZendStudio 13.5.1 Mac
強力な PHP 統合開発環境

ホットトピック









