zoukankan      html  css  js  c++  java
  • page39 类的访问权限控制

    <?php
    /**
     * Page37 Class
     * @authors haidong (admin@zhe700.net)
     * @date    2015-03-25 11:21:21
     * @version $Id$
     */
    
    class ShopProduct{
        private $title;
        private $producerMainName;
        private $producerFirstName;
        protected $price;
        private $discount = 0;
        public function __construct($title,$producerMainName,$producerFirstName,$price){
            $this->title = $title;
            $this->producerMainName = $producerMainName;
            $this->producerFirstName = $producerFirstName;
            $this->price = $price;
        }
        public function getProducerMainName(){
            return $this->producerMainName;
        }
        public function getProducerFirstName(){
            return $this->producerFirstName;
        }
        public function getDiscount(){
            return $this->discount;
        }
        public function serDiscount($discount){
            return $this->discount = $discount;
        }
        public function getPrice(){
            return ($this->price - $this->discount);
        }
        public function getProducer(){
            return "{$this->producerFirstName} {$this->producerMainName}";
        }
        public function getSummaryLine(){
            return "{$this->title} ({$this->producerFirstName} {$this->producerMainName})";
        }
    }
    class CdProduct extends ShopProduct{
        private $playLength;
        public function __construct($title,$producerMainName,$producerMainName,$price,$playLength){
            parent::__construct($title,$producerMainName,$producerMainName,$price);
            $this->playLength = $playLength;
        }
        public function getPlayLength(){
            return $this->playLength;
        }
        public function getSummaryLine(){
            $base = parent::getSummaryLine();
            $base .= "play time ({$this->playLength})";
            return $base;
        }
    }
    class BookProduct extends ShopProduct{
        private $numPages;
        public function __construct($title,$producerMainName,$producerMainName,$price,$numPages){
            parent::__construct($title,$producerMainName,$producerMainName,$price);
            $this->numPages = $numPages;
        }
        public function getNumPages(){
            return $this->numPages;
        }
        public function getSummaryLine(){
            $base = parent::getSummaryLine();
            $base .= "total pages ({$this->numPages})";
            return $base;
        }
    }
    $cd = new CdProduct('CD','John','Smith',79,90);
    echo $cd->getSummaryLine();
    $book = new BookProduct('Book','Bob','zhang',49,360);
    echo $book->getSummaryLine();

    加入了权限的控制

  • 相关阅读:
    MVC 和 MVVM
    Objective-C对象模型及应用
    面试总汇二
    iOS中常用的四种数据持久化方法简介
    iOS应用程序生命周期
    SDWebImage的总结
    面试知识点总汇
    block 的演练和使用
    Java 类 生成数据库表
    sql中写标量函数生成大写拼音首字母
  • 原文地址:https://www.cnblogs.com/haidong/p/4365409.html
Copyright © 2011-2022 走看看