php面向对象例子,php面向对象程序设计

本文目录一览:

php面向对象全攻略 (三)特殊的引用“$this”的使用

7.特殊的引用“$this”的使用

现在我们知道了如何访问对象中的成员,是通过“对象-成员”的方式访问的,这是在对

象的外部去访问对象中成员的形式,那么如果我想在对象的内部,让对象里的方法访问本对

象的属性,或是对象中的方法去调用本对象的其它方法这时我们怎么办?因为对象里面的所

有的成员都要用对象来调用,包括对象的内部成员之间的调用,所以在PHP

里面给我提供了

一个本对象的引用$this,每个对象里面都有一个对象的引用$this

来代表这个对象,完成对象

内部成员的调用,this

的本意就是“这个”的意思,上面的实例里面,我们实例化三个实例

对象$P1、$P2、$P3,这三个对象里面各自存在一个$this

分别代表对象$p1、$p2、$p3。

通过上图我们可以看到,$this

就是对象内部代表这个对象的引用,在对象内部和调用本

对象的成员和对象外部调用对象的成员所使用的方式是一样的。

$this-属性$this-name;

$this-age;

$this-sex;

$this-方法$this-say();

$this-run();

修改一下上面的实例,让每个人都说出自己的名字,性别和年龄:

代码片段

复制代码

代码如下:

?php

class

Person{

//下面是人的成员属性

var

$name;

//人的名字

var

$sex;

//人的性别

var

$age;

//人的年龄

//下面是人的成员方法

function

say(){//这个人可以说话的方法

echo

“我的名字叫:”.$this-name.”

性别:”.$this-sex.”

我的年龄是:”.$this-age.”br”;

}

function

run(){

//这个人可以走路的方法

echo

“这个人在走路”;

}

}

$p1=new

Person();

//创建实例对象$p1

$p2=new

Person();

//创建实例对象$p2

$p3=new

Person();

//创建实例对象$p3

//下面三行是给$p1对象属性赋值

$p1-name=”张三”;

$p1-sex=”男”;

$p1-age=20;

//下面访问$p1对象中的说话方法

$p1-say();

//下面三行是给$p2对象属性赋值

$p2-name=”李四”;

$p2-sex=”女”;

$p2-age=30;

//下面访问$p2对象中的说话方法

$p2-say();

//下面三行是给$p3对象属性赋值

$p3-name=”王五”;

$p3-sex=”男”;

$p3-age=40;

//下面访问$p3对象中的说话方法

$p3-say();

?

输出结果

我的名字叫:张三性别:男我的年龄是:20

我的名字叫:李四性别:女我的年龄是:30

我的名字叫:王五性别:男我的年龄是:40

分析一下这个方法:

代码片段

function

say(){

//这个人可以说话的方法

echo

“我的名字叫:”.$this-name.”

性别:”.$this-sex.”

我的年龄是:”.$this-age.”br”;

}

在$p1、$p2

和$p3

这三个对象中都有say()这个方法,$this

分别代表这三个对象,调用相应的属性,打印出属性的值,这就是在对象内部访问对象属性的方式,如果相在say()这个方

法里调用run()这个方法也是可以的,在say()这个方法中使用$this-run()的方式来完成调用。

php中面向对象编程是什么意思,到底用在什么地方,用一个项目中的实际例子来举例说明

可以这样理解,

1、类是模具,对象是模具生成的产品,就是印刷术一样,有了一个字一个字的模子,要印出一个字来就方便了,想印就印,你可以印,我也可以印。

2、在PHP中怎么做一个模具出来呢,就用 class申明,它就表示你要造一个模具了,但这个模具是做什么用的,就要在里面添加函数来表达了,函数名就是这个类的方法名,函数完成的功能就是类的方法。当然函数要实现功能代码中肯定要用到变量,这个就是所谓的类的成员以或者说成是类的属性。

3、有了类的属性有了类的方法,这就完成了一个类的定义,也就是模具做好了,接下来要理解的就是,怎样去用这个类了。就好像是要看一本书你不可能到印刷厂去把字的模具拿来拼成一页一页书来看吧,肯定是在纸上印刷出来。这个印刷的过程就是对象生成的过程也叫类的实例化。PHP中用new关键字来生成对象。比如前面定义的类名为 牛,这个牛有一个方法(函数)是:耕地。当然耕地这个函数,要怎样去实现那是另外要的事情了。现在要说的是怎么用牛的耕地方法,首先实例化,在PHP中这样表示:牛1= new 牛。这样 牛这个类 就有了一个具体可以使唤的牛1了 要想用牛1的耕地方法,意思就是“调用类(对象)的方法”,PHP中这样表示,牛1-耕地;如果你想要100头牛,就new100个出来就行,而不用每当要用牛的时候都去写牛的代码和牛耕地的代码了。

