php 面向对象详解_构造方法与析构方法

 更新时间:2016年11月25日 15:14  点击:1406
来看看php 面向对象详解_构造方法与析构方法吧,我们经常有关于构造方法与析构函数的实例教程喽。

第七章(4)面向对象详解_构造方法与析构方法
特殊的引用$this的使用
实例说明:
class Ren
{
 var $xingming;
 var $nianling;
 var $xingbie;
 function shuohua()
 {echo "我的姓名是:".$this->xingming.",我的年龄是:".$this->nianling.",我的性别是:".$this->xingbie."<br>";}
 function zoulu()
 {echo "我在走路<br>";}
 function chifan()
 {echo "我在吃饭<br>";}
}
$r1=new Ren();    $r2=new Ren();    $r3=new Ren();
$r1->xingming="张三";    $r2->xingming="李四";    $r3->xingming="王五";
$r1->nianling=90;    $r2->nianling=23;    $r3->nianling=41;
$r1->xingbie="男";    $r2->xingbie="女";    $r3->xingbie="男";
//人1.2.3各自说出自己的姓名.年龄.性别:
$r1->shuohua();    $r2->shuohua();    $r3->shuohua();
输出结果:
我的姓名是:张三,我的年龄是:90,我的性别是:男
我的姓名是:李四,我的年龄是:23,我的性别是:女
我的姓名是:王五,我的年龄是:41,我的性别是:男
$this的作用:代表对象的一个属性,相当于第一人称"我"的概念.
构造方法的特点:名称与类相同,对象一产生的时候自动调用,去初始化成员属性.
实例说明:(此实例是在php4里面的声明方法)
class Ren
{
 var $xingming;
 var $nianling;
 var $xingbie;
 function Ren($xingming,$nianling,$xingbie)
 {
  $this->xingming=$xingming;
  $this->nianling=$nianling;
  $this->xingbie=$xingbie;
 }
 function shuohua()
 {echo "我的姓名是:".$this->xingming.",我的年龄是:".$this->nianling.",我的性别是:".$this->xingbie."<br>";}
 function zoulu()
 {echo "我在走路<br>";}
 function chifan()
 {echo "我在吃饭<br>";}
}
$r1=new Ren("张三",90,"男");
$r2=new Ren("李四",23,"女");
$r3=new Ren("王五",41,"男");
$r1->shuohua();    $r2->shuohua();    $r3->shuohua();
此例如上例输出结果完全相同.
在php5版本中的构造方法是function__construct(),不用写类名,作用相同.
析构方法__destruct()在程序结束前释放要释放的东西的方法.
实例说明:
class Ren
{
 var $xingming;
 var $nianling;
 var $xingbie;
 function __construct($xingming,$nianling,$xingbie)
 {
  $this->xingming=$xingming;
  $this->nianling=$nianling;
  $this->xingbie=$xingbie;
 }
 function shuohua()
 {echo "我的姓名是:".$this->xingming.",我的年龄是:".$this->nianling.",我的性别是:".$this->xingbie."<br>";}
 function zoulu()
 {echo "我在走路<br>";}
 function chifan()
 {echo "我在吃饭<br>";}
 function __destruct()
 {echo $this->xingming."再见<br>";}
}
$r1=new Ren("张三",90,"男");
$r2=new Ren("李四",23,"女");
$r3=new Ren("王五",41,"男");
$r1->shuohua();    $r2->shuohua();    $r3->shuohua();
输出结果:
我的姓名是:张三,我的年龄是:90,我的性别是:男
我的姓名是:李四,我的年龄是:23,我的性别是:女
我的姓名是:王五,我的年龄是:41,我的性别是:男
王五再见    李四再见    张三再见

php 面向对象详解_常用的自动调用的方法,我们会用到_autoload,__clone(),__tostring() 三个函数的教程。

第七章(10)面向对象详解_常用的自动调用的方法
__tostring() 是直接输入对象时自动调用的方法.
<如果想在直接输入对象时得到什么结果,可以将想要得到结果的代码写在__tostrimg()里面>
__clone() 对新克隆出来的副本进行属性初始化时自动调用的方法.<如果一个对象想做成两个对象,而不是一个对象有两个名称时,可以使用__clone()的方法,此时在__clone()里面的$this代表副本本身,$that代表原本本身,在书写时不能直接写成 原本对象名称=副本对象名称,这仅代表一个对象有两个名称,应写成 原本对象名称=clone副本对象名称,这样才是真正两个同样的对象,副本的__clone()里面还可以加上其它的输出>
__call(里面要有两个参数,调用不存在的方法名称传给第一个参数,不存在的列表传给第二个参数) 调用不存在对象方法时自动调用的方法.
__autoload(调用其它php中类的名称传给此参数) 调用其它php里面的类到本php中产生对象时自动调用的方法.<__autoload()并不是写在本对象内部的,而是在对象外部使用的方法>

