Maison > développement back-end > tutoriel php > La relation entre les classes php et les objets

La relation entre les classes php et les objets

angryTom
Libérer: 2023-04-07 09:00:01
original
3738 Les gens l'ont consulté

La relation entre les classes php et les objets

L'Orienté Objet (OO) est une méthode de développement logiciel. Les concepts et applications orientés objet ont transcendé la programmation et le développement de logiciels et se sont étendus à des domaines tels que les systèmes de bases de données, les interfaces interactives, les structures d'application, les plates-formes d'application, les systèmes distribués, les structures de gestion de réseau, la technologie de CAO, l'intelligence artificielle et d'autres domaines. Ci-dessous, nous vous présenterons la relation entre les classes et les objets en PHP.

Tutoriels recommandés : Tutoriel vidéo PHP

1.

Le résultat de matérialisation d'une classe est un objet, et l'abstraction d'un objet est une classe. Au cours du processus de développement, nous faisons généralement abstraction (imaginons) d'abord une classe, puis utilisons la classe pour créer des objets (réaliser le contenu fantastique). Dans le programme, nous utilisons directement nos objets (fantastiques) au lieu de classes abstraites (fantastiques).

2. Orienté objet et orienté processus

1. Qu'est-ce que l'orientation processus

Le processus est comme une personne qui lave des vêtements, cuisine et résout tout par elle-même

2. Qu'est-ce qui est orienté objet

Orienté objet signifie que la personne a un objet, demandant au sujet de faire la lessive et de cuisiner.

3. Comment abstraire une classe

class 类名{
     成员属性:
        姓名、性别、年龄、身高、体重
     成员方法:
        说话、走路、学习、吃饭、开车
   }
Copier après la connexion

Toutes les classes sont déclarées sous deux aspects : les attributs membres et les méthodes membres sont. tous les membres de la classe, donc les attributs sont également appelés attributs de membre, et les méthodes sont également appelées méthodes membres

1. Attributs des membres --> Caractéristiques

Déclarer des variables directement dans un objet est appelé un attribut membre. Plusieurs variables membres peuvent être déclarées dans une classe, c'est-à-dire qu'il peut y avoir plusieurs attributs membres dans un objet

class Person{
    var $name;    //声明第一个成员属性,用于储存人的名字
    var age;      //声明第一个成员属性,用于储存人的年龄
    var $sex;     //声明第一个成员属性,用于储存人的性别
  }
Copier après la connexion

<🎜. >2. Méthode des membres --> Fonction

class Person{
    var $name;    //声明第一个成员属性,用于储存人的名字
    var $age;      //声明第一个成员属性,用于储存人的年龄
    var $sex;     //声明第一个成员属性,用于储存人的性别
    function say(){   //声明第一个方法
        echo &#39;人在说话&#39;;   //定义人说话的功能
    }
    function run(){   //声明第二个方法
        echo &#39;人在跑步&#39;;   //定义人跑步的功能
    }
    function eat(){   //声明第三个方法
        echo &#39;人在吃饭&#39;;   //定义人吃饭的功能
    }
}
Copier après la connexion

L'objet consiste à organiser les propriétés et les méthodes associées ensemble. Les attributs de membre et les méthodes de membre sont facultatifs. Vous pouvez avoir uniquement des attributs de membre, uniquement des méthodes de membre ou aucun membre.

4. Instancier des objets

Une classe peut déclarer plusieurs objets, permettant aux objets d'accéder aux propriétés et aux méthodes membres

class Person{
    var $name;    //声明第一个成员属性,用于储存人的名字
    var $age;      //声明第一个成员属性,用于储存人的年龄
    var $sex;     //声明第一个成员属性,用于储存人的性别
    function say(){   //声明第一个方法
        echo &#39;人在说话&#39;;   //定义人说话的功能
    }
    function run(){   //声明第二个方法
        echo &#39;人在跑步&#39;;   //定义人跑步的功能
    }
    function eat(){   //声明第三个方法
        echo &#39;人在吃饭&#39;;   //定义人吃饭的功能
    }
}
// 实例化对象
$sqyy = new Person();
//成员属性赋值
$sqyy -> name = "伊川";
$sqyy -> sex = "男";
$sqyy -> age = 26;
//访问对象中的成员方法
$sqyy->eat();
Copier après la connexion

5. Référence d'objet spécial "$this"

