Maison  >  Article  >  développement back-end  >  Syntaxe spéciale en PHP : mots-clés statiques, finaux, abstraits et autres

Syntaxe spéciale en PHP : mots-clés statiques, finaux, abstraits et autres

PHPz
PHPzoriginal
2023-05-11 16:00:071463parcourir

PHP est un langage de script open source côté serveur populaire largement utilisé dans le développement Web. Le langage PHP est non seulement facile à apprendre et à utiliser, mais il prend également en charge une variété de paradigmes de programmation, programmation orientée objet, programmation fonctionnelle, etc.

En PHP, il existe des mots-clés de syntaxe spéciale, tels que Static, Final, Abstract, etc. Ces mots-clés ont des fonctions spéciales dans la programmation orientée objet. Cet article présentera ces mots-clés en détail.

Mot-clé Static

En PHP, le mot-clé Static a deux utilisations. L’un est utilisé pour représenter des variables statiques et l’autre est utilisé pour représenter des méthodes statiques. La différence entre les variables et méthodes statiques et les variables et méthodes ordinaires réside dans le fait que les variables et méthodes statiques sont accessibles en dehors de la définition de classe, tandis que les variables et méthodes ordinaires ne sont accessibles qu'à l'intérieur de la définition de classe.

Variables statiques

Les variables statiques font référence à des variables définies dans la définition de la classe, mais leurs valeurs sont partagées entre différents objets, ce qui signifie que quel que soit le nombre d'objets créés, la valeur de la variable statique est toujours la même.

Ce qui suit est un exemple de définition et d'utilisation de variables statiques :

class Example {

    public static $count = 0;

    public function __construct() {
        self::$count++;
    }
}

$obj1 = new Example();
$obj2 = new Example();
$obj3 = new Example();

echo Example::$count; // 输出3

Dans cet exemple, la variable statique publique $count s'incrémente de 1 à chaque fois qu'une instance de classe est créée. Dans la dernière ligne, nous pouvons accéder à la valeur de la variable statique via le nom de la classe, qui est la sortie 3.

Méthodes statiques

Les méthodes statiques font référence à des méthodes définies dans la définition de la classe, mais elles peuvent être appelées directement sans instancier la classe.

Ce qui suit est un exemple de définition et d'utilisation de méthodes statiques :

class Example {

    public static function sayHello() {
        echo "Hello World!";
    }
}

Example::sayHello(); // 输出 "Hello World!"

Dans cet exemple, nous définissons une méthode statique sayHello, qui n'a pas besoin d'instancier la classe mais est appelée directement via le nom de la classe et le nom de la méthode.

Mot-clé Final

Le mot-clé Final est utilisé pour indiquer que la classe ou la méthode ne peut pas être remplacée par des sous-classes. En d’autres termes, si une classe ou une méthode est déclarée finale, elle ne peut pas être héritée ou remplacée.

Ce qui suit est un exemple d'utilisation du mot-clé final :

final class Example {

    final public function sayHello() {
        echo "Hello World!";
    }
}

class Subclass extends Example {
    // 报错:不能继承被final修饰的类
}

class AnotherClass {

    public function sayHello() {
        echo "Hi, everyone!";
    }
}

class YetAnotherSubclass extends AnotherClass {

    final public function sayHello() {
        echo "Hello World!";
    }
}

class FinalClass extends YetAnotherSubclass {

    // 报错:不能重写被final修饰的方法
}

Dans cet exemple, la classe Sample et la méthode sayHello sont toutes deux déclarées comme finales, et ni les sous-classes SubClass ni FinalClass ne peuvent hériter ou remplacer ces classes modifiées en final et méthodes.

Mot-clé abstrait

Le mot-clé abstrait est utilisé pour indiquer que la classe ou la méthode est abstraite, c'est-à-dire qu'elle ne peut pas être instanciée ou implémentée. Les méthodes définies dans une classe abstraite ne sont que des déclarations de méthodes sans implémentation spécifique. Ces méthodes doivent être implémentées concrètement dans les sous-classes.

Ce qui suit est un exemple d'utilisation du mot-clé Abstract :

abstract class Animal {
    abstract public function makeSound();
}

class Cat extends Animal {

    public function makeSound() {
        echo "Meow!";
    }
}

class Dog extends Animal {

    public function makeSound() {
        echo "Woof!";
    }
}

$obj1 = new Cat();
$obj1->makeSound(); // 输出 "Meow!"

$obj2 = new Dog();
$obj2->makeSound(); // 输出 "Woof!"

Dans cet exemple, une classe abstraite Animal est définie, qui définit une méthode abstraite makeSound. Les sous-classes Cat et Dog doivent implémenter cette méthode avant de pouvoir être instanciées.

Conclusion

Les mots-clés static, final et abstrait sont une syntaxe couramment utilisée dans la programmation orientée objet PHP et sont des outils très importants pour les développeurs. Maîtriser l’utilisation de ces mots-clés peut nous aider à mieux écrire du code PHP correct, robuste et efficace.

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