仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1625|回复: 20
打印 上一主题 下一主题

[学习教程] PHP编程:php进修笔记 php中面向对象三大特征之一...

[复制链接]
愤怒的大鸟 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-2-3 23:36:41 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
刚开始写页面程序,调试完书中的例子。然后就可以尝试编写留言板了,   复制代码 代码以下:
<?php
/*
* 封装性:面向对象三大特征之一
*
* 1.就是把对象的成员(属性,办法)联合成一个自力的不异单元,并尽量埋没对象的外部细节
* 会见权限润色符 public protected private
* private:公有的,用这个关头字润色的成员,只能在对象外部会见(只要用$this会见)
*
* 属性可以封装:
* 只需一个变量,需求在多个办法利用,就将这个变量声明为成员属性,可以直接在这个对象中的一切办法中利用
*
* 成员属性,相当于这个对象中的全局变量
*
* 成员属性城市在办法中利用,成员属性值的变更其实就是在改动办法的履行行动,也就是改动了对象的功效
*
* 成员属性的值假如不正常,办法履行的功效叶就不正常
*
* 感化:不需求在对象内部改动或读取它的值
* 1.封装
* 再供应一个私有的办法(经由办法对对象成员属性停止赋值和取值就能够掌握)
*
*
* 办法也能够封装
*
* 感化:
* 1.利用private润色使其只能在外部利用
*
* 2.一个类中有100个办法,封装了95个(为别的5个办事的办法),只要5个办法可使用
*
* 100个成员属性,都让取值,不成以改值;或只可改值,不成获得值//此种情形下利用以下办法对照便利
* 和封装有关的魔术办法:
*
* __set();//是直接设置[公有的]成员属性值时,主动挪用的办法
* __get();//是直接获得[公有的]成员属性值时,主动挪用的办法
* __isset();//是直接利用isset()检查对象中公有属性是不是存在时,主动挪用这个办法
* __unset();//是直接利用unset()删除对象中公有属性时,主动挪用的办法
*
*
*
*
*
*
*
*/
class Person{
//x封装成员属性,不需求在对象内部改动
private $name;
private $age;
private $sex;
private __unset($proName){
unset($this->$proName);
}
//是直接检查对象中公有属性是不是存在时,主动挪用这个办法
//__isset($proName)的利用,$proName代表属性名
private function __isset($proName){
return isset($this->$proName);//isset()前往是不是存在
}
function __construct($name,$age,$sex){
$this->name=$name;
$this->age=$age;
$this->sex=$sex;
}
//当获得公有的成员属性时,主动挪用此办法
private function __get($proName)
{
//掌握所获得的值
if($proName=="age"){
if($this-age>40)
return $this->age-10;
}
return $this->$proName;
}
//当设置公有的成员属性时,主动挪用此办法
private function __set($proName,$proValue){
//$proName暗示成员属性名,$proValue暗示成员属性值
//掌握设置局限
if($proName=="age"){
if($proValue > 100 $proValue<0)
return;
}
$this->$proName=$proValue;
}
//供应私有办法来设置成员属性的值
function setAge($age){
//掌握岁数局限,增添平安性
if($age > 100 $age < 0 )
return;
$this->age=$age;
}
//供应私有办法来获得成员属性的值
function getAge(){
//掌握获得岁数的局限
if($this->age < 30)
return $this->age;
else if($this->age<40)
return $this->age-5;
else if($this->age<50)
return $this->age;
else
return $this->age-15;
供应私有办法来 }
function say(){
echo "我的名字:{$this->name},我的岁数:{$this->age},我的姓别:{$this->sex}<br>";
//会见封装过的 run()办法
$this-run();
}
private function run(){
echo '111111111111<br>'
}
function eat(){
}
//析构办法
function __destruct(){
}
}
$p1=new Person("zhangsan",25,"男");
$p2=new Person;
$p3=new Person;
//$p1->age=-50;//由于岁数在内部随便会见,所以成员属性药封装,才有平安性。
$p1->setAge(30);//经由过程办法来设置成员属性德值
$p1->getAge();//经由过程办法来获得成员属性德值
//经由过程添加家魔术办法__set($proName,$proValue) __get($proName),就能够直接挪用成员属性了
$p1->say();//可以挪用
$p1->run();//公有的办法不克不及直接挪用
//删除$p1外面的name
unset($p1->name);
//判别name是不是存在
if(isset($p1->name)){
echo "存在<br>";
}else{
echo "没有这个成员 <br>";
}
?>

