预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共34页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

php面向对象编程 提出一个问题? 张老太养了两只猫猫:一只名字叫小白,今年3岁,白色。还有一只叫小花,今年100岁,花色。请编写一个程序,当用户输入小猫的名字时,就显示该猫的名字,年龄,颜色。如果用户输入的小猫名错误,则显示张老太没有这只猫猫。 数组<--->对象 array(1,56,90,100)->隐藏问题array(对象,对象。。。)【数组对象】 首先我们用现有的知识来完成这个案例: <?php $cat1_name=”小白”; $cat1_age=3; $cat1_color=”白色”; //变量是分开. $cat2_name=”小花”; $cat2_age=100; $cat2_color=”花色”; ?> 我们能不能把属于同一事物的变量,统一管理? 解决之道->对象 快速体验案例: <?php //这就是一个类(猫类) classCat{ //属性 public$name; public$age; public$color; } //创建一只猫 $cat1=newCat(); //给这只猫赋值.(具体各个) $cat1->name="小白"; $cat1->age=3; $cat1->color="白色"; $cat2=newCat(); $cat2->name="小花"; $cat2->age=100; $cat2->color="颜色"; //如果我们找到一只猫,只要找到$cat1,那么该变量所有相关的属性都通通的找到 $findCatName="小花"; if($cat2->name==$findCatName){ echo$cat2->name."||".$cat2->age."||".$cat2->color; } ?> 我们这里说明一下类和对象的关系(细节后面逐步展开) 总结几句话: ①类是抽象的,代表一类事物 ②对象是具体,是类的一个具体实例 ③类是对象的模板,对象是类的一个个体实例 php面向对象编程 成员属性的说明 1.成员属性是从某个事物提取出的,它可以是基本数据类型(整数、小数、字符、布尔),也可以是复合数据类型(数组、对象) <?php classCat{ public$name; public$age; } //创建对象 $cat1=newCat; $cat1=newCat(); ?> 2.怎样访问一个成员属性(其它成员属性是public) 基本语法是 $对象名->属性名; ☞如果一个文件,专门用于定义类,则命名规范应当这样 类名.class.php 分析对象在内存中存在的形式 //定义一个人类 classPerson{ public$name; public$age; } $a=newPerson(); $a->name="小明"; $a->age=20; //把a变量(对象),赋给$b $b=$a; echo$a->name."<br/>"; echo$b->name."<br/>"; 5分钟前上传 HYPERLINK"http://bbs.itcast.cn/forum.php?mod=attachment&aid=Mzc1NXw4ZmU4OTExM3wxMzU2MDU5Mzg5fDExfDcyODI%3D&nothumb=yes"\o"91.jpg下载次数:0"\t"_blank"下载附件(32.15KB) 再次说明: $a=78; //$b=$a; $b=&$a; $b=$b+8; echo$a."||".$b; 5分钟前上传 HYPERLINK"http://bbs.itcast.cn/forum.php?mod=attachment&aid=Mzc1NnwxMjJmNTM0YXwxMzU2MDU5Mzg5fDExfDcyODI%3D&nothumb=yes"\o"92.jpg下载次数:0"\t"_blank"下载附件(16.16KB) 如果给一个函数传递一个对象,实际上是传递的一个地址. //看下面的一段代码: classPerson{ public$name; public$age; } $p1=newPerson(); $p1->name="韩顺平"; $p1->age=33; //函数接收对象时候,究竟是传入值,还是地址(!!!!) functiontest1($p){ $p->name="小明"; } test1($p1); echo$p1->name; 分析图 如果给函数传递的是基本数据类型(整数、小数、布尔、字符),究竟传递的是什么? 结论:在默认的情况下是传递的值,如果你希望传入地址 functiontest(&$变量....){ } 在php中如果,给一个函数传递的是数组,则默认情况下是传值(拷贝了新的数组),如果希望