php面向对象(oop)
2012-12-10 00:32
260 查看
php面向对象(oop)
将同一事物统一管理;
<?php
class cat{
public $name;
public $age;
}
//创建对象
$cat1=new cat;
//给对象赋值
$cat1->name="小明";
$cat1->age=12;
echo $cat1->name;
?>
成员属性必须是public 才能访问;
对象在内存中的存在形式:
当php在内存中运行的时候,会在内存中开辟几个区域
(堆区,栈区,代码区,全局区,常量区);
![](http://pic002.cnblogs.com/images/2012/476981/2012121000585613.jpg)
<?php
class person{
public $name;
public $age;
}
$a=new person();
$a->name="小明";
$a->age=20;
//把a变量(对象),赋给$b;
$b=$a;
echo $a->name."<br>";
echo $b->name."<br>";
?>
加深内存图的认识:
$a=78;
//$b=$a;
$b=&$a;
$b=$b+8;
echo $a."\n".$a;
![](http://pic002.cnblogs.com/images/2012/476981/2012121001041429.jpg)
对象传入函数的时候传入值,还是地址?
(记忆,函数调用的时候会重新开辟一个新栈 当函数调用完 返回后,新栈结束)
class person{
public $name;
public $age;
}
$p1=new person();
$p1->name="韩顺平";
$p1->age=22;
//函数接受对象时候,究竟是传入值,还是地址;
function test1($p){
$p->name="小明";
}
test1($p1);
echo $p1->name;
分析图:
![](http://pic002.cnblogs.com/images/2012/476981/2012121001043681.jpg)
如果给函数传递的是基本数据类型(整数,小数,布尔,字符),传的是什么?
$a=90;
传递的是具体的值90;在函数内不能修改$a的值;
在变量前面加&地址符,就可以传入$a的地址;在函数内修改$a的值;
在函数内传入数组 也是默认传入值;如果希望传入地址;则加&$arr;
成员方法:
访问修饰符号 function函数名(参数列表){
//函数体
//return 返回值
}
class person{
public $name;
public $age;
public function count1(){
$res=0;
for($i=1;$i<=100;$i++){
$res+=$i;
}
return $res;
}
public function count2($n){
$res=0;
for($i=1;$i<=$n;$i++){
$res+=$i;
}
return $res;
}
public function speak(){
echo "我是一个好人";
}
}
$p1=new person();
$p1->speak();
echo "<br/>".$p1->count1();
//接受一个数然后计算
echo "<br/>".$p1->count2(100);
将同一事物统一管理;
<?php
class cat{
public $name;
public $age;
}
//创建对象
$cat1=new cat;
//给对象赋值
$cat1->name="小明";
$cat1->age=12;
echo $cat1->name;
?>
成员属性必须是public 才能访问;
对象在内存中的存在形式:
当php在内存中运行的时候,会在内存中开辟几个区域
(堆区,栈区,代码区,全局区,常量区);
![](http://pic002.cnblogs.com/images/2012/476981/2012121000585613.jpg)
<?php
class person{
public $name;
public $age;
}
$a=new person();
$a->name="小明";
$a->age=20;
//把a变量(对象),赋给$b;
$b=$a;
echo $a->name."<br>";
echo $b->name."<br>";
?>
加深内存图的认识:
$a=78;
//$b=$a;
$b=&$a;
$b=$b+8;
echo $a."\n".$a;
![](http://pic002.cnblogs.com/images/2012/476981/2012121001041429.jpg)
对象传入函数的时候传入值,还是地址?
(记忆,函数调用的时候会重新开辟一个新栈 当函数调用完 返回后,新栈结束)
class person{
public $name;
public $age;
}
$p1=new person();
$p1->name="韩顺平";
$p1->age=22;
//函数接受对象时候,究竟是传入值,还是地址;
function test1($p){
$p->name="小明";
}
test1($p1);
echo $p1->name;
分析图:
![](http://pic002.cnblogs.com/images/2012/476981/2012121001043681.jpg)
如果给函数传递的是基本数据类型(整数,小数,布尔,字符),传的是什么?
$a=90;
传递的是具体的值90;在函数内不能修改$a的值;
在变量前面加&地址符,就可以传入$a的地址;在函数内修改$a的值;
在函数内传入数组 也是默认传入值;如果希望传入地址;则加&$arr;
成员方法:
访问修饰符号 function函数名(参数列表){
//函数体
//return 返回值
}
class person{
public $name;
public $age;
public function count1(){
$res=0;
for($i=1;$i<=100;$i++){
$res+=$i;
}
return $res;
}
public function count2($n){
$res=0;
for($i=1;$i<=$n;$i++){
$res+=$i;
}
return $res;
}
public function speak(){
echo "我是一个好人";
}
}
$p1=new person();
$p1->speak();
echo "<br/>".$p1->count1();
//接受一个数然后计算
echo "<br/>".$p1->count2(100);
相关文章推荐
- 【PHP面向对象(OOP)编程入门教程】13.访问类型(public,protected,private)
- php面向对象(OOP)—__autoload()函数
- PHP面向对象(OOP)编程完全教程
- php面向对象(OOP)---- 验证码类
- -PHP面向对象(OOP)编程入门-3.什么是面向对象编程?
- php学习笔记--面向对象oop及注意点
- 【PHP面向对象(OOP)编程入门教程】14.final关键字的应用
- php面向对象(OOP)—封装性
- PHP面向对象(OOP)编程入门教程————如何实例化对象?
- php面向对象(OOP)—__toString()和__clone()
- 【PHP面向对象(OOP)编程入门教程】4.如何抽象出一个类?
- php 面向对象 创建OOP
- php面向对象(OOP)编程完全教程
- PHP面向对象(OOP)----分页类
- -PHP面向对象(OOP)编程入门-5.如何实例化对象?
- PHP面向对象(OOP):__set(),__get(),__isset(),__unset()四个方法的应用
- PHP面向对象(OOP)----访问限制符
- PHP面向对象(OOP)编程完全教程:8.构造方法__construct()与析构方法__destruct()
- 【PHP面向对象(OOP)编程入门教程】15.static和const关键字的使用(self::)
- php面向对象(OOP)—实例化对象