作者:代号极光
出处:http://zizhuyuan.cnblogs.com会有很多高手的鼓励,新手的支持,慢慢你劲头就十足,有更多的信心和兴趣去学。
分手快乐 该用户已被删除
沙发
发表于 2015-2-4 03:45:47 | 只看该作者
php是动态网站开发的优秀语言,在学习的时候万万不能冒进。在系统的学习前,我认为不应该只是追求实现某种效果,因为即使你复制他人的代码调试成功,实现了你所期望的效果,你也不了解其中的原理。
愤怒的大鸟 该用户已被删除
板凳
 楼主| 发表于 2015-2-9 14:15:11 | 只看该作者
找到的的资料很多都是在论坛里的,需要注册,所以我一般没到一个论坛都注册一个id,所有的id都注册成一样的,这样下次再进来的时候就不用重复注册啦。当然有些论坛的某些资料是需要的付费的。
灵魂腐蚀 该用户已被删除
地板
发表于 2015-2-21 20:45:02 | 只看该作者
基础有没有对学习php没有太大区别,关键是兴趣。
小女巫 该用户已被删除
5#
发表于 2015-3-6 20:01:07 | 只看该作者
不禁又想起那些说php是草根语言的人,为什么认得差距这么大呢。
精灵巫婆 该用户已被删除
6#
发表于 2015-3-13 07:09:33 | 只看该作者
先学习php和mysql,还有css(html语言很简单)我认为现在的效果比以前的方法好。
山那边是海 该用户已被删除
7#
发表于 2015-3-13 23:08:24 | 只看该作者
使用zendstdio 写代码的的时候,把tab 的缩进设置成4个空格是很有必要的
莫相离 该用户已被删除
8#
发表于 2015-3-20 21:18:49 | 只看该作者
当然这种网站的会员费就几十块钱。
小魔女 该用户已被删除
9#
发表于 2015-3-20 23:01:09 | 只看该作者
我学习了一段时间后,我发现效果并不好(估计是我自身的问题)。因为一个人的精力总是有限的,同时学习这么多,会导致每个的学习时间都得不到保证。
因胸联盟 该用户已被删除
10#
发表于 2015-3-25 09:11:09 | 只看该作者
Ps:以上纯属原创,如有雷同,纯属巧合
金色的骷髅 该用户已被删除
11#
发表于 2015-4-1 16:08:35 | 只看该作者
遇到出错的时候,我经常把错误信息直接复制到 google的搜索栏,一般情况都是能搜到结果的,不过有时候会搜出来一大片英文的出来,这时候就得过滤一下,吧中文的弄出来,挨着式方法。
飘灵儿 该用户已被删除
12#
发表于 2015-4-13 06:41:00 | 只看该作者
不禁又想起那些说php是草根语言的人,为什么认得差距这么大呢。
兰色精灵 该用户已被删除
13#
发表于 2015-4-13 23:18:26 | 只看该作者
当留言板完成的时候,下步可以把做1个单人的blog程序,做为目标,
admin 该用户已被删除
14#
发表于 2015-4-22 07:12:53 | 只看该作者
说点我烦的低级错误吧,曾经有次插入mysql的时间 弄了300年结果老报错,其实mysql的时间是有限制的,大概是到203X年  具体的记不清啦,囧。
变相怪杰 该用户已被删除
15#
发表于 2015-4-26 08:11:49 | 只看该作者
做为1门年轻的语言,php一直很努力。
若天明 该用户已被删除
16#
发表于 2015-4-30 11:25:47 | 只看该作者
本人接触php时间不长,算是phper中的小菜鸟一只吧。由于刚开始学的时候没有名师指,碰过不少疙瘩,呗很多小问题卡过很久,白白浪费不少宝贵的时间,在次分享一些子的学习的心得。
透明 该用户已被删除
17#
发表于 2015-5-3 21:52:19 | 只看该作者
写js我最烦的就是 ie 和 firefox下同样的代码 结果显示的结果千差万别,还是就是最好不要用遨游去调试,因为有时候遨游是禁用js的,有可能代码是争取结果被遨游折腾的认为是代码写错。
第二个灵魂 该用户已被删除
18#
发表于 2015-5-6 11:10:53 | 只看该作者
使用 jquery 等js框架的时候,要随时注意浏览器的更新情况,不然很容易发生框架不能使用。
谁可相欹 该用户已被删除
19#
发表于 2015-6-15 03:11:55 | 只看该作者
建数据库表的时候,int型要输入长度的,其实是个摆设的输入几位都没影响的,只要大于4就行,囧。
飘飘悠悠 该用户已被删除
20#
发表于 2015-6-30 20:50:41 | 只看该作者
在我安装pear包的时候老是提示,缺少某某文件,才发现 那群extension 的排列是应该有一点的顺序,而我安装的版本的排序不是正常的排序。没办法我只好把那群冒号加了上去,只留下我需要使用的扩展。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-5-14 15:59

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表