我们主要讲一下php面向对象的一些用法与实例教程例子等哦,开始我们只讲一下面向对象的概念与php的简单例子教程哦。

 

第七章(1)面向对象详解_面向对象的概念
什么是类:组成一个对象的过程称为类.
什么是对象:类组成的东西叫对象.
类与对象之间的关系:对象由类组合而来,先有类才有对象.
什么是成员属性:定义成员静态描述. 如:人的姓名,性别,身高,体重......
什么是成员方法:定义成员动态描述.能实现一些什么功能 如:人能吃饭,走路,开车,说话......
如何去抽象一个类:
class 类名 如:人类
{
 成员属性:姓名,身高,体重...
 成员方法:走路,说话,吃饭,开车...
}
例题:
class关键字 Person类名首字母要大写
{
 成员属性
 var关键字 $name;姓名
 var $age;年龄
 var $sex;性别...
 成员方法
 function关键字 say()
  {echo "我在说话";}
 function run()
  {echo "我在走路";}
 function eat()
  {echo "我在吃饭";...}
}
产生实例化对象:
$P1=new关键字 Person类名;
$P2=new Person;

第七章(3)面向对象详解_对象实例化及使用
如何实例化对象
实例说明:
class Ren
{
 var $xingming;
 var $nianling;
 var $xingbie;
 var $shouji;
 function shuohua()
 {echo "我在说话<br>";}
 function zoulu()
 {echo "我在走路<br>";}
 function chifan()
 {echo "我在吃饭<br>";}
}
class shouji
{
 var $pinpai;
 var $yanse;
 var $chiceng;
 function dadianhua()
 {}
 function jiedianhua()
 {}
 function faxinxi($ren,$xinxi)
 {$ren->shouji->shouxinxi($xinxi);}
 function shouxinxi($xinxi)
 {echo "接信息".$xinxi."<br>";}
}
//实例化.人:
$r1=new Ren();    $r2=new Ren();    $r3=new Ren();
//实例化.人的姓名:
$r1->xingming="张三";    $r2->xingming="李四";    $r3->xingming="王五";
//实例化.手机:
$s1=new shouji();    $s2=new shouji();    $s3=new shouji();
//实例化.人用手机:
$r1->shouji=$s1;    $r2->shouji=$s2;    $r3->shouji=$s3;
//实例化.人发信息:
$r1->shouji->faxinxi($r2,"hello");
输出:接信息 hello

下面是一些常用的php数组函数,我们会测试各位php 数组 array的用法哦。

下面是一些常用的php数组函数,我们会测试各位php 数组 array的用法哦

第六章(3)数组的相关处理函数
current(数组名称) 输出数组中一个字符串的值,从第一个起.
key(数组名称) 输出数组中一个下标,从第一个起.
next(数组名称) 控制数组指针向后移动.
prev(数组名称) 控制数组指针向前移动.
end(数组名称) 控制数组指针移向最后一位.
reset(数组名称) 控制数组指针移向第一位.
array_change_key_case(1.目标数组 2.CASE_UPPER大写 或 CASE_LOWER小写) 将数组下标全部改为大写或小写.
array_chunk(1.目标数组 2.分解个数 3.输出布尔型的真或假) 将一个数组分解成多个小数组.
array_count_values(数组名称) 用来计算数组中各值出现的次数.
array_fill(1.下标从几开始 2.输出多少个 3.他们的值是什么) 用来做初始化数组.
array_filter(1.目标数组 2.使用者定义的函数) 过滤函数,自定义以什么标准为真,以什么标准为假,此函数可以自动过滤掉假的字符串.
array_flip(目标数组) 将下标变值,值变下标.
array_sum(目标数组) 计算目标数组中所有元素值的总和.
array_unique(目标数组) 去除目标数组中重复的值.
array_values(目标数组) 将目标数组中所有下标都去掉,重新从"0"开始计算此函数中值的下标.
array_keys(目标数组) 输出目标数组中的所有下标.
in_array(1.要找的东西 2.目标数组 3.是否严格按照数据类型查找,是就输true) 查找目标数组中有无查找的数据.
array_search(1.要找的东西 2.目标数组 3.是否严格查找) 查找目标数组中有无查找的数据,有则输出此数据的下标.
array_key_exists(1.要找的下标 2.目标数组) 查找目标数组中有无查找的下标,有则输出true,无则输出false.
extract(目标数组) 将数组转换成变量.
compact(要转换成数组的变量下标) 将多个变量转换成数组.
数组与栈 (先进后出)
array_push(1.目标数组 2.压入栈的值) 压入栈函数.
array_pop(目标数组) 弹出栈函数.
数组与队 (先进先出)
array_unshift(1.目标数组 2.压入对的值) 压入对函数.
array_shift(1目标数组) 弹出对函数.
忽略键名的数组排序:
sort(目标数组) 从小到大的排序.
rsort(目标数组) 从大到小的排序.
保留键名的数组排序:
asort(目标数组) 保留原下标,值从小到大的排序.
arsort(目标数组) 保留原下标,值从大到小的排序.
自然排序法排序:
natsort(目标数组) 保留原下标,值从大到小的排序,不区分大小写.
natcasesort(目标数组) 保留原下标,值从小到大的排序,不区分大小写.
array_merge(1.目标数组 2.目标数组......) 合并多个数组.
array_diff(1.被比数组 2.比数组 3.比数组......) 求数组的差积.
array_intersect(1.被比数组 2.比数组 3.比数组......) 求数组的交积.
  

