swa*_*esh 10 php oop constructor abstract-class
我在问之前已经关注了这个链接 - 答案是在JAVA上下文中,这是用于PHP中的构造函数.
由于我是首发,我在OOP概念中实现了我的PHP代码,因此我非常愿意了解PHP抽象类中的用法和好处或何时使用构造函数.
请在现实世界中提供一个示例,以便更好地掌握概念.
PS - 虽然我遵循PHP手册来理解OOP概念,但我发现它有点难以理解,所以对链接/博客的任何帮助都非常值得注意.
我的代码 -
<?php
abstract class grandClass
{
abstract function grandmethod();
function __construct()
{
echo "I am grandClass constructor";
}
}
abstract class parentClass extends grandClass
{
abstract function raiseFlag();
function grandmethod()
{
echo "This is grandmethod!!!","<br />";
}
public function getValue()
{
echo "Zero is the blackhole for the numbers!!","<br />";
}
}
class childClass extends parentClass
{
function raiseFlag()
{
echo "Peaceful thoughts!!","<br />";
}
}
$myobj = new childClass();
$myobj->raiseFlag();
$myobj->getValue();
$myobj->grandmethod();
Run Code Online (Sandbox Code Playgroud)
Lau*_*ris 34
抽象类中的构造函数与具体类中的构造函数相同.在需要时使用构造函数,例如,如果需要初始化某些数据或分配一些资源.
我给你举个例子:
abstract class Db
{
protected $pdo;
public function __construct($pdo)
{
$this->pdo = $pdo;
}
abstract function select($table, $fields);
}
class Db_Mysql extends Db
{
public function select($table, $fields)
{
// Build MySQL specific select query
// then execute it with $this->pdo
}
}
class Db_Pgsql extends Db
{
public function select($table, $fields)
{
// Build PostgreSQL specific select query
// then execute it with $this->pdo
}
}
// Usage:
$db = new Db_Mysql($pdo);
$db->select('users', array('id', 'name'));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
23582 次 |
| 最近记录: |