奶头挺立呻吟高潮av全片,成人试看120秒体验区,性欧美极品v,A片高潮抽搐揉捏奶头视频

php語言

PHP5中實(shí)現(xiàn)多態(tài)的兩種方法實(shí)例

時間:2025-05-08 02:55:27 php語言 我要投稿
  • 相關(guān)推薦

PHP5中實(shí)現(xiàn)多態(tài)的兩種方法實(shí)例

  在PHP5中,變量的類型是不確定的,一個變量可以指向任何類型的數(shù)值、字符串、對象、資源等。我們無法說PHP5中多態(tài)的是變量。以下是小編整理的關(guān)于在PHP5中多態(tài)應(yīng)用方法,歡迎來閱讀!

  我們只能說在PHP5中,多態(tài)應(yīng)用在方法參數(shù)的類型提示位置。

  一個類的任何子類對象都可以滿足以當(dāng)前類型作為類型提示的類型要求。

  所有實(shí)現(xiàn)這個接口的類,都可以滿足以接口類型作為類型提示的方法參數(shù)要求。

  簡單的說,一個類擁有其父類、和已實(shí)現(xiàn)接口的身份。

  通過實(shí)現(xiàn)接口實(shí)現(xiàn)多態(tài)

  復(fù)制代碼 代碼如下:

  <?php

  interface User{ // User接口

  public function  getName();

  public function setName($_name);

  }

  class NormalUser implements User { // 實(shí)現(xiàn)接口的類.

  private $name;

  public function getName(){

  return $this->name;

  }

  public function setName($_name){

  $this->name = $_name;

  }

  }

  class UserAdmin{ //操作.

  public static function  ChangeUserName(User $_user,$_userName){

  $_user->setName($_userName);

  }

  }

  $normalUser = new NormalUser();

  UserAdmin::ChangeUserName($normalUser,"Tom");//這里傳入的是 NormalUser的實(shí)例.

  echo $normalUser->getName();

  ?>

  使用接口與組合模擬多繼承

  通過組合模擬多重繼承。

  在PHP中不支持多重繼承,如果我們向使用多個類的方法而實(shí)現(xiàn)代碼重用有什么辦法么?

  那就是組合。在一個類中去將另外一個類設(shè)置成屬性。

  下面的例子,模擬了多重繼承。

  接口實(shí)例

  寫一個概念性的例子。 我們設(shè)計一個在線銷售系統(tǒng),用戶部分設(shè)計如下: 將用戶分為,NormalUser, VipUser, InnerUser 三種。要求根據(jù)用戶的不同折扣計算用戶購買產(chǎn)品的價格。并要求為以后擴(kuò)展和維護(hù)預(yù)留空間。

  復(fù)制代碼 代碼如下:

  <?php

  interface User

  {

  public function getName();

  public function setName($_name);

  public function getDiscount();

  }

  abstract class AbstractUser implements User

  {

  private $name = "";

  protected  $discount = 0;

  protected  $grade = "";

  function __construct($_name) {

  $this->setName($_name);

  }

  function getName() {

  return $this->name;

  }

  function setName($_name) {

  $this->name = $_name;

  }

  function getDiscount() {

  return $this->discount;

  }

  function getGrade() {

  return $this->grade;

  }

  }

  class NormalUser extends AbstractUser

  {

  protected $discount = 1.0;

  protected $grade = "Normal";

  }

  class VipUser extends AbstractUser

  {

  protected $discount = 0.8;

  protected $grade = "VipUser";

  }

  class InnerUser extends AbstractUser

  {

  protected $discount = 0.7;

  protected $grade = "InnerUser";

  }

  interface Product

  {

  function getProductName();

  function getProductPrice();

  }

  interface Book extends Product

  {

  function getAuthor();

  }

  class BookOnline implements Book

  {

  private $productName;

  protected $productPrice;

  protected $Author;

  function __construct($_bookName) {

  $this->productName = $_bookName;

  }

  function getProductName() {

  return $this->productName;

  }

  function getProductPrice() {

  $this->productPrice = 100;

  return $this->productPrice;

  }

  public function getAuthor() {

  $this->Author = "chenfei";

  return $this->Author;

  }

  }

  class Productsettle

  {

  public static function finalPrice(User $_user, Product $_product, $number) {

  $price = $_user->getDiscount() * $_product->getProductPrice() * $number;

  return $price;

  }

  }

  $number = 10;

  $book = new BookOnline("設(shè)計模式");

  $user = new NormalUser("tom");

  $price = Productsettle::finalPrice($user, $book, $number);

  $str = "您好,尊敬的" . $user->getName() . "<br />";

  $str .= "您的級別是" . $user->getGrade() . "<br />";

  $str .= "您的折扣是" . $user->getDiscount() . "<br />";

  $str .= "您的價格是" . $price;

  echo $str;

  ?>

【PHP5中實(shí)現(xiàn)多態(tài)的兩種方法實(shí)例】相關(guān)文章:

PHP中多態(tài)如何實(shí)現(xiàn)05-06

Java中的多態(tài)用法實(shí)例分析04-04

php實(shí)現(xiàn)偽靜態(tài)的方法實(shí)例11-30

PHP5中的魔術(shù)方法詳解04-19

php兩種無限分類方法實(shí)例06-15

php中實(shí)現(xiàn)回刪功能實(shí)例01-26

PHP5異常處理分析實(shí)例08-07

兩種實(shí)現(xiàn)表單驗證的javascript方法04-27

HTML實(shí)現(xiàn)頁面自動跳轉(zhuǎn)的方法有哪些(實(shí)例)07-31

主站蜘蛛池模板: 乐山市| 六枝特区| 巴青县| 峡江县| 昔阳县| 盐源县| 宁城县| 乌什县| 犍为县| 年辖:市辖区| 山东| 奉新县| 莱州市| 博白县| 蓬溪县| 蓝田县| 武邑县| 鱼台县| 花垣县| 师宗县| 铜川市| 博爱县| 永州市| 九龙县| 米脂县| 临夏市| 岗巴县| 安多县| 铜陵市| 九江市| 松江区| 嵊州市| 肇州县| 杨浦区| 宜君县| 潍坊市| 油尖旺区| 英吉沙县| 中卫市| 凭祥市| 诏安县|