Maison développement back-end tutoriel php tutoriel orienté objet php 4

tutoriel orienté objet php 4

Dec 29, 2016 am 10:55 AM

7. L'utilisation de la référence spéciale "$this"
Nous savons maintenant comment accéder aux membres de l'objet, accessible via la méthode "object->member", qui se trouve en dehors de l'objet
est la forme d'accès aux membres de l'objet, alors si je veux laisser la méthode dans l'objet accéder aux propriétés de cet objet à l'intérieur de l'objet, ou
est la méthode dans l'objet pour appeler d'autres méthodes de cet objet, alors comment fait-on pour gérer ? Parce que tous les membres de l'objet doivent être appelés à l'aide de l'objet
, y compris les appels entre membres internes de l'objet, PHP me fournit une référence à cet objet $this,
pour chaque objet Il existe une référence d'objet $this pour représenter l'objet et compléter l'appel des membres internes de l'objet. La signification originale de this est
"this". Dans l'exemple ci-dessus, nous instancions trois objets instances $P1, $ P2, $P3, chacun de. ces trois objets
ont leur propre $this, qui représente respectivement les objets $p1, $p2 et $p3.
Nous pouvons voir sur la figure ci-dessus que $this est la référence qui représente l'objet à l'intérieur de l'objet. La méthode utilisée pour appeler les membres
de cet objet à l'intérieur de l'objet et les membres de l'objet à l'extérieur de l'objet sont. le même.

$this->属性$this->name; $this->age; $this->sex;
$this->方法$this->say(); $this->run();
Copier après la connexion

Modifiez l'exemple ci-dessus afin que chacun puisse indiquer son nom, son sexe et son âge :

<?php
class Person
{
//下面是人的成员属性
var $name; //人的名字
var $sex; //人的性别
var $age; //人的年龄
//下面是人的成员方法
function say() //这个人可以说话的方法
{
echo "我的名字叫:".$this->name." 性别:".$this->sex." 我的年龄是:
".$this->age."<br>";
}f
unction run() //这个人可以走路的方法
{
echo "这个人在走路";
}
}
$p1=new Person(); //创建实例对象$p1
$p2=new Person(); //创建实例对象$p2
$p3=new Person(); //创建实例对象$p3
//下面三行是给$p1对象属性赋值
$p1->name="张三";
$p1->sex="男";
$p1->age=20;
//下面访问$p1对象中的说话方法
$p1->say();
//下面三行是给$p2对象属性赋值
$p2->name="李四";
$p2->sex="女";
$p2->age=30;
//下面访问$p2对象中的说话方法
$p2->say();
//下面三行是给$p3对象属性赋值
$p3->name="王五";
$p3->sex="男";
$p3->age=40;
//下面访问$p3对象中的说话方法
$p3->say();
?>
Copier après la connexion

Le résultat de sortie est :

我的名字叫:张三性别:男我的年龄是:20
我的名字叫:李四性别:女我的年龄是:30
我的名字叫:王五性别:男我的年龄是:40
Copier après la connexion
Copier après la connexion

Analyser cette méthode :

function say() //这个人可以说话的方法
{
echo "我的名字叫:".$this->name." 性别:".$this->sex." 我的年龄是:
".$this->age."<br>";
}
Copier après la connexion

Il existe une méthode say() dans les trois objets $p1, $p2 et $p3, $ cela représente respectivement ces trois objets . Appelez l'attribut
correspondant et imprimez la valeur de l'attribut. C'est ainsi que vous accédez aux attributs de l'objet à l'intérieur de l'objet. Si vous appelez
dans la méthode say(), utilisez run(). également possible. Utilisez $this->run() dans la méthode say() pour terminer l'appel.
8. Méthodes constructeur et destructeur
La plupart des classes ont une méthode spéciale appelée constructeur. Lorsqu'un objet est créé, il appellera automatiquement le constructeur, c'est-à-dire que lorsque le nouveau mot-clé sera utilisé pour instancier l'objet, le constructeur sera automatiquement appelé.
La déclaration d'un constructeur est la même que la déclaration des autres opérations, sauf que son nom doit être __construct(). Il s'agit d'un changement dans PHP5.
Dans les versions précédentes, le nom du constructeur doit être le même que le nom de la classe. Cela peut toujours être utilisé en PHP5, mais maintenant très peu de personnes
l'utilisent. L'avantage est que le constructeur peut être rendu indépendant du nom de la classe. Lorsque le nom de la classe change, il n'est pas nécessaire de changer le
nom du constructeur correspondant. Pour des raisons de compatibilité ascendante, s'il n'y a pas de méthode nommée __construct() dans une classe, PHP recherchera une méthode
dans php4, une méthode constructeur portant le même nom que le nom de la classe.
Format :

