009-对象—— 构造方法__construct析构方法__destruct使用方法 PHP重写与重载
<?php
/**构造方法__construct析构方法__destruct使用方法 PHP重写与重载
*/
//构造方法:当实例化对象时,自动运行的方法
/*class channel{
function __construct()
{
echo 222;
}
}
$channel=new channel();//输出:222*/ /*class db{
private $host;
private $user;
private $pwd;
private $dbname;
private $mysqli;
function __construct()
{
include 'dbConfig.php';
$this->host=HOST;
$this->user=USER;
$this->pwd=PWD;
$this->dbname=DBNAME;
$this->_connect();
}
function _connect(){
$this->mysqli=new mysqli($this->host,$this->user,$this->pwd,$this->dbname);
}
}
$chanel=new db();*/ //
/*浏览器输入:
http://phpbasic.com/004object/9.php?&access=admin&a=_display
输出:显示栏目
*/
/*class channel{
function __construct()
{
$access=$_GET['access'];//保存用户权限:
if ($access=="admin"){
$method=$_GET['a'];
$this->$method();
}
}
function _edit(){
echo "编辑栏目";
}
function _del(){
echo "删除栏目";
}
function _display(){
echo "显示栏目";
}
}
$channel=new channel();*/ //通过构造函数,对对象进行整体的配置:
/*class APP{
function __construct()
{
self::_include();
self::_config();
}
static function _config(){
echo "<br/>配置环境......<br/>";
}
static function _include(){
echo "<br/>载入文件...<br/>";
}
function display($content){
echo "<h1 style='color: #333; border: 3px #F00 solid;'>$content</h1>";
}
public function dump($content){
echo "<pre>";
print_r($content);
}
} class channel extends APP{
function __construct()
{
parent::__construct();
$access=$_GET['access'];//保存用户权限:
if ($access=="admin"){
$method=$_GET['a'];
$this->$method();
}else{
$this->display("你没有权限,不能操作栏目");
}
}
function _edit(){
echo "编辑栏目";
}
function _del(){
echo "删除栏目";
}
function _display(){
echo "显示栏目";
}
}
$channel=new channel();*/ //析构方法:
/*class db{
private $host;
private $user;
private $pwd;
private $dbname;
private $mysqli;
function __construct()
{
include 'dbConfig.php';
$this->host=HOST;
$this->user=USER;
$this->pwd=PWD;
$this->dbname=DBNAME;
$this->_connect();
}
function _connect(){
$this->mysqli=new mysqli($this->host,$this->user,$this->pwd,$this->dbname);
}
function update(){
echo "更新数据";
}
function insert(){
echo "插入数据";
}
public function _close(){
echo "关闭数据库";
}
function __debugInfo()
{
//对象执行完之后执行的一些方法:
$this->_close();
}
}
$chanel=new db();*/ //类的重写:(利用重写可以实现多态的实现)
class dongwu
{
function yundong()
{
echo "动物在跑";
}
} class yu extends dongwu
{
function yundong()
{
echo "鱼在游";
}
} class niao extends dongwu
{
function yundong()
{
echo "飞。。。。";
}
}
class gou extends dongwu{ } class chongwu
{
private $congwu; function __construct($type)
{
$this->congwu = new $type();
} function yundong()
{
$this->congwu->yundong();
}
} $congwu = new chongwu('yu');
$congwu->yundong();
009-对象—— 构造方法__construct析构方法__destruct使用方法 PHP重写与重载的更多相关文章
- 010-对象——构造方法__construct析构方法__destruct使用方法 PHP重写与重载
<?php /*抽象方法和抽象类 抽象类必须通过子类继承之后,才能实现实例化. 类中有抽象方法,必须声明抽象类. 如果是抽象类,可以没有抽象方法,但必须通过子类去继承之后,实现实例化 final ...
- PHP 构造方法 __construct()和PHP 析构方法 __destruct()
PHP 构造方法 __construct() 允许在实例化一个类之前先执行构造方法. 构造方法 构造方法是类中的一个特殊方法.当使用 new 操作符创建一个类的实例时,构造方法将会自动调用,其名称必须 ...
- 【PHP面向对象(OOP)编程入门教程】8.构造方法__construct()与析构方法__destruct()
大多数类都有一种称为构造函数的特殊方法.当创建一个对象时,它将自动调用构造函数,也就是使用new这个关键字来实例化对象的时候自动调用构造方法.构 造函数的声明与其它操作的声明一样,只是其名称必须是__ ...
- 构造方法(_ _construct) 和析构方法(__destruct)
构造方法,是一个特殊的方法: 1,名字是固定的:_ _construct: 2,该方法通常都不要我们自己调用,而是在new一个对象的时候会自动调用. 3,该方法主要的目的是为了在new一个对象的时候, ...
- php构造方法与析构方法
1. 构造方法 <?php //构造方法 __construct() 是在实例化对象时被自动调用 //用途:可以用于初始化程序(可以给成员属性赋值,也可以调用成员方法) //语法:[修饰符] f ...
- PHP其它常用函数;<<<面向对象(OPP)的三大特性:封装、继承、加态:>>> <----面试题 ;构造方法、析构方法,魔术方法、set、get方法;静态;抽象类;接口
PHP其它常用函数: 赋值:$r->name = "元素"; 取值: echo $r->name; count() 计算数组中的元素数目或对象中 ...
- PHP面向对象的构造方法与析构方法
构造方法与析构方法是对象中的两个特殊方法,它们都与对象的生命周期有关.构造方法时对象创建完成后第一个被对象自动调用的方法,这是我们在对象中使用构造方法的原因.而析构方法时对象在销毁之前最后一个被对象自 ...
- 浅谈PHP面向对象编程(三、构造方法和析构方法)
3.0 构造方法和析构方法 从我之前的博客可以发现,实例化一个类的对象后,如果要为这个对象的属性赋值,需要直接访问该对象的属性.如果想要在实例化对象的同时就为这个对象的属性进行赋值,则可以通过构造方法 ...
- php课程 12-38 php的类的构造方法和析构方法怎么写
php课程 12-38 php的类的构造方法和析构方法怎么写 一.总结 一句话总结:a.__construct(参数){},__destruct(){},b.如果类中的一个方法和类名相同,则该方法为构 ...
随机推荐
- 杭电1019Least Common Multiple
地址:http://acm.hdu.edu.cn/showproblem.php?pid=1019 题目: Problem Description The least common multiple ...
- Winter-2-STL-D The Blocks Problem 解题报告及测试数据
Time Limit:3000MS Memory Limit:0KB Description Background Many areas of Computer Science use sim ...
- Shape-inside css新属性 几何图形的实现
https://www.w3cplus.com/css3/css-shapes-101.html
- 基础知识总结之 jdk部分
第一次安装jdk 按照操作走完 会出现 C:\Program Files\Java\jdk1.8.0_91 和 C:\Program Files\Java\jre1.8.0_91 两个目录 (平级目 ...
- 【c++ primer, 5e】函数重载
[函数重载] Java中的重载一般是指重载构造器,或是子类覆写父类的方法:C++中的重载稍微复杂一些. 定义重载函数 典型的数据库应用. Record lookup(const Account& ...
- Kafka学习之(四)PHP操作Kafka
简单测试 环境:Centos6.4,PHP7,kafka服务器IP:192.168.9.154,PHP服务器:192.168.9.157 在192.168.9.157创建目录和文件. //生产者 &l ...
- 注意:PHP7中十个需要避免的坑
1.不要使用mysql_函数 这一天终于来了,从此你不仅仅“不应该”使用mysql_函数.PHP7已经把它们从核心中全部移除了,也就是说你需要迁移到好得多的mysqli_函数,或者更灵活的PDO实现. ...
- 20145312 实验二《 Java面向对象程序设计》
20145312 实验二< Java面向对象程序设计> 实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S.O.L.I.D原则 了解 ...
- 快用Visual Studio(三)- 代码重构
什么是代码重构 编写代码 | 找到代码 | 修改代码 关于重构的工具 Bracket Matching Selection Cursors Intelligence Parameter hints E ...
- let与const心智模型
let 与 const 心智模型: let与const分别是变量与常量的块级声明关键字: 其主要目的是为了约束开发者编写出逻辑更加清晰,阅读性更好的代码: 它们体现了JavaScript的" ...