php课程 12-39 继承中parent的作用是什么
2024-08-28 05:37:49
php课程 12-39 继承中parent的作用是什么
一、总结
一句话总结:PHP5中使用parent::来引用父类的方法。parent:: 可用于调用父类中定义的成员方法。 parent::的追溯不仅于直接父类。
1、对象链实例?
1.document.body.style.background='#f00';
2.$('.img').show().click(func);
3.$obj->show()->say()->eat()->click();
2、php对象链如何实现?
每个方法中都把$this对象返回了
14 function eat(){
15 echo '<h1>eat</h1>';
16 return $this;
17 }
3、php中的类如何直接调用类里面的方法?
是双冒号调用
类只能去直接调用没有$this(对象的属性,比如方法中要用到属性)的方法,因为没有对象,也就是没有$this
Person::say()
4、如何解决父亲儿子继承父亲之后构造函数重用不够彻底的情况?
在儿子的构造函数中调用父亲的构造函数
parent::__construct($n,$a,$s);
二、继承中parent的作用是什么
1、相关知识
构造方法:
1.__construct();
2.Person(); #如果有一个方法名字与类名相同,则该方法为构造方法
析构方法:
1.__destruct();
2.析构时变量从下往上删
对象链:
1.document.body.style.background='#f00';
2.$('.img').show().click(func);
3.$obj->show()->say()->eat()->click();
属性的作用域:
1.属性的作用域
2.局部变量的作用域
通过类名直接调用方法:
Person::say(); #前提是say方法中不能出现$this本对象
继承特性:
class It extends Person{
//代码
}
继承关键字:
1.extends
2.parent
封装特性:
1.public
2.protected
3.private
2、代码
extends中parent的作用
<?php
class Person{
public $name; public function __construct($n,$a,$s){
$this->name=$n;
$this->age=$a;
$this->sex=$s;
} public function say(){
echo "<h1>我的名字是: $this->name</h1>";
}
} class It extends Person{
public $program; public function __construct($n,$a,$s,$p){
parent::__construct($n,$a,$s);
$this->program=$p;
} public function develop(){
echo "<h1>{$this->name}正在开发{$this->program}项目</h1>";
}
} $obj=new It('小金',20,'nan','PHP'); $obj->say();
$obj->develop();
?>
对象链实现原理
<?php
class Person{
public $name; function __construct($n){
$this->name=$n;
} function say(){
echo '<h1>say</h1>';
return $this;
} function eat(){
echo '<h1>eat</h1>';
return $this;
} function sleep(){
echo '<h1>sleep</h1>';
}
} //对象链原理
$obj=new Person('user1');
$obj->say()->eat()->sleep();
?>
最新文章
- 7.openssl enc
- Java虚拟机2:Java内存区域及对象
- 代码生成工具——CodeSmith
- java中类的创建及初始化过程
- 使用 TRegistry 类[1]: 显示各主键下的项
- undefined和void
- Mysql数据库中的计数器表实时更新
- Spring MVC程序
- 矢量编程——随着MNIST案例
- JavaScript 构造函数 prototype属性和_proto_和原型链 constructor属性 apply(),call()和bind() 关键字this
- linux重置密码的方法和用户切换
- 为View设置左右切换动画
- 只需一行代码!Python中9大时间序列预测模型
- SUBMIT WITHOUT ALV
- unicode、utf8、字符串字面值
- python 全栈开发,Day136(爬虫系列之第3章-Selenium模块)
- 逆序对__归并排序__树状数组 Inversions SGU - 180
- 使用 http 请求方式获取 eureka server的服务信息
- Redis(一) 安装
- 【max_result_window大小】 Result window is too large的问题
热门文章
- Java基础学习总结(18)——网络编程
- XWIKI的搭建
- 解决MAC下PHP连接MYSQL错误Warning: mysql_connect(): No such file or directory in conn.php
- Scala具体解释---------Scala是什么?可伸展的语言!
- jquery easyui 输入框 禁止输入负数 设置属性data-options=";min:0,required:true";
- 浅谈 C 语言中模块化设计的范式
- 最长回文子串 hihocode 1032 hdu 3068
- Windows10 Linux子系统的启用和中文用户名的修改
- 学习推荐《Python神经网络编程》中文版PDF+英文版PDF+源代码
- 学习《Python数据科学手册》高清中文PDF+高清英文PDF+代码