function __construct ( [参数] ) { ... ... }
Copier après la connexion
Un seul constructeur peut être déclaré dans une classe, mais le constructeur ne sera appelé qu'une fois à chaque fois qu'un objet est créé

Cela ne peut pas être appelé activement, donc. il est généralement utilisé pour effectuer certaines tâches d'initialisation utiles. Par exemple, les attributs appariés se voient attribuer des valeurs initiales lors de la création du
de l'objet.

<?
//创建一个人类
class Person
{
//下面是人的成员属性
var $name; //人的名字
var $sex; //人的性别
var $age; //人的年龄
//定义一个构造方法参数为姓名$name、性别$sex和年龄$age
function __construct($name, $sex, $age)
{
//通过构造方法传进来的$name给成员属性$this->name赋初使值
$this->name=$name;
//通过构造方法传进来的$sex给成员属性$this->sex赋初使值
$this->sex=$sex;
//通过构造方法传进来的$age给成员属性$this->age赋初使值
$this->age=$age;
}/
/这个人的说话方法
function say()
{
echo "我的名字叫:".$this->name." 性别:".$this->sex." 我的年龄是:
".$this->age."<br>";
}
}
//通过构造方法创建3个对象$p1、p2、$p3,分别传入三个不同的实参为姓名、性别和年龄
$p1=new Person(“张三”,”男”, 20);
$p2=new Person(“李四”,”女”, 30);
$p3=new Person(“王五”,”男”, 40);
//下面访问$p1对象中的说话方法
$p1->say();
//下面访问$p2对象中的说话方法
$p2->say();
//下面访问$p3对象中的说话方法
$p3->say();
?>
Copier après la connexion
Le résultat de sortie est :


我的名字叫:张三性别:男我的年龄是:20
我的名字叫:李四性别:女我的年龄是:30
我的名字叫:王五性别:男我的年龄是:40
Copier après la connexion
Copier après la connexion

Destructeur :
L'opposé du constructeur est le destructeur. Le destructeur est un contenu nouvellement ajouté à PHP5. Il n'y a pas de destructeur dans PHP4.
Le destructeur vous permet d'effectuer certaines opérations ou de compléter certaines fonctions avant de détruire une classe, comme fermer des fichiers, publier des jeux de résultats, etc.
Le destructeur supprimera toutes les références à un objet ou Exécuté lorsque l'objet est explicitement détruit, c'est-à-dire que le destructeur est appelé avant que l'objet ne soit détruit
en mémoire. Semblable au nom du constructeur, le nom du destructeur d’une classe doit être __destruct(). La fonction destructeur
ne peut prendre aucun paramètre.
Format :