php字符串声明方法以及使用方法,与简单的说明


     第五章(1)字符串的声明方法
字符串的定义:
双引号"" 1.可以在双引号里面执行变量 2.可以使用转义字符
单引号'' 1.不能在单引号里面执行变量 2.只能使用部分转义字符
反引号`` 1.在反引号里使用的是服务器的命令
定界符<<< 1.和双引号一样,但可以在里面使用任何多的双引号
     第五章(2)字符串处理函数的应用
写函数需要知道的几方面信息:
1.函数的功能介绍
2.需要几个参数,每个参数的类型,那些参数是必须的,那些参数是可选的
3.函数的返回值,返回值的类型
echo 可以输出任意类型的参数,也可以输出多个.
print 只能输出一个参数,但有返回值1 0.
die 输出并退出程序.
printf 可以按照任意格式输出.
sprintf 先保存,再输出.
var_dump 检测字符串的类型和调试程序.
ltrim 去掉字符串左空格.
rtrim 去掉字符串右空格.
trim 去掉字符串左右空格.
strrev 将字符串前后颠倒.
strtolower 将字符串转换成小写的函数.
stroupper 将字符串转换成大写的函数.
strlen 求字符串长度.
ucfirst 将字符串中第一个字符改成大写.
explode(1.以什么分割 2.要分割的东西 3.要分割成几部分就填几) 使用一个字符串分割另一个字符串.
implode(1.以什么联合 2.要联合的东西) 用一组较小的字符串创建成一个大字符串. 别名 join.
substr(1.要取的东西 2.要以什么取就填什么)返回字符串中某字符串开始至结束的字符串. 别名 atrchr.
strpos(1.在哪个里面找 2.要找的东西 3.从第几个后面开始找就填几) 寻找字符串中某字符最先出现的位置.
strrpos(1.在哪个里面找 2.要找的东西) 寻找字符串中某字符最后出现的位置.
strrchr(1.要取的东西 2.要以什么取就填什么) 返回字符串中某字符最后出现至结束的字符串.
str_pad(1.要填充的字符串 2.填充到多少位 3.填充什么 4.向哪边填充 STR_PAD_LEET左边 STR_PAD_RIGNT右边 STR_PAD_BOTH两边) 字符串的填补函数.
字符串的比较:
按字节进行比较
strcmp 区分大小写.  strcasecmp 不区分大小写.
strnatcmp 按自然排序法进行字符串比较.
字符串的模糊比较
soundex 按发音码比较.
similar_twxt 按匹配的个数进行比较.
str_replace(1.要替换的东西 2.替换成的东西 3.是哪个里面的东西要替换) 替换.
strtr(1.哪个里面的东西 2.要翻译的东西 3.翻译成的东西) 字符串的翻译函数.
在PHP里面用函数处理HTML的函数:
stripslashes 去掉反斜线字符.
addslashes 使用反斜线引用字符串.
htmlentities 使html标签无作用,直接输出. 别名 htmlspecialchars.
strip_tags 删除和过滤html标签.
     第六章(1)PHP数组的声明与应用
什么是数组:数组是一个可以储存一组或一系列数组的变量.
数组的特点:1.可以储存任何类型的数据.
    2.长度可以变长.
数组的声明:1.$数组变量名[索引值] = 资料内容.
    2.$数组变量名 = array(资料美容,资料内容......).
多维数组的声明:array(array(array(array(),array())),array()).
PHP数组分两类:
1.索引数组:数组的索引值是整数,以0开始.
2.关联数组:数组的以字符串作为索引值.

[!--infotagslink--]