Dans l'exemple ci-dessus, nous instancions un objet puis attribuons des valeurs. aux propriétés des membres et accéder aux méthodes des membres. Ensuite, $this peut également être utilisé dans les méthodes membres, qui représente l'objet actuel

qui était l'objet avant l'appel de la méthode membre, $this représente qui

class Person{
    var $name;   
     function info(){     
        $this ->name = "SQYY";
    }
  }
Copier après la connexion

6. Méthode de construction et méthode de destruction

1. Méthode de construction

La méthode de construction est le premier objet à être automatiquement utilisé après que l'objet est créé. La méthode appelée initialisera l'objet et sera automatiquement déclenchée lorsque le nouveau mot-clé sera utilisé pour instancier l'objet.

<?php
    class Person{
        //下面是声明人的成员属性,都是没有初始值的,在创建对象时,使用构造方法赋给初始值
        var $name;   //定义人的名字
        var $sex;    //定义人的性别
        var $age;    //定义人的年龄
        
        function __construct($name="SQYY",$sex="男",$age=1){
            $this -> name = $name;  //在创建对象时,使用传入的参数$name为成员属性 $this->name赋初值
            $this -> sex = $sex;    //在创建对象时,使用传入的参数$sex为成员属性 $this->sex赋初值
            $this -> age = $age;    //在创建对象时,使用传入的参数$sex为成员属性 $this->age赋初值
        }
    
        //下面声明人的成员方法
        function say(){
            echo "我的名字:" .$this ->name. " ,性别:" .$this -> sex ."  年龄" .$this ->age. "。<br>";
        }
    }
    
    $person1 = new Person();                   //创建对象$person1时会自动执行构造方法,默认传参
    $person2 = new Person(&#39;张三&#39;);             //创建对象$person2时会自动执行构造方法,传入第一个参数,其他默认传参
    $person3 = new Person(&#39;李四&#39;,&#39;男&#39;);        //创建对象$person3时会自动执行构造方法,传入前两个参数,其他默认传参
    $person4 = new Person(&#39;王五&#39;,&#39;女&#39;,&#39;20&#39;);   //创建对象$person4时会自动执行构造方法,传入所有参数
    
    $person1 ->say();
    $person2 ->say();
    $person3 ->say();
    $person4 ->say();
?>
Copier après la connexion

Résultats d'exécution

La relation entre les classes php et les objets

2. Méthode de destruction

L'objet est automatiquement le dernier objet avant qu'il ne soit détruit La méthode appelée crée d'abord la variable entrante puis la détruit

<?php 
    header(&#39;Content-type:text/html;charset=utf-8&#39;);
    // 定义一个汽车的类
    class car{
        // 成员属性
        public $name;
        public $color;

        //构造方法
        public function __construct($name,$color){
            $this->name = $name;
            $this->color = $color;
            echo "你创建了".$this->name.&#39;<br>&#39;;
        }

        // 析构方法
        public function __destruct(){
            echo "你销毁了".$this->name.&#39;<br>&#39;;
        }
    }

    // 实例化对象
    $hanma = new car(&#39;悍马&#39;,&#39;粉色&#39;,&#39;H2&#39;);
    $bmw = new car(&#39;宝马&#39;,&#39;红色&#39;,&#39;X7&#39;);
    $benchi = new car(&#39;奔驰&#39;,&#39;黑色&#39;,&#39;s600&#39;);

    // unset($bmw);
    $bmw = &#39;1111&#39;;
 ?>
Copier après la connexion

Résultat d'exécution


La relation entre les classes php et les objets

Si nous ne faisons pas référence à la variable, l'objet sera créé après la destruction.

<?php 

    header(&#39;Content-type:text/html;charset=utf-8&#39;);

    // 定义一个汽车的类
    class car{
        // 成员属性
        public $name;
        public $color;

        //构造方法
        public function __construct($name,$color){
            $this->name = $name;
            $this->color = $color;
            echo "你创建了".$this->name.&#39;<br>&#39;;
        }

        // 析构方法
        public function __destruct(){
            echo "你销毁了".$this->name.&#39;<br>&#39;;
        }
    }

    // 实例化对象
    new car(&#39;悍马&#39;,&#39;粉色&#39;,&#39;H2&#39;);
    new car(&#39;宝马&#39;,&#39;红色&#39;,&#39;X7&#39;);
    new car(&#39;奔驰&#39;,&#39;黑色&#39;,&#39;s600&#39;);

 ?>
Copier après la connexion
Exécuter les résultats


La relation entre les classes php et les objets

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source: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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal