本文目录一览:
- 1、PHP中面向对象中的构造函数的作用是什么,为什么需要它。
- 2、php中面向对象的构造方法
- 3、PHP面向对象那个继承是什么意思而construct这个构造函数是什么意思 可以举个例子吗
- 4、Php面向对象魔术方法有哪些?
- 5、php 有关面向对象继承构造函数初始化的问题
- 6、php面向对象有什么用
PHP中面向对象中的构造函数的作用是什么,为什么需要它。
构造函数就是在实例化类的时候就被运行的函数,可以有参数,也可以没有参数。构造函数主要用来在创建对象时初始化对象 即为对象成员变量赋初始值,比如说你的MyPc类,定义了$name,那么如果没有构造函数你在初始化MyPc类的时候$name的值就是空的,你可以定义一个构造函数来给$name一个值,因为很多时候我们并不允许某些对象变量的值是空的
php中面向对象的构造方法
什么叫"是传递的时候会自动的分配参数"?编译器不会聪明到看到一个参数的值是“男”,然后就自动把它分配给sex属性。它只能很傻地按照顺序匹配。
在你的例子中,$weightlifting = new WeightLifting('明日','185','80','20','男') 多了一个参数,所以最后一个参数实际上是被忽略掉了,而$weightlifting 的sex的属性值实际上是"20“。
你可以在父类里面再加个函数自己输出试试看 ,
function showStatus(){
echo 'name is :'.$this-name.'br';
echo 'age is :'.$this-age.'br';
echo 'avoirdupois is :'.$this-avoirdupois.'br';
echo 'sex is :'.$this-sex.'br';
}
输出 echo $weightlifting-showStatus();
PHP面向对象那个继承是什么意思而construct这个构造函数是什么意思 可以举个例子吗
子类可以继承父类里面的方法可以直接调用,construct这个是初始化,每次执行类里面的方法先要初始化一下在执行你要用的函数,这个里面就可以写一些公用的东西
Php面向对象魔术方法有哪些?
这个就有点多了,比如构造方法__construct,析构方法__destruct,克隆方法__clone,__set,__get等
php 有关面向对象继承构造函数初始化的问题
写几点提示供参考:
1、在类的继承中,扩展或派生出来的类(子类)拥有其基类(父类)的所有变量和函数,并包含所有派生类中定义的部分。
也就说,你上面的在子类里类似
private $debugmessage;
这句代码其实没什么意义。
2、如果你在子类里,又定义了与父类里同名的方法,那么,父类的方法会被覆盖,也就是说,你调用的是子类实现的代码。
3、
this 指向的是当前对象
self 指向当前的类
parent 指向的是父类
php面向对象有什么用
php程序编写分总分两种方式,分别为面向过程和面向对象,用两者比较你会更容易理解些
以下数据库操作为例:
面向过程:
$conn = mysql_connect('127.0.0.1', 'root', '123456') or die('连接不成功!');
mysql_select_db('test', $conn) or die('数据库不存在!');
$queryid = mysql_query("select * from sort");
while ($rs = mysql_fetch_assoc($queryid)) {
echo $rs['name'], 'br';
}
过程的代码给人感觉比较乱,不易管理,以下实现以上代码一样的功能,但代码清楚多了。
面向对象就是把常用的功能封装为一个类,类由属性和方法组成:
把以上过程代码封装成类,以文件形式保存为db.php
class db {
private $conn; //属性
private $queryid; //属性
//构造函数
public function db($host, $dbuser, $dbpasswd, $dbname) {
$this-conn = mysql_connect($host, $dbuser, $dbpasswd) or die('连接不成功!');
mysql_select_db($dbname, $this-conn) or die('数据库不存在!');
}
//查询方法
public function query($sql) {
$this-queryid = mysql_query($sql, $this-conn);
}
public function fetch_assoc() {
return mysql_fetch_assoc($this-queryid);
}
}
//在a.php文件中实例化,代码使用变得简结和容易理解,代码的重用性
inclode('db.php');
$db = new db('127.0.0.1', 'root', '123456', 'test');
$db-query("select * from sort");
while ($rs = $db-fetch_assoc()) {
echo $rs['name'], 'br';
}