作业内容:oop基础:请举例实例演绎以下难点 1. 类(对象抽象化的结果)与对象 (类实例化结果) 2. 构造方法 3. 对象成员之间的内部访问 $this 4. private仅限本类中使用 pro
16lz
2021-08-14
<?php
//作业内容:oop基础:请举例实例演绎以下难点
// 1. 类(对象抽象化的结果)与对象 (类实例化结果)
// 2. 构造方法
// 3. 对象成员之间的内部访问 $this
// 4. private仅限本类中使用 protected本类中,子类中使用
// 5. 类的自动加载 spl_autoload_register
// 6. 静态成员的访问 类的引用self::
// 7. 类的继承 扩展 父类方法(魔术方法,普通方法)的重写 parent:: 调用父类成员
//类的自动加载
spl_autoload_register(function ($className){
require $className.'.php';
});
//抽象类
abstract class Demo{
public function show()
{
}
}
//继承抽象类,实例化方法
class Demo2 extends Demo{
public function show()
{
return '显示了方法show';
}
}
$obj = new Demo2();
echo $obj->show().'<br>';
class Father {
public $name;
public $motion;
static $step = 0;
private $pri;
protected $pro ='父类';
public function __construct($name,$motion)
{
$this->name = $name;
$this->motion = $motion;
}
static function Step($step)
{
self::$step = $step;
return '运动步数'.self::$step.'步';
}
public function bl($name)
{
$this->pri = $name;
return '我是私有的不能直接被调用,你可以用成员方法来调用我'.$this->pri;
}
}
class Son extends Father{
public $name;
public $motion;
public function __construct($name, $motion)
{
parent::__construct($name, $motion);
}
static function Step($step)
{
self::$step = $step;
return '当前运动步数'.self::$step.'步';
}
public function Pro()
{
return '我在子类中调用了' . $this->pro . 'pro变量<br>';
}
}
$obj1 = new Son('姚明','跑步');
echo $obj1::Step(500).'<br>';
echo $obj1->bl('你好呀').'<br>';
echo $obj1->Pro();
更多相关文章
- 快递100账户错误详解-接口账号,业务,增值服务,票据和其他常见问
- 快递100参数错误-面单类错误(电子面单/发货单/模板)常见问题和解
- 调用快递100接口物流信息错误常见问题和解决方法
- 类与对象的概念,类与对象的特点及构造函数
- RAID5常见故障介绍及raid5故障后常规操作方法
- 面向对象编程(oop)初体验
- PHP:0806回调函数和递归函数的理解
- 0805 一.将数组的偶数去出, 二.尝试实现计算器功能
- 抖音用户评论和ID的采集方法