Maison  >  Article  >  développement back-end  >  Trois aspects de la vie en PHP orienté objet

Trois aspects de la vie en PHP orienté objet

autoload
autoloadoriginal
2021-03-03 09:55:542287parcourir

Dans la pensée orientée objet, il existe trois caractéristiques majeures : 封装, 继承 et 多态.

1. Encapsulation

a. Définition : 封装, signifie littéralement mettre le contenu dans un conteneur et le sceller pour le sauvegarder. Dans la pensée de 面向对象, l’encapsulation fait référence au regroupement de données et d’opérations de données pour les cacher du monde extérieur tout en fournissant une interface exploitable avec le monde extérieur. Semblable à l'adaptateur secteur d'un téléphone mobile, il vous suffit de brancher les deux extrémités de la fiche dans la prise et le cordon d'alimentation, quelle que soit la manière dont l'adaptateur secteur convertit la tension 220 V en une tension que le téléphone mobile peut prendre en charge.

b.Exemple

//封装特性
class Salary{				//将数据和方法都放置进类内部,不可见
    private static $count = 0;
    private $money = 0;		 
    
    public function getMoney(){			//对类内的数据进行操作
        return $this->money;
    }  
}

//类外部
$s = new Salary();
$s->getMoney();				//外部只能访问类中公有的方法,具体实现不可见

2.Héritage

a. Définition : 继承, signifie littéralement que le fils hérite de l'héritage du père. basé sur les fondations du pays posées par son père. En programmation orientée objet, on appelle l'empire construit par le père 父类, et l'empire hérité par le fils de son père s'appelle 子类.

b. Exemple

<?php
  class Fu{}
  class Zi extends Fu{} //利用关键字extends表示Zi类是Fu类的子类。
?>

3. Polymorphisme

a. Définition : 多态 signifie que lorsque 类的继承 apparaît, 方法的重写(override) apparaît en même temps, c'est-à-dire que 子类 a une méthode du même nom que 父类. Ensuite, lors de l'instanciation de l'objet, laissez l'objet de classe parent pointer vers l'objet de sous-classe (type obligatoire, PHP ne prend pas en charge 弱类型语言), et l'objet de classe parent exprime les caractéristiques de l'objet de sous-classe.

b. Exemple (le polymorphisme nécessite un langage fortement typé, vous pouvez donc prendre Java comme exemple)

//父类
class Animal{
    public void show(){
         System.out.println("Animal");//这是打印Animal然后换行
    }
}

//子类
class Dog extends Father{
    //重写show方法
    public void show(){
         System.out.println("Dog");//这是打印Dog然后换行
    }
}

//实例化:Java是强类型,必须指定保存数据的变量的类型
Animal a = new Dog();	 //父类对象指向子类对象空间
a.show();				//打印Dog,父类对象调用的是子类方法

Recommandé : tutoriel php


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!

Déclaration:
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