php类知识点滴---类继承的一些原则
完全重写 <?php
class coach
{
public function __construct()
{
echo "欢迎来到~北武堂训练~";
}
}
class cj extends coach
{
public function __construct($name)
{
echo "哎哟~好久不见了".$name;
}
}
$cj = new cj('丁大锅');
?>
实例化之后输出结果:
哎哟~好久不见了丁大锅
- 在原有基础上增强功能(关键表达式:重写功能中 先实现parent::方法名)
<?php
class coach
{
public function __construct()
{
echo "欢迎来到~北武堂训练~";
}
}
class cj extends coach
{
public function __construct()
{
parent::__construct();
echo "今天练点什么?力量训练还是站立式格斗还是地面技术";
}
}
$cj = new cj();
?> 输出结果: 欢迎来到~北武堂训练~今天练点什么?力量训练还是站立式格斗还是地面技术
- final关键字
final修饰类,意味着该类不能被继承
#错误示例
final class coach
{
public function __construct()
{
echo "欢迎来到~北武堂训练~";
}
}
class cj extends coach
{
public function __construct()
{
parent::__construct();
echo "今天练点什么?力量训练还是站立式格斗还是地面技术";
}
}
$cj = new cj();
?>
输出结果:
Fatal error: Class cj may not inherit from final class (coach)...... final修饰方法,意味着该方法不能被重写
#错误示例
class coach
{
final function __construct()
{
echo "欢迎来到~必图拳馆训练~";
}
}
class xxd extends coach
{
public function __construct()
{
echo "像个男人一样去战斗!";
}
}
$cj = new xxd();
?>
输出结果:
Fatal error: Cannot override final method coach::__construct() in
- 重写要点
重写的时候权限只能放大,不能缩小
例如父类中的方法修饰符号是public那么子类中的也是public 而不能改成protected 或private等更小的权限
#错误示例
<?php
class coach
{
public function __construct()
{
echo "欢迎来到~必图拳馆训练~";
}
}
class xxd extends coach
{
protected function __construct()
{
echo "像个男人一样去战斗!";
}
}
$cj = new xxd();
?>
输出结果:
Fatal error: Uncaught Error: Call to protected xxd::__construct() from invalid context in #正确示例:
<?php
class coach
{
public function __construct()
{
echo "欢迎来到~必图拳馆训练~";
}
}
class xxd extends coach
{
public function __construct()
{
echo "像个男人一样去战斗!";
}
}
$cj = new xxd();
?>
输出结果:
像个男人一样去战斗!
php类知识点滴---类继承的一些原则的更多相关文章
- php类知识点滴---类的实例化,构造函数,继承初步
实例化类----黑科技用法,通过字符串来实例化 class coach { public function __construct() { echo "欢迎光临北武堂"." ...
- php类知识点滴---魔术方法,系统在特定时机触发的方法
__get()获取私有或受保护属性时调用的方法 <?php class coach { private $chairfit = "徐晓冬"; public function ...
- IT第十八天 - 类的封装、继承、重载、上周总结★★★
IT第十八天 上午 封装 1.关键字this,是表示该类在实例化时的对象,即this.表示为该对象的属性 2.类的数据保护,set.get方法的写法规则,为了之后的反射机制的读取数据,set方法中对于 ...
- Kotlin——从无到有系列之中级篇(四):面向对象的特征与类(class)继承详解
如果您对Kotlin很有兴趣,或者很想学好这门语言,可以关注我的掘金,或者进入我的QQ群大家一起学习.进步. 欢迎各位大佬进群共同研究.探索 QQ群号:497071402 进入正题 在前面的章节中,详 ...
- Exception类的学习与继承总结
日期:2018.11.11 星期日 博客期:023 Exception类的学习与继承总结 说起来我们上课还是说过的!老师提到了报错问题出现主要分Exception和Error两类!第一次遇见这个问题是 ...
- Python基础知识:类
初级篇 面向过程:根据业务逻辑从上到下写垒代码 函数式:将某功能代码封装到函数中,日后便无需重复编写,仅调用函数即可 面向对象:对函数进行分类和封装,让开发“更快更好更强...” 1.面向对象三大特性 ...
- Python中的类、对象、继承
类 Python中,类的命名使用帕斯卡命名方式,即首字母大写. Python中定义类的方式如下: class 类名([父类名[,父类名[,...]]]): pass 省略父类名表示该类直接继承自obj ...
- ECMAScript6 中 类的封装与继承
ECMASCRIPT6中实现了class关键字,这样使我们更容易也更形象的进行类的操作 <script type="text/javascript"> class OF ...
- 不可或缺 Windows Native (21) - C++: 继承, 组合, 派生类的构造函数和析构函数, 基类与派生类的转换, 子对象的实例化, 基类成员的隐藏(派生类成员覆盖基类成员)
[源码下载] 不可或缺 Windows Native (21) - C++: 继承, 组合, 派生类的构造函数和析构函数, 基类与派生类的转换, 子对象的实例化, 基类成员的隐藏(派生类成员覆盖基类成 ...
随机推荐
- u盘启动盘安装centos7.5操作系统
1.下载CentOS 7.5的安装镜像:CentOS-7-x86_64-DVD-1804.iso 2.下载UltraISO:https://cn.ultraiso.net/xiazai.html 3. ...
- centos 6.x下jira显示饼图乱码解决方法
由于最近业务反馈jira出饼图时出现乱码现象,无法显示中文. 1. 由于平时用的yum源没有相关安装包,这里推荐暂时修改yum源如下: [epel] name=Extra Packages - $ba ...
- 【LOJ】#3095. 「SNOI2019」字符串
LOJ#3095. 「SNOI2019」字符串 如果两个串\(i,j\)比较\(i < j\),如果离\(a_{i}\)最近的不同的数是\(a_{k}\),如果\(j < k\)那么\(i ...
- c++学习笔记之引用
引用是 C++ 的新增内容,在实际开发中会经常使用:C++ 用的引用就如同C语言的指针一样重要,但它比指针更加方便和易用,有时候甚至是不可或缺的. 同指针一样,引用能够减少数据的拷贝,提高数据的传递效 ...
- FFmpeg4.0笔记:封装ffmpeg的解封装功能类CDemux
Github https://github.com/gongluck/FFmpeg4.0-study/tree/master/Cff CDemux.h /*********************** ...
- springboot2.0结合freemarker生成静态化页面
目录 1. pom.xml配置 2. application.yml配置 3. 使用模板文件静态化 3.1 创建测试类,编写测试方法 3.2 使用模板字符串静态化 使用freemarker将页面生成h ...
- 简单说说utf-8编码格式
提到utf-8,脑海里立马出现了Unicode.那什么是utf-8, 什么是Unicode呢?简要说一下. Unicode(Universal Multiple-Octet Coded Charact ...
- javascript——== 和===的区别
== 等于 === 全等(值和类型) console.log(5==5);//true console.log(5=="5");//true console.log(5===5); ...
- java——ArrayList中contains()方法中的疑问
问题引子: ist<Student> students=new ArrayList<Student>(); students.add(new Student("201 ...
- Python 风格指南
https://zh-google-styleguide.readthedocs.io/en/latest/google-python-styleguide/contents/ 目前个人遵循的基本规范 ...