4、上面说的是一个理解过程,要实现就要用到具体的PHP的语法了,比如怎样申明变量 ,怎样赋值,怎样用运算符来运算,怎样写循环结构,怎样写选择结构,等等 。

php面向对象面试题

其实这个问题很简单啦,两分钟就可以请清楚啦,我在这里先说一下思想;

首先你得写一个类表示人,如:person类;

小刘、小张、MrJosnon、MrJohn等都是这个person类的一个实例;

并且人力资源部问问题这是这个person类当中的一个方法,然后每个人都可以继承自person类,然后又有各自己相关方法等;

然后你得写一个国家类,如:Country类,然后中国是这个国家的一个具体实例;

然后你得写一个城市类,如:City类;然后上海是City类的一个实例;

同样,你得写一个公司类,如:Company类,然后那两个公司又是Company类的两个实例,并且你还得写一个部门类,如:Depart类,然后人力资源部是部门的一个实例;

上面只是这个问题的中文描述,你可以参考一下;

请教PHP面向对象编程

楼上给的例子,是正确的,只不过声明访问权限的时候用的是PHP4的语法。

修正一下:

——————————————————————-

?php

class A

{

public static $name=”张三”;

}

class B

{

public static $name=”李四”;

}

class C

{

public $a;

public $b;

public function __construct()

{

$this-a=new A;

$this-b=new B;

}

public function outputValue()

{

printf(“a::name=%s,b::name=%s\n”,$this-a-name,$this-b-name);

}

}

$c=new C;

$c-outputValue();

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

}

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/249774.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝小蓝
上一篇 2024-12-12 17:12
下一篇 2024-12-12 17:12

相关推荐

  • PHP和Python哪个好找工作?

    PHP和Python都是非常流行的编程语言,它们被广泛应用于不同领域的开发中。但是,在考虑择业方向的时候,很多人都会有一个问题:PHP和Python哪个好找工作?这篇文章将从多个方…

    编程 2025-04-29
  • PHP怎么接币

    想要在自己的网站或应用中接受比特币等加密货币的支付,就需要对该加密货币拥有一定的了解,并使用对应的API进行开发。本文将从多个方面详细阐述如何使用PHP接受加密货币的支付。 一、环…

    编程 2025-04-29
  • 面向对象编程、类和对象

    面向对象编程(Object-Oriented Programming, OOP)是一种编程方法,它将现实世界中的事物抽象为对象(Object),对象的属性和方法被封装成类(Clas…

    编程 2025-04-29
  • Python计算机语言程序设计用法介绍

    Python是一种高级编程语言,其设计目的是让程序员能够在编写代码时更加关注算法的设计,而不必过多地考虑语言细节。Python被广泛应用于网站开发、数据科学、人工智能、机器学习等各…

    编程 2025-04-28
  • 使用PHP foreach遍历有相同属性的值

    本篇文章将介绍如何使用PHP foreach遍历具有相同属性的值,并给出相应的代码示例。 一、基础概念 在讲解如何使用PHP foreach遍历有相同属性的值之前,我们需要先了解几…

    编程 2025-04-28
  • 使用面向对象程序设计方法改写猜数字游戏Python程序

    本文将从以下多个方面对猜数字游戏程序功能要求,使用面向对象程序设计方法改写该程序Python做详细的阐述。 一、游戏规则 1、游戏开始时,程序随机生成一个 1 到 100 之间的整…

    编程 2025-04-28
  • Python计数循环例子用法介绍

    在这篇文章中,我们将为您提供有关Python计数循环的一些详细信息,并为您提供示例和代码,让您更深入地了解如何使用Python进行计数循环。 一、什么是计数循环? 计数循环是编程中…

    编程 2025-04-28
  • PHP获取301跳转后的地址

    本文将为大家介绍如何使用PHP获取301跳转后的地址。301重定向是什么呢?当我们访问一个网页A,但是它已经被迁移到了另一个地址B,此时若服务器端做了301重定向,那么你的浏览器在…

    编程 2025-04-27
  • PHP登录页面代码实现

    本文将从多个方面详细阐述如何使用PHP编写一个简单的登录页面。 1. PHP登录页面基本架构 在PHP登录页面中,需要包含HTML表单,用户在表单中输入账号密码等信息,提交表单后服…

    编程 2025-04-27
  • 汇率兑换程序和温度转换程序设计

    这篇文章将从多个方面详细阐述如何设计汇率兑换程序和温度转换程序。这些程序可以帮助人们更方便地计算货币汇率和温度转换,对于需要频繁出差或者经常进行气象预报的人来说,这些程序将非常有用…

    编程 2025-04-27

发表回复

登录后才能评论