PHP - 继承 - 子类使用父类方法

<?php
class ShopProduct {
    private $FirstName;
    private $LastName;
    private $Title;
    private $Price;

    public function __construct( $fistname, $lastname, $title, $price ) {
        $this->FirstName = $fistname;
        $this->LastName  = $lastname;
        $this->Title     = $title;
        $this->Price      = $price;
    }

    public function getProductName() {
        $str  = '';
        $str .= $this->FirstName . '-' . $this->LastName;
        return $str;
    }

    public function getSummary() {
        $str  = '';
        $str .= $this->FirstName . '-' . $this->LastName . '-' . $this->Title . '-' . $this->Price;
        return $str;
    }
}

class CdProduct extends ShopProduct {
    private $Playlength;

    public function __construct( $fistname, $lastname, $title, $price, $length) {
        //调用父类 构造方法
        parent::__construct( $fistname, $lastname, $title, $price );
        $this->Playlength = $length;
    }

    public function getSummary() {
        $str  = parent::getSummary();
        $str .= '-' . $this->Playlength;
        return $str;
    }
}

class BookProduct extends ShopProduct {
    private $numPage;

    public function __construct( $fistname, $lastname, $title, $price, $numpage ) {
        parent::__construct( $fistname, $lastname, $title, $price );
        $this->numPage = $numpage;
    }

    public function getSummary() {
        $str  = parent::getSummary();
        $str .= '-' . $this->numPage;
        return $str;
    }
}


/**
 * 调用
 */
$cdproduct = new CdProduct('cdone', 'cdtwo', 'cdtitle', 200, 300);

echo $cdproduct->getProductName();

echo '<br>';

echo $cdproduct->getSummary();


echo '<hr>';


$bookproduct = new BookProduct('bookone', 'booktwo', 'booktitle', 100, 200);

echo $bookproduct->getProductName();

echo '<br>';

echo $bookproduct->getSummary();

 

调用结果:

posted on 2016-03-07 12:50  ultrastrong  阅读(2609)  评论(0)    收藏  举报