Maison  >  Article  >  développement back-end  >  Utilisation et exemples de mots clés finaux orientés objet PHP

Utilisation et exemples de mots clés finaux orientés objet PHP

巴扎黑
巴扎黑original
2017-04-12 17:47:532364parcourir

Dans cette leçon, nous parlerons du concept et de l'utilisation du mot-clé final.

Quel est le mot-clé final ?

la traduction chinoise finale est "finale", "finale". Modifier une classe avec le mot-clé final avant de la déclarer signifie que cette fonction ne sera surchargée ni héritée dans aucune sous-classe. Autrement dit, la classe modifiée par final ne pourra pas avoir de sous-classes.

Dans le cours précédent, nous avons parlé de 4 types de mots-clés, public, privé, protégé et statique, qui sont respectivement public, privé, protégé et statique. L'utilisation et les exemples sont tous dans les cours précédents. Les étudiants qui souhaitent apprendre peuvent se référer aux cours précédents :

Utiliser les méthodes statiques en php orienté objet

Masquage des données d'objet orienté PHP

Utilisons des exemples pour comparer la différence entre final et d'autres mots-clés, puis

analysons l'utilisation de final :

Explication détaillée des exemples d'utilisation finale :

<?php
header("content-type:text/html;charset=utf-8");
class A{                                               //声明类
public $num = "23";
final function operation(){                            //创建方法,用final关键字
echo &#39;上面变量$num数字是 &#39; . $this->num ;
}
}
class B extends A{                                    //创建子类B继承A类
public $num = "50";
function operation()
{
echo &#39;这个变量$num数字是 &#39; . $this->num ;
}
}
$Num = new B();                                         //实例化子类
$Num ->operation();                                     //调用子类中的方法
Nous avons d'abord créé une classe A et ajouté des méthodes à la classe A, mais nous avons utilisé final comme mot-clé avant la méthode, c'est-à-dire, The La méthode operation() de la classe A ne sera plus héritée ou surchargée. Ensuite, la classe B est créée pour hériter de la classe A, y compris la méthode opération() qui ne peut pas être héritée. Le résultat de l'opération n'est qu'une erreur.

Dans l'exemple ci-dessus, la surcharge de la méthode operation() de la classe A dans la classe B est interdite. Cela entraînerait uniquement une erreur.

Si final est écrit avant le cours, alors il est interdit d'hériter de la classe entière. Par exemple, dans l'exemple ci-dessus :

final class A{
}
écrit ainsi, la classe A entière ne sera ni héritée ni surchargée.

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