使用方法

属性可以让对象存储数据,类方法则可以让对象执行任务。方法是类中声明的特殊函数,也可以接受限定词,包括可见性关键字。和属性一样,方法可以被声明为public、protected或private,默认为public。

<?php
//使用类的方法
//方法是类中声明的特殊函数,它们也可以接受限定词,默认为public
class ShopProduct {
    public $title        = '商品名称';
    public $producerName = '制造商名称';
    public $place        = '产地';
    public $price        = 0;

    function getProducer() {
        return "$this->place" . "$this->producerName";
    }
}

$producer1               = new ShopProduct();
$producer1->title        = '《深入PHP面向对象编程》';
$producer1->producerName = '人民邮电出版社';
$producer1->place        = '北京';
$producer1->price        = 69;

echo $producer1->getProducer();
?>

这时初始化对象依然很麻烦,另外还无法保证所有属性在初始化的时候被设置。因此,我们需要一个当类实例化的时候可被自动调用的类方法。创建对象时,构造方法__construct()会被自动调用,构造方法用来完成需要准备的工作。

<?php
//创建构造方法
// 构造方法可以用来确保必要的属性被设置,并完成任何需要准备的工作
class ShopProduct {
    public $title        = '商品名称';
    public $producerName = '制造商名称';
    public $place        = '产地';
    public $price        = 0;

    function __construct( $title, $producerName, $place, $price ) {
        $this->title        = $title;
        $this->producerName = $producerName;
        $this ->place       = $place;
        $this->price        = $price;
    }
    function getProducer() {
        return "$this->place" . "$this->producerName";
    }
    function getSummaryLine() {
        $base = "$this->title" . "\t" . "$this->place" . "\t" . "$this->producerName";
        return $base;
    }
}

// 创建实例化对象
$producer1 = new ShopProduct( '《信息简史》', '人民邮电出版社', '北京', 69 );

echo $producer1->getProducer();
echo $producer1->getSummaryLine();
?>

你所设计的类应该让对象的使用者确定它们的特性。

results matching ""

    No results matching ""