相关文章

  • 浅谈C# 构造方法(函数)

    这篇文章主要介绍了C# 构造方法(函数)的的相关资料,文中讲解非常详细,帮助大家更好的学习C#,感兴趣的朋友可以了解下...2020-11-03
  • JS实现简单面向对象的颜色选择器实例

    这篇文章主要介绍了JS实现简单面向对象的颜色选择器,以完整实例形式分析了JavaScript基于面向对象实现颜色选择器的具体步骤与实现技巧,需要的朋友可以参考下...2016-04-23
  • php构造方法中析构方法在继承中的表现

    这篇文章主要为大家详细介绍了php构造方法中析构方法在继承中的表现,感兴趣的小伙伴们可以参考一下...2016-04-15
  • 浅析从面向对象思维理解Vue组件

    用面向对象的思维去理解Vue组件,可以将所有的事物都抽象为对象,而类或者说是组件,都具有属性和操作。这篇文章主要介绍了尝试用面向对象思维理解Vue组件,需要的朋友可以参考下...2021-07-11
  • 浅谈对c# 面向对象的理解

    这篇文章主要介绍了个人对c# 面向对象的理解,算是一个入门篇吧,给需要的小伙伴参考下,抛砖引玉。...2020-06-25
  • php面向对象之反射功能与用法分析

    这篇文章主要介绍了php面向对象之反射功能与用法,结合实例形式简单分析了php5面向对象反射的概念及具体用法,需要的朋友可以参考下...2017-04-03
  • PHP类的声明与实例化及构造方法与析构方法详解

    这篇文章主要介绍了PHP类的声明与实例化及构造方法与析构方法,结合实例形式分析了PHP面向对象类的声明与使用相关技巧,需要的朋友可以参考下...2016-01-28
  • C#面向对象编程基础概念汇总

    今天小编就为大家分享一篇关于C#面向对象编程基础概念汇总的文章,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧...2020-06-25
  • 一起来了解JavaScript面向对象

    本篇文章主要介绍了Javascript的面向对象,小编觉得这篇文章内容很不错,需要的朋友可以看下,希望能够给你带来帮助...2021-09-27
  • PHP面向对象开发之类中接口的应用(interface、implements)

    php类中接口的应用关键字是interface、implements了,接口是一种成员属性全部为抽象或常量的特殊抽象类,下面我们看几个实例。 类中接口的应用 1.关键字:interface...2016-11-25
  • C#中面向对象编程机制之继承学习笔记

    这篇文章主要介绍了C#中面向对象编程机制之继承学习笔记,本文给出一个简单子实例讲解C#中的继承,并讲解了一些C#继承的知识技巧,需要的朋友可以参考下...2020-06-25
  • PHP的面向对象编程:开发大型PHP项目的方法(三)(转载)

    PHP的面向对象编程:开发大型PHP项目的方法(三) 作者:Luis Argerich 译者:limodou   重载(与覆盖不同)在PHP中不支持。在OOP中,你可以重载一个方法来实现两个或重多的方法...2016-11-25
  • PHP面向对象:使用接口与组合模拟多继承(1/2)

    在php中不支持多重继承,如果我们向使用多个类的方法而实现代码重用有什么办法么?那就是组合。在一个类中去将另外一个类设置成属性。 下面的例子,模拟了多重继承。 view s...2016-11-25
  • Java面向对象基础,类,变量,方法

    这篇文章主要介绍了Java面向对象基础,类,变量,方法,需要的朋友可以参考下...2020-10-03
  • 详解JavaScript基于面向对象之继承

    这篇文章主要介绍了JavaScript基于面向对象之继承...2015-12-14
  • php 面向对象编程之构造方法与析构方法

    大多数类都有一种称为构造函数的特殊方法。当创建一个对象时,它将自动调用构造函 数,也就是使用new 这个关键字来实例化对象的时候自动调用构造方法。 构造函数的声...2016-11-25
  • 详解JS面向对象编程

    这篇文章主要为大家介绍了js面向对象编程,感兴趣的小伙伴们可以参考一下...2016-01-25
  • PHP:我坚决站在面向对象一边

    PHP 语言从诞生起,就具有了很好的面向过程编程的特性。只是在其进化过程中才逐渐加强了面向对象的特性,直到 PHP5.0,也才接近完善。一般来说,PHP 的初学者和...2016-11-25
  • 老生常谈PHP面向对象之命令模式(必看篇)

    下面小编就为大家带来一篇老生常谈PHP面向对象之命令模式(必看篇)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧...2017-05-26
  • Python面向对象封装操作案例详解

    这篇文章主要介绍了Python面向对象封装操作,结合具体案例形式详细分析了Python面向对象的封装、扩展等操作技巧与相关注意事项,需要的朋友可以参考下...2020-05-06