首页 > 编程知识 正文

php面向对象之构造方法,php面向对象程序设计

时间:2023-12-28 21:10:52 阅读:328861 作者:CCSP

本文目录一览:

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';

}

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。