php 类中多态的应用_PHP教程
php教程 类中多态的应用
Instanceof:用来测定一个给定的对象是否来自指定的对象类
class A{}
class B{}
$thing=new A();
//return true
if ($thing instanceof A) {
echo 'A';
}
//return false
if ($thing instanceof B) {
echo 'B';
}
?>
运行结果:
A
header("Content-Type:text/html;charset=UTF-8");
interface MyUsb{
function type();
function alert();
}
class Zip implements MyUsb{
function type(){
echo "2.0";
}
function alert(){
echo "正在检查U盘驱动";
}
}
class Mp3 implements MyUsb{
function type(){
echo "1.0";
}
function alert(){
echo "正在检查Mp3驱动";
}
}
class Mypc{
function PcUsb($what)
{
$what->type();
$what->alert();
}
}
$pc=new Mypc();
$zip=new Zip();
$mp3=new Mp3();
$pc->PcUsb($zip);//当插上的是U盘的时候
echo "
";
$pc->PcUsb($mp3);//当插上的是MP3的时候
?>
运行结果:
2.0正在检查U盘驱动
1.0正在检查Mp3驱动
对象引用都是一样的不分父类引用,还是子类引用。 我们现在来看一个例子,首先还是要使用多态就要有父类对象和子类对象的关系。做一 个形状的接口或是抽象类做为父类,里面有两个抽象方法,一个求周长的方法,另一个是求 面积的方法;这接口的子类是多种不同的形状,每个形状又都有周长和面积,又因为父类是 一个接口,所以子类里面就必须要实现父类的这两个周长和面积的抽象方法,这样做的目的 是每种不同形状的子类都遵守父类接口的规范,都要有求周长和求面积的方法。
代码如下:
//定义了一个形状的接口,里面有两个抽象方法让子类去实现
interface Shape{
function area();
function perimeter();
}
//定义了一个矩形子类实现了形状接口中的周长和面积
class Rect implements Shape{
private $width;
private $height;
function __construct($width, $height){
$this->width=$width;
$this->height=$height;
}
function area(){
return "矩形的面积是:".($this->width*$this->height);
}
function perimeter(){
return "矩形的周长是:".(2*($this->width+$this->height));
}
}
//定义了一个圆形子类实现了形状接口中的周长和面积
class Circular implements Shape{
private $radius;
function __construct($radius){
$this->radius=$radius;
}
function area(){
return "圆形的面积是:".(3.14*$this->radius*$this->radius);
}
function perimeter(){
return "圆形的周长是:".(2*3.14*$this->radius);
}
}
//把子类矩形对象赋给形状的一个引用
$shape=new Rect(5, 10);
echo $shape->area()."
";
echo $shape->perimeter()."
";
//把子类圆形对象赋给形状的一个引用
$shape=new Circular(10);
echo $shape->area()."
";
echo $shape->perimeter()."
";
?>
上例执行结果:
执行结果
矩形的面积是:50
矩形的周长是:30
圆形的面积是:314
圆形的周长是:62.8
通过上例我们看到,把矩形对象和圆形对象分别赋给了变量$shape,调用$shape 引用中
的面积和周长的方法,出现了不同的结果,这就是一种多态的应用,其实在我们PHP 这种弱
类形的面向对象的语言里面,多态的特性并不是特别的明显,其实就是对象类型变量的变项
应用。

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds



PHP 8.4 apporte plusieurs nouvelles fonctionnalités, améliorations de sécurité et de performances avec une bonne quantité de dépréciations et de suppressions de fonctionnalités. Ce guide explique comment installer PHP 8.4 ou mettre à niveau vers PHP 8.4 sur Ubuntu, Debian ou leurs dérivés. Bien qu'il soit possible de compiler PHP à partir des sources, son installation à partir d'un référentiel APT comme expliqué ci-dessous est souvent plus rapide et plus sécurisée car ces référentiels fourniront les dernières corrections de bogues et mises à jour de sécurité à l'avenir.

Pour travailler avec la date et l'heure dans cakephp4, nous allons utiliser la classe FrozenTime disponible.

Travailler avec la base de données dans CakePHP est très simple. Nous comprendrons les opérations CRUD (Créer, Lire, Mettre à jour, Supprimer) dans ce chapitre.

Pour travailler sur le téléchargement de fichiers, nous allons utiliser l'assistant de formulaire. Voici un exemple de téléchargement de fichiers.

CakePHP est un framework open source pour PHP. Il vise à faciliter grandement le développement, le déploiement et la maintenance d'applications. CakePHP est basé sur une architecture de type MVC à la fois puissante et facile à appréhender. Modèles, vues et contrôleurs gu

Le validateur peut être créé en ajoutant les deux lignes suivantes dans le contrôleur.

Se connecter à CakePHP est une tâche très simple. Il vous suffit d'utiliser une seule fonction. Vous pouvez enregistrer les erreurs, les exceptions, les activités des utilisateurs, les actions entreprises par les utilisateurs, pour tout processus en arrière-plan comme cronjob. La journalisation des données dans CakePHP est facile. La fonction log() est fournie

Visual Studio Code, également connu sous le nom de VS Code, est un éditeur de code source gratuit – ou environnement de développement intégré (IDE) – disponible pour tous les principaux systèmes d'exploitation. Avec une large collection d'extensions pour de nombreux langages de programmation, VS Code peut être c