function __destruct ( ) { ... ... }
Copier après la connexion
<?
//创建一个人类
class Person
{
//下面是人的成员属性
var $name; //人的名字
var $sex; //人的性别
var $age; //人的年龄
//定义一个构造方法参数为姓名$name、性别$sex和年龄$age
function __construct($name, $sex, $age)
{
//通过构造方法传进来的$name给成员属性$this->name赋初使值
$this->name=$name;
//通过构造方法传进来的$sex给成员属性$this->sex赋初使值
$this->sex=$sex;
//通过构造方法传进来的$age给成员属性$this->age赋初使值
$this->age=$age;
}
//这个人的说话方法
function say()
{
echo "我的名字叫:".$this->name." 性别:".$this->sex." 我的年龄是:
".$this->age."<br>";
}
//这是一个析构函数,在对象销毁前调用
function __destruct()
{
echo “再见”.$this->name.”<br>”;
}
//通过构造方法创建3个对象$p1、p2、$p3,分别传入三个不同的实参为姓名、性别和年龄
$p1=new Person(“张三”,”男”, 20);
$p2=new Person(“李四”,”女”, 30);
$p3=new Person(“王五”,”男”, 40);
//下面访问$p1对象中的说话方法
$p1->say();
//下面访问$p2对象中的说话方法
$p2->say();
//下面访问$p3对象中的说话方法
$p3->say();
?>
Copier après la connexion
Le résultat de sortie est :


我的名字叫:张三性别:男我的年龄是:20
我的名字叫:李四性别:女我的年龄是:30
我的名字叫:王五性别:男我的年龄是:40
再见张三
再见李四
再见王五
Copier après la connexion
Ce qui précède est le contenu du didacticiel orienté objet PHP 4. Pour en savoir plus contenu, veuillez faire attention au site Web PHP chinois (www.php.cn) !



Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Guide d'installation et de mise à niveau de PHP 8.4 pour Ubuntu et Debian Guide d'installation et de mise à niveau de PHP 8.4 pour Ubuntu et Debian Dec 24, 2024 pm 04:42 PM

PHP 8.4 apporte plusieurs nouvelles fonctionnalités, améliorations de sécurité et de performances avec une bonne quantité de dépréciations et de suppressions de fonctionnalités. Ce guide explique comment installer PHP 8.4 ou mettre à niveau vers PHP 8.4 sur Ubuntu, Debian ou leurs dérivés. Bien qu'il soit possible de compiler PHP à partir des sources, son installation à partir d'un référentiel APT comme expliqué ci-dessous est souvent plus rapide et plus sécurisée car ces référentiels fourniront les dernières corrections de bogues et mises à jour de sécurité à l'avenir.

CakePHP travaillant avec la base de données CakePHP travaillant avec la base de données Sep 10, 2024 pm 05:25 PM

Travailler avec la base de données dans CakePHP est très simple. Nous comprendrons les opérations CRUD (Créer, Lire, Mettre à jour, Supprimer) dans ce chapitre.

Date et heure de CakePHP Date et heure de CakePHP Sep 10, 2024 pm 05:27 PM

Pour travailler avec la date et l'heure dans cakephp4, nous allons utiliser la classe FrozenTime disponible.

Téléchargement de fichiers CakePHP Téléchargement de fichiers CakePHP Sep 10, 2024 pm 05:27 PM

Pour travailler sur le téléchargement de fichiers, nous allons utiliser l'assistant de formulaire. Voici un exemple de téléchargement de fichiers.

Routage CakePHP Routage CakePHP Sep 10, 2024 pm 05:25 PM

Dans ce chapitre, nous allons apprendre les sujets suivants liés au routage ?

Discuter de CakePHP Discuter de CakePHP Sep 10, 2024 pm 05:28 PM

CakePHP est un framework open source pour PHP. Il vise à faciliter grandement le développement, le déploiement et la maintenance d'applications. CakePHP est basé sur une architecture de type MVC à la fois puissante et facile à appréhender. Modèles, vues et contrôleurs gu

CakePHP créant des validateurs CakePHP créant des validateurs Sep 10, 2024 pm 05:26 PM

Le validateur peut être créé en ajoutant les deux lignes suivantes dans le contrôleur.

Journalisation CakePHP Journalisation CakePHP Sep 10, 2024 pm 05:26 PM

Se connecter à CakePHP est une tâche très simple. Il vous suffit d'utiliser une seule fonction. Vous pouvez enregistrer les erreurs, les exceptions, les activités des utilisateurs, les actions entreprises par les utilisateurs, pour tout processus en arrière-plan comme cronjob. La journalisation des données dans CakePHP est facile. La fonction log() est fournie

See all articles