温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

php面向对象编程入门

发布时间:2020-06-08 22:19:39 来源:网络 阅读:362 作者:韦小宝叔叔 栏目:web开发

1.发展与解释:

 

汇编:面向机器

C语言:面向过程

java:面向对象

php:支持面向对象

 

其实类也是一种数据类型

 

a.类是抽象的,代表一类事物

b.对象是具体的,是类的一个具体实例

c.类是对象的模板,对象是类的一个个体实例


2.简单入门案例:

<?php
class Cat
{
public
$name;
public
$age;
public
$color;
}
$cat1=new
Cat();
//对类进行实例化/创建一个对象/实例化对象 三者说法同种意思
$cat1->name="小白";
$cat1->age=10;
$cat1->color="red";
$FindCat="小白";
if($cat1->name==$FindCat)
{
ECHO $FindCat."存在";
}
 
?>

3.用法



a.成员属性的说明:

成员属性是从某个事物中提取出来,可以是基本数据类型(整数,小数,字符,布尔),也可以是复合数据类型(数组,对象)

 

Class 类名{

成员属性;

}

 

b.创建对象

 

$对象名=new 类名();

or

$对象名=new 类名;

 

c.访问对象属性

 

$对象名->属性名;

 

d.class命名规范

如果一个文件专门用于定义类的,没有类的操作,其命名规范:

 

类名.class.php

 

Class 类名

{

 

}

4.从内存详细解释

内存图


堆区:对象,一般存较小的的

栈区:基本数据类,一般是较大的


案例1

<?php
class Cat
{
public
$name;
public
$age;
public
$color;
}
$c=90;
$cat1=new
Cat();
$cat1->name="小白";
$cat1->age=10;
$cat1->color="red";
$cat2=$cat1
 
?>

内存图如下:

php面向对象编程入门


案例2

<?php
$a=9;
$b=$a;
$b=$b+8;
Echo
$a." ".$b;
?>

内存图如下:

php面向对象编程入门

案例3

<?php
$a=9;
$b=&$a;
$b=$b+8;
Echo
$a." ".$b;
?>

内存图如下:

php面向对象编程入门

案例4:

<?php
Class
Person
{
 public $name;
Public
$age;
}
$p1=new
Person();
$p1->name="小明";
$p1->age=10;
 
Function
test1($p)
{
$p->name="小花";
}
 
Test1($p1);
Echo
$p1->name;
?>

php面向对象编程入门


a.函数接收对象时候,究竟接收的是,还是地址

b.如果是基本数据类型?在默认情况下,传递的是值,如果希望传入地址:

Function test(&$变量名)

{

 

}

php中,如果给一个函数传递的是数组,则默认情况下是传值(拷贝了新的数组),如果如果希望传入地址:

Function test(&$array)

{

 

}

 

 

问题?

 

 

<?php
$arr=array($a1,$a2);
$a1=array(1,2,3);
$a2=array(4,5,6,7);
foreach
($arr as $k=>$v)
{
echo
"$k=$v";
}
var_dump($arr);
?>

…………………………………………………..区别

<?php
$a1=array(1,2,3);
$a2=array(4,5,6,7);
$arr=array($a1,$a2);
foreach ($arr as $k=>$v)
{
echo "$k=$v";
}
var_dump($arr);
?>

错误


向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI