まず、上記の 3 つのキーワードを理解しましょう。これ、自分、親、文字通り理解しやすいのは、これ、自分、父親、ははは、そのほうが楽しいです。最初にいくつかの概念を確立しましょう。これら 3 つのキー単語 単語はどこで使われていますか? これは現在のオブジェクトへのポインター (C でポインターを使用して見てみましょう)、self は現在のクラスへのポインター、parent は親クラスへのポインターであることを簡単に説明しましょう。これを表現するのにこれ以上適した言語はないので、私たちはよくポインタを使います。笑、私は中国語をよく勉強していませんでした。 -_-#
これだけではわかりにくいので、実例をもとにお話していきます。
(1) これ
コードは次のとおりです:
<?php class UserName { //定义属性 private $name; //定义 构造函数 function construct( $name ) { $this->name = $name; //这里已经使用了this指针 } // 析构函数 function destruct(){} //打印用户名成员函数 function printName() { print( $this->name ); //又使用了this指针 } } //实例化对象 $nameObject = new UserName( "heiyeluren" ); //执行打印 $nameObject->printName(); //输出: heiyeluren //第二次实例化对象 $nameObject = new UserName( "PHP" ); //执行打印 $nameObject->printName(); //输出:PHP ?>
上記のクラスがこのポインタを row と row でそれぞれ使用していることがわかります。そのとき、これは誰を指しているのでしょうか?実際、これは、オブジェクトをインスタンス化するときに誰を指すかを決定します。たとえば、オブジェクトが初めてインスタンス化されるとき (行)、これは $nameObject オブジェクト を指します。その後、行を出力するときは、print( $ this->
(2)self
まず、self がクラス自体を指すこと、つまり self はインスタンス化されたオブジェクトを指すものではないことを明確にする必要があります。一般に、self はクラス内の静的変数を指すために使用されます。
コードは次のとおりです:
<?php class Counter { //定义属性,包括一个静态变量 private static $firstCount = ; private $lastCount; //构造函数 function construct() { $this->lastCount = ++selft::$firstCount; //使用self来调用静态变量,使用self调用必须使用::(域 运算符 号) } //打印最次数值 function printLastCount() { print( $this->lastCount ); } } //实例化对象 $countObject = new Counter(); $countObject->printLastCount(); //输出 ?>
ここで注意する必要があるのは、1 行目と 2 行目の 2 か所だけです。 2 行目で静的変数 $firstCount を、operator の初期値で定義しました。このとき呼び出すのは、クラス自体によって定義された静的変数 $frestCount です。この静的変数は、クラス自体のインスタンスとは何の関係もありません。オブジェクトに続く場合、それはクラスにのみ関連します。クラス自体を呼び出すと、これを使用できません。参照するには、self を使用できます。self はクラス自体を指しており、オブジェクト インスタンスとは何の関係もないためです。 。言い換えれば、クラスに静的メンバーがある場合は、それらを呼び出すために self も使用する必要があります。
(3)parent
parent は親クラスへのポインターであることがわかっています。通常、parent を使用して親クラスのコンストラクターを呼び出します。
コードは次のとおりです:
<?php //基类 class Animal { //基类的属性 public $name; //名字 //基类的构造函数 public function construct( $name ) { $this->name = $name; } } //派生类 class Person extends Animal //Person类继承了Animal类 { public $personSex; //性别 public $personAge; //年龄 //继承类的构造函数 function construct( $personSex, $personAge ) { parent::construct( "heiyeluren" ); //使用parent调用了父类的构造函数 $this->personSex = $personSex; $this->personAge = $personAge; } function printPerson() { print( $this->name. " is " .$this->personSex. ",this year " .$this->personAge ); } } //实例化Person对象 $personObject = new Person( "male", ""); //执行打印 $personObject->printPerson(); //输出:heiyeluren is male,this year ?>
これらのいくつかの詳細に注意します: メンバー属性、特に親クラスの属性はすべてパブリックであり、継承されたクラスがこれを介してアクセスできます。このとき、重要な点である line:parent::construct( "heiyeluren" ) に注目します。このとき、親クラスのメンバーはすべて親クラスであるため、parent を使用して親クラスのコンストラクターを呼び出します。 public なので、これを直接使用して継承されたクラスを呼び出すことができます。
概要:
this はオブジェクト インスタンスへのポインター、self はクラス自体への参照、parent は親クラスへの参照です。
以上がPHPにおけるthis、self、parentの3つのキーワードのインスタンスの使い方を詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

php把负数转为正整数的方法:1、使用abs()函数将负数转为正数,使用intval()函数对正数取整,转为正整数,语法“intval(abs($number))”;2、利用“~”位运算符将负数取反加一,语法“~$number + 1”。

报错的原因NameResolutionError(self.host,self,e)frome是由urllib3库中的异常类型,这个错误的原因是DNS解析失败,也就是说,试图解析的主机名或IP地址无法找到。这可能是由于输入的URL地址不正确,或者DNS服务器暂时不可用导致的。如何解决解决此错误的方法可能有以下几种:检查输入的URL地址是否正确,确保它是可访问的确保DNS服务器可用,您可以尝试在命令行中使用"ping"命令来测试DNS服务器是否可用尝试使用IP地址而不是主机名来访问网站如果是在代理

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

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

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

查找方法:1、用strpos(),语法“strpos("字符串值","查找子串")+1”;2、用stripos(),语法“strpos("字符串值","查找子串")+1”。因为字符串是从0开始计数的,因此两个函数获取的位置需要进行加1处理。

在PHP中,可以利用implode()函数的第一个参数来设置没有分隔符,该函数的第一个参数用于规定数组元素之间放置的内容,默认是空字符串,也可将第一个参数设置为空,语法为“implode(数组)”或者“implode("",数组)”。

在介绍Python的self用法之前,先来介绍下Python中的类和实例我们知道,面向对象最重要的概念就是类(class)和实例(instance),类是抽象的模板,比如学生这个抽象的事物,可以用一个Student类来表示。而实例是根据类创建出来的一个个具体的“对象”,每一个对象都从类中继承有相同的方法,但各自的数据可能不同。1、以Student类为例,在Python中,定义类如下:classStudent(object):pass(Object)表示该类从哪个类继承下来的,Object类是所有


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

Dreamweaver Mac版
ビジュアル Web 開発ツール

SublimeText3 Linux 新バージョン
SublimeText3 Linux 最新バージョン

SublimeText3 中国語版
中国語版、とても使いやすい

SublimeText3 英語版
推奨: Win バージョン、コードプロンプトをサポート!

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