它的父对象或它们所实现的接口是否来自指定的对象类,1.多态的介绍和优势
分类:博客热点

PHP 唯有三个档案的次序运算符:instanceof 用来测定叁个加以的指标,它的父对象或它们所完结的接口是不是来自钦命的指标类。instanceof 运算符是 PHP 5 引入的。从前用 is_a(),但是 is_a(卡塔尔(قطر‎已经不应时宜了,最棒用 instanceof。?phpclass A { }class B { }$thing = new A;if ($thing instanceof A卡塔尔(قطر‎ { echo ''A'';}if ($thing instanceof B卡塔尔(قطر‎ { echo ''B'';}?

类的多态

1.多态的牵线和优势。
2.运算符:instanceof。
3.多态的简约利用。

1.多态的牵线和优势

介绍:多态性是延续抽象和三回九转后,面向对象语言的第三风味。

事例:USB接口,插上不相同的事物会动用分化的功力。

优势:OOP并不唯有是把无数函数和效率集合起来,目标而是采纳类,世袭,多态的章程陈说大家生活中的一种意况。

 
2.运算符:instanceof

PHP一个品类运算符,用来测定一个加以的目的是或不是来自钦命的对象
格式:

 代码如下

class A {}
class B {}

$thing = new A;
if ($thing instanceof A) {
echo "A";
}
if ($thing instanceof B) {
echo "B";
}

3.多态的轻便利用
实例1:

 代码如下

<?php
class A {

}

class B {

}

$new = new A;

if ($new instanceof A) {
echo "A";
}
if ($new instanceof B) {
echo "B";
}
?>

实例2:

 代码如下

<?php
interface MyUsb {
 function type();
 function alert();
}

class Zip implements MyUsb {
 function type() {
  echo "2.0";
 }
 function alert() {
  echo "U盘驱动正在检查评定……<br />";
 }
}

class Mp3 implements MyUsb {
 function type() {
  echo "1.0";
 }
 function alert() {
  echo "MP4驱动正在检查测量试验……";
 }
}

class MyPc {
 function Add_Usb($what) {
  $what->type();
  $what->alert();
 }

}
$p = new MyPc();

$zip = new Zip();

$mp3 = new Mp3();

$p->Add_Usb($zip);
$p->Add_Usb($mp3);
?>

补偿一个实例213.29.11.16更新

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>世襲和多态</title>
</head>

<body>
<?php
/*  父类  */
class MyObject{
 public $object_name;         //图书名称
 public $object_price;          //图书价格
 public $object_num;          //图书数量
 public $object_agio;          //图书折扣
 function __construct($name,$price,$num,$agio卡塔尔国{    //布局函数
  $this -> object_name = $name;
  $this -> object_price = $price;
  $this -> object_num = $num;
  $this -> object_agio = $agio;
 }
 function showMe(State of Qatar{          //输出函数
  echo '那句话不展会示。';
 }
}
/*  子类Book  */
class Book extends MyObject{         //MyObject的子类。
 public $book_type;          //类别
 function __construct($type,$num卡塔尔(قطر‎{       //证明构造方法
  $this -> book_type = $type;
  $this -> object_num = $num;
 }
 function showMe(卡塔尔国{          //重写父类中的showMe方法
  return '此次新进'.$this -> book_type.'图书'.$this->object_num.'本<br>';
 }
}
/*  子类Elec  */
class Elec extends MyObject{         //MyObject的另三个子类
 function showMe(卡塔尔{          //重写父类中的showMe方法
  return '热卖图书:'.$this -> object_name.'<br>原价:'.$this -> object_price.'<br>特价:'.$this -> object_price * $this -> object_agio;
 }
}
/*  实例化对象  */
$c_book = new Book('计算机类',1000卡塔尔(قطر‎;       //声惠氏(WYETH卡塔尔个Book子类对象
$h_elec = new Elec('PHP函数参照他事他说加以调查大全',98,3,0.8卡塔尔;     //声飞鹤个Elec子类对象
echo $c_book->showMe()."<br>";        //输出Book子类的showMe()方法
echo $h_elec->showMe(State of Qatar;         //输出Elec子类的是showMe(卡塔尔方法
?>
</body>
</html>

本文由威尼斯在线注册平台发布于博客热点,转载请注明出处:它的父对象或它们所实现的接口是否来自指定的对象类,1.多态的介绍和优势

上一篇:威尼斯正规官网请勿出售本程序或其修改版,复制代码 代码如下 下一篇:WAP的应用结构非常类似于Internet
猜你喜欢
热门排行
精彩图文