python construct_PHP __construct():构造函数/方法
构造函数(constructor method,也称为构造器)是类中的一种特殊函数,当使用 new 关键字实例化一个对象时,构造函数将会自动调用。
在 PHP3.0 和 PHP4.0 中,构造函数是一个与其所在类同名的函数。而在 PHP5 中,虽然也支持 PHP3.0 和 PHP4.0 中的用法,但是更推荐使用__construct作为类的构造函数,这样做的好处就是构造函数无需随着类名的改变而做出修改。在 PHP7.0 中废弃了 PHP3.0 和 PHP4.0 中的用法,构造函数必须使用__construct来定义。
构造函数就是当对象被创建时,类中被自动调用的第一个函数,并且一个类中只能存在一个构造函数。和普通函数类似构造函数也可以带有参数,如果构造函数有参数的话,那么在实例化也需要传入对应的参数,例如new Students($name, $age)。
创建构造函数的语法格式如下:
public function __construct(参数列表){
... ...
}
其中,参数列表是可选的,不需要时可以省略。
如果没有在代码中显式地声明构造函数,类中会默认存在一个没有参数列表并且内容为空的构造函数。如果显式地声明构造函数则类中的默认构造方法将不会存在。所以构造函数通常用来做一些准备工作,比如为某些参数赋值等。
注意:如果显式地声明构造函数,那么它的访问权限必须是 public,而且构造函数是在实例化时自动调用的,我们不需要手动调用。
【示例】创建一个类,并为其显示的创建构造函数,代码如下:
class Website{
public $name, $url, $title;
public function __construct($str1, $str2, $str3){
$this -> name = $str1;
$this -> url = $str2;
$this -> title = $str3;
$this -> demo();
}
public function demo(){
echo $this -> name.'
';
echo $this -> url.'
';
echo $this -> title.'
';
}
}
$object = new Website('C语言中文网','http://c.biancheng.net/php/','构造函数');
?>
运行结果如下:
C语言中文网
http://c.biancheng.net/php/
构造函数
代码中我们用到了 $this,它表示当前调用的对象,而且 $this 只能在类的方法中使用,更多关于 $this 的知识后面我们会详细介绍。
python construct_PHP __construct():构造函数/方法相关推荐
- php基础(25)_构造函数(方法)
当一个类实例化一个对象时,可能会随着对象初始化一些成员变量,如果赋初值比较多,写起来就比较麻烦,为此,php引入了魔术方法中的构造函数(方法)__construct,构造函数(方法)是生成对象时自动执 ...
- 009-对象—— 构造方法__construct析构方法__destruct使用方法 PHP重写与重载
<?php /**构造方法__construct析构方法__destruct使用方法 PHP重写与重载*/ //构造方法:当实例化对象时,自动运行的方法 /*class channel{func ...
- python中的构造函数和构造函数和析构函数的作用
构造函数和构造函数和析构函数都属于python中的特殊方法 其中的"__del__"就是一个析构函数了,当使用del 删除对象时,会调用他本身的析构函数,另外当对象在某个作用域中调 ...
- python系统提供构造函数传入参数_python类变量与构造函数的使用
类变量:可在类的所有实例之间共享的变量 实例类对象:类的实例是调用类对象来创建的.如:par = Parent(),par就是类Parent的一个实例类对象. 实例变量(成员变量):同一个类对象可以创 ...
- python描述符魔术方法_Python类型转换的魔术方法详解
本文讨论python中将某个复杂对象转换为简单对象或数据类型的常用魔术放啊,这些在编程中是十分有用的. 1.__str__方法. 在讲解本方法前我们先打开一个jupyter notebook,随意创建 ...
- python方法_详细解读Python中的__init__()方法
__init__()方法意义重大的原因有两个.第一个原因是在对象生命周期中初始化是最重要的一步:每个对象必须正确初始化后才能正常工作.第二个原因是__init__()参数值可以有多种形式. 因为有很多 ...
- python用类名直接调用方法_一文读全 Python 的面向对象编程方法
背景介绍: Python 支持三种形式的编程,分别是:"命令式"."函数式"和"面向对象式". 很多优秀的开源 Python 项目里都用到了 ...
- Python学习之魔法方法
什么是魔法方法? 在Python中,有的方法的前后被双下划线所包围,这就是魔法方法,这些方法会在特殊的情况下被调用,而不用显示调用. 其中,Python中最常见的魔法方法便是构造方法_init_,同样 ...
- python调用java的方法
最近自己开发的一套测试平台,因为上游系统经常修改主数据,导致其中一个功能经常失败,要频繁找上游测试帮忙修改数据. 基于此种原因,对于这种过于依赖上游系统的接口,决定放弃直接调上游系统的http请求下发 ...
最新文章
- 在leangoo里怎么设置看板周期,过滤看板数据?
- linux C非阻塞延时,linux 非阻塞式socket编程求助。。
- Caffe学习系列(3):视觉层(Vision Layers)及参数
- 2016年蓝桥杯省赛题解
- Google Chrome —— 使用 PowerShell 命令安装 Google Chrome 浏览器
- 彻底完全卸载 SQL Server 2005 的图文教程
- docker-compose命令介绍和使用【官方英文文档翻译】【附加案例】
- jQuery:无限循环两个或者多个事件 click / toggle between two functions
- c#winform演练 ktv项目 点击歌单行 可以播放对应的歌曲
- 中值滤波时K = filter2(fspecial('average',3),img)/255,原因
- E_FAIL (0x80004005) MachineWrap
- memcache 客户端性能对比试验
- Android eclipse sdk包升级
- 最大连续子数组和 动态规划_53. 最大子序和(动态规划)
- 功能机用上下键实现MoveEvent
- 【Unity项目实战】手把手教学:飞翔的小鸟(3)动画制作
- 文化袁探索专栏——消息分发机制
- 在腾讯云搭建代理服务器的全部过程
- ftp服务器型号,ftp服务器的类型及其特点
- nlp, ml, 学习书单