1. php中面向对象中的构造函数的作用是什么,为什么需要它。
构造函数就是在实例化类的时候就被运行的函数,可以有参数,也可以没有参数。构造函数主要用来在创建对象时初始化对象 即为对象成员变量赋初始值,比如说你的MyPc类,定义了$name,那么如果没有构造函数你在初始化MyPc类的时候$name的值就是空的,你可以定义一个构造函数来给$name一个值,因为很多时候我们并不允许某些对象变量的值是空的
2. 究竟PHP的构造函数有什么用途
就是在你用new创建那个class的时候,class里的构造函数就自动执行了,不需要你再去调用
用途一般是做配置类初始化信息,比如加个类全局变量什么的
3. php构造函数
类中有函数和变量。
类中定义的变量叫做属性,
类中的函数叫做方法。
$this是指类本身,
$this->base()
指调用当前类中的base()方法。
构造函数可有可无。先可以不考虑构造函数的功能。
构造函数只是创建类的实例的时候自动被调用。其他地方也跟普通函数一样。
类中与类名同名的函数成为构造函数。
等你写多代码以后自然而然的想写构造函数了。那时候肯定会理解构造函数的用处。
4. php 构造函数
参数没有值 你可以在构造函数中参数写一个默认空值 比如 function __construct($a=''){..}
5. php5的构造函数和析构函数有哪些
构造函数:void __construct ([ mixed $args [, $... ]] )
PHP5允许开发人员为类定义构造函数。包含构造函数的类在创建实例时将自动调用其构造函数,所以构造函数适合完成初始化对象的操作。
注意:如果子类定义了构造函数,那么父类的构造函数将不会被自动的隐式的调用。如果需要运行父类的构造函数,需要执行parent::__construct()。如果子类没有显式的定义构造函数,那么子类将继承父类的构造函数,并直接运行。 析构函数:
PHP5引入了析构函数的概念,类似于C++等面向对象语言中的析构函数的概念。析构函数在类实例的引用失效时、对象被销毁、超出作用域、以及任意关闭序列时,将被调用。 注意:类似构造函数,当子类定义了自己的析构函数,需要使用parent::__destruct()来调用父类的析构函数。
6. 请问PHP构造函数的含义
php的两大oop使用型函数:构造函数(__construct)和析构函数(__destruct );
构造函数:当在某一页面写了众多函数,其中就包括构造函数,当你调用其中任一函数时,都将在调用此函数前先调用构造函数,如:你把链接数据库代码写到构造函数里面,然后在使用增删改查时,就不用再写连接s数据库语句了,因为有构造函数在,你就只用写增删改查类sql语句就可以了。
析构函数:和构造函数相反,在同一页面内,有众多函数,其中有析构函数,当你调用了某一函数之后,会自动执行析构函数,比如说你的增删改查用完了,是不是要关闭数据库连接来释放内存?析构函数就是这样用的。
7. php构造函数实例讲解
PHP官网定义:
复制代码
代码如下:
构造函数是类中的一个特殊函数,当使用
new
操作符创建一个类的实例时,构造函数将会自动调用。当函数与类同名时,这个函数将成为构造函数。如果一个类没有构造函数,则调用基类的构造函数,如果有的话,则调用自己的构造函数
如a.php一个class
a类:
复制代码
代码如下:
<?php
class
a{
function
__construct(){
echo
'class
a';
}
}
b.php有个class
b类继承a类:
复制代码
代码如下:
<?php
include
'a.php';
class
b
extends
a{
function
__construct(){
echo
'666666';
//parent::__construct();
}
function
index(){
echo
'index';
}
}
$test=new
b();
这样写的话,b类有自己的构造函数,那么实例化b类的时候,自动运行构造函数,此时默认不运行父类的构造函数,如果同时要运行父类构造函数,要声明parent::__construct();
复制代码
代码如下:
<?php
include
'a.php';
class
b
extends
a{
function
index(){
echo
'index';
}
}
$test=new
b();
此时b类没有自己的构造函数,那么将默认执行父类的构造函数。
8. 谁能用比较通俗的语言解释一下php类中的构造函数,他的作用以及为什么会存在
从php5以后的版本,php的类就可以使用魔术方法了。
php规定以两个下划线(__)开头的方法都保留为魔术方法,所以建议大家函数名最好不用__开头,除非是为了重载已有的魔术方法。
PHP中的魔术方法有 :__construct,__destruct,__get, __set等
__get、__set这两个方法是为在类和他们的父类中没有声明的属性而设计的。
__get( $property ) 当调用一个未定义的属性时,此方法会被触发,传递的参数是被访问的属性名
__set( $property, $value ) 给一个未定义的属性赋值时,此方法会被触发,传递的参数是被设置的属性名和值
这里的没有声明包括当使用对象调用时,访问控制为proteced,private的属性(即没有权限访问的属性)。
在php语言中,类构造器有两种方法,一种是使用__construct,另一种是使用与类同名的方法。
__construct 构造方法,当一个对象创建时调用此方法,相对于PHP4使用此方法的好处是:可以使构造方法有一个独一无二的名称,无论它所在的类的名称是什么.这样你在改变类的名称时,就不需要改变构造方法的名称。
9. PHP中构造函数与自定义函数区别
构造方法:用户创建对象时,系统自动调用的方法;
功能:初始化类中必备数据的;
PHP5实现方法:
1)方法名和类名相同的方法
2)PHP中设置的魔术方法(用户执行了某种操作后,系统自动调用的方法):
__construct();
注意:1】如果没有定义构造方法,那么系统会自动的创建一个空魔术构造方法;
2】如果PHP4中的构造方法和PHP5中的构造方法,同时存在,那么PHP5中的构造方法优先使用;普通的成员方法和构造方法的区别和联系:
1】普通的方法如果定义的名字和类名相同,那么就变成构造方法
2】如果构造方法中有参数,那么参数列表要和创建对象时,类名后的小括号参数类表完全一样;
3】普通的方法主要是为了完成某个功能,而构造方法主要是初始化数据
4】普通的方法的可以有返回值,但是构造方法从语法上可以有返回值,但是从意义上不能有返回值;
10. 关于php构造函数
用于类的初始化,在新建一个对象时被立即执行,既
new base();
此时会执行__construct()
$this是指类(实例)自身