批改状态:合格
老师批语:
实例演绎
<?php//父类class Car{public $name; //类的属性前边加访问修饰符public $carType;private $member = 8.5;//构造器,给类的属性初始化赋值,每次实例化,都会自动调用public function __construct($name,$carType){//$this-> 对象引用$this->name = $name;$this->carType = $carType;}//成员方法,public function getPrice(){return "{$this->name}的热卖车型是{$this->carType}";}//一个方法被添加了final关键字,则意味这个方式为最终方法,不能被重写final public function member(){return "本店的老用户,可以享受特殊优惠价格是所有车辆价格的{$this->member}折.";}}
实例演绎
<?php//子类class Carson extends Car{protected $price; //添加属性,实现属性扩展static $discount = 8.8; //静态属性static $count=0;public function __construct($name,$carType,$price){//是用parent:: 关键字来 继承父类的成员方法;parent::__construct($name,$carType);$this->price = $price;self::$count ++;}public static function getCount(){echo "目前关注本网站的用户有".self::$count."位";}//使用parent:: 关键字引用类成员方法,添加内容,来实现类成员方法的重写public function getPrice1(){return parent::getPrice()."正常价格是{$this->price},";}//添加类成员方法,来是实现类的扩展public function getDiscount(){//声明为private的成员属性不能被外部访问,但是可以在本类中调用return $this->getPrice1()."国庆节的优惠价格是".($this->price * self::$discount)."元.";//$discount是静态属性,须要通过self::来调用}}
<?phpspl_autoload_register(function($className){require $className.'.php';});
<?phprequire 'autoload.php';//使用NEW 关键字 将类赋给一个变量 实现类的实例化$car1 = new Carson('BMW','330i运动型',380000);//第一次实例化echo $car1->getDiscount();echo "<br>";//通过instanceof关键字检测 $car1是不是 Carson的是实例,是就返回true,不是则返回flasevar_dump($car1 instanceof Carson);echo '<br>';$car = new Car('BMW','330i运动型');echo $car->member();//访问类中的最终方法echo '<br>';$car2 = new Carson('BWM','530li豪华型',450000);//二次实例化$car3 = new Carson('BWM','750li行政版',1450000);//三次实例化echo $car2->getDiscount();echo '<br>';echo $car3->getDiscount();echo '<br>';$car2::getCount();//每次实例化,自加一,来实现用户调用的检测
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号