(Avancé) PHP orienté objet - Classes et objets

黄舟
Libérer: 2023-03-05 12:36:01
original
1000 Les gens l'ont consulté

Voici le texte de l'article :

Concepts de base

La programmation orientée objet (Object Oriented Programming, POO, programmation orientée objet) est une architecture de programmation informatique. Un principe de base de la POO est que les programmes informatiques sont composés d'unités ou d'objets individuels qui fonctionnent comme des sous-programmes. La POO atteint trois objectifs du génie logiciel : la réutilisabilité, la flexibilité et l'extensibilité.

PHP a amélioré sa prise en charge de la POO après la version 4.0. Pour les petites applications, il peut être plus simple et plus efficace d'utiliser la programmation procédurale traditionnelle. Cependant, pour les applications volumineuses et complexes, la POO est un choix à considérer.

Classe

Une classe est une collection d'objets ayant les mêmes propriétés et services. Il fournit une description abstraite unifiée pour tous les objets appartenant à cette classe, qui comprend deux parties principales : les attributs et les services. Dans les langages de programmation orientés objet, une classe est une unité de programme indépendante. Elle doit avoir un nom de classe et comprendre deux parties principales : la description de l'attribut et la description du service.

Objet

L'objet est dans le système Une entité utilisée pour décrire des choses objectives. C'est une unité de base qui constitue un système. Un objet est constitué d'un ensemble de propriétés et d'un ensemble de services qui opèrent sur l'ensemble de propriétés.

La relation entre les classes et les objets est comme la relation entre les moules et les moulages. Le résultat de l'instanciation d'une classe est un objet, et l'abstraction d'un type d'objet est une classe.

La programmation orientée objet couvre un large éventail de sujets. Ce tutoriel présente uniquement les concepts et applications de base en PHP.

Classe

Utilisez le mot-clé class pour déclarer une classe, suivi du nom de la classe et du corps entouré de symboles {}.

Syntaxe :

class class_name{ ...... }
Copier après la connexion

La classe contient des propriétés et des méthodes.

Propriétés

Dans le corps d'une classe, vous pouvez déclarer des variables spéciales appelées propriétés. En PHP V4, les propriétés doivent être appelées avec le mot clé var. Il s’agit toujours d’une syntaxe légale, mais principalement destinée à la compatibilité ascendante. En PHP V5, les propriétés doivent être déclarées publiques, privées ou protégées. Peut être trouvé dans Mots-clés : Pouvons-nous avoir un peu d’intimité ici ? Découvrez ces qualificatifs dans . Mais maintenant, déclarez toutes les propriétés comme publiques dans l'exemple. Le listing 1 montre une classe qui déclare deux propriétés.

Une classe qui déclare deux attributs

class Dictionary {
   public $translations = array();
   public $type ="En";
}
Copier après la connexion

Par exemple, si vous définissez une classe humaine, alors le nom, l'âge, le sexe, etc. de la personne peuvent être considérés comme la propriété de la classe humaine .

Méthodes

En déclarant une fonction dans une définition de classe, une méthode d'une classe est créée.

Syntaxe :

class class_name{ function function_name(arg1,arg2,……) { 函数功能代码 } }
Copier après la connexion

类的应用

一个定义了属性和方法的类就是一个完整的类了,可以在一个类里面包含一个完整的处理逻辑。使用 new 关键字来实例化一个对象以便应用类里面的逻辑。可以同时实例化多个对象。

语法:

object = new class_name();
Copier après la connexion

实例化一个对象后,使用 -> 操作符来访问对象的成员属性和方法。

语法:

object->var_name; object->function_name;
Copier après la connexion

如果要在定义的类里面访问成员的属性或者方法,可以使用伪变量 $this 。$this 用于表示 当前对象 或 对象本身 。

例子:

<?php 
class Person { 
//人的成员属性 
var $name; //人的名字 
var $age; //人的年龄 
//人的成员 say() 方法 
function say() { 
echo "我的名字叫:".$this->name."<br />"; 
echo "我的年龄是:".$this->age; 
} 
} //类定义结束 

//实例化一个对象 
$p1 = new Person(); //给 $p1 对象属性赋值 
$p1->name = "张三"; 
$p1->age = 20; 
//调用对象中的 say()方法 
$p1->say(); 
?>
Copier après la connexion

运行该例子,输出:

我的名字叫:张三 我的年龄是:20

上面的例子演示了一个简单的基于面向对象的 PHP 应用。

以上就是(进阶篇)PHP面向对象- 类与对象的内容,更多相关内容请关注PHP中文网(m.sbmmt.com)!


É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