代码改变世界

__toString()方法

2011-06-21 15:56 by 卫佳, 225 阅读, 0 推荐, 收藏, 编辑
摘要:我们前面说过在类里面声明“--”开始的方法名的方法(PHP给我们提供的),都是在某一时刻不同情况下自动调用执行的方法,“__toString()”方法也是一样自动被调用的,是在直接输出对象引用时自动调用的, 前面我们讲过对象引用是一个指针,比如说:“$p=newPerson()“中,$p就是一个引用,我们不能使用echo 直接输出$p, 这样会输出”Catchable fatal error: Objectof class Person could not be converted to string“这样的错误,如果你在类里面定义了“__toString()”方法,在直接输出对象引用的时候. 阅读全文

很酷的Clone对象

2011-06-21 15:56 by 卫佳, 199 阅读, 0 推荐, 收藏, 编辑
摘要:有的时候我们需要在一个项目里面,使用两个或多个一样的对象,如果你使用“new”关键字重新创建对象的话,再赋值上相同的属性,这样做比较烦琐而且也容易出错,所以要根据一个对象完全克隆出一个一模一样的对象,是非常有必要的,而且克隆以后,两个对象互不干扰。在PHP5中我们使用”clone”这个关键字克隆对象;<?class Person{//下面是人的成员属性var $name; //人的名子var $sex; //人的性别Titanium Optical Framevar $age; //人的年龄//定义一个构造方法参数为属性姓名$name、性别$sex和年龄$age进行赋值function 阅读全文

static和const关键字的使用

2011-06-21 15:55 by 卫佳, 314 阅读, 0 推荐, 收藏, 编辑
摘要:Static关键字是在类中描述成员属性和成员方法是静态的;静态的成员好处在那里呢?前面我们声明了“Person”的人类,在”Person”这个类里如果我们加上一个“人所属国家”的属性,这样用”Person”这 个类实例化出几百个或者更多个实例对象,每个对象里面就都有“所属国家”的属性了,如果开发的项目就是为中国人而开发的,那么每个对象里面就都有一个国家 的属性是“中国“其它的属性是不同的,如果我们把“国家”的属性做成静态的成员,这样国家的属性在内存中就只有一个,而让这几百个或更多的对象共用这一个 属性,static成员能够限制外部的访问,因为static的成员是属于类的,是不属于任何对象实例. 阅读全文

说说final关键字的应用

2011-06-21 15:54 by 卫佳, 273 阅读, 0 推荐, 收藏, 编辑
摘要:这个关键字只能用来定义类和定义方法, 不能使用final这个关键字来定义成员属性,因为final是常量的意思,我们在PHP里定义常量使用的是define()函数,所以不能使用final来定义成员属性。 使用final关键标记的类不能被继承; finalclass Person{ ……//Wholesale designer sunglasses}class Student extends Person{} 会出现下面错误:Fatal error: Class Student may not inheritfrom final class (Person) 使用final关键标记的方法不能被子. 阅读全文

重载新的方法

2011-06-20 15:15 by 卫佳, 165 阅读, 0 推荐, 收藏, 编辑
摘要:在学习PHP 这种语言中你会发现, PHP中的方法是不能重载的, 所谓的方法重载就是定义相同的方法名,通过“参数的个数“不同或“参数的类型“不同,来访问我们的相同方法名的不同方法。但是因为PHP是弱类型的语言, 所以在方法的参数中本身就可以接收不同类型的数据,又因为PHP的方法可以接收不定个数的参数,所以通过传递不同个数的参数调用不相同方法名的不同方法也是不成立的。所以在PHP里面没有方法重载。不能重载也就是在你的项目中不能定义相同方法名的方法。另外,因为PHP没有名子空间的概念,在同一个页面和被包含的页面中不能定义相同名称的方法,也不能定义和PHP给我提供的方法的方法重名,当然在同一个类中也 阅读全文

访问类型

2011-06-20 15:15 by 卫佳, 230 阅读, 0 推荐, 收藏, 编辑
摘要:类型的访问修饰符允许开发人员对类成员的访问进行限制,这是PHP5的新特性,但却是OOP语言的一个好的特性。而且大多数OOP语言都已支持此特性。PHP5支持如下3种访问修饰符public (公有的、默认的),private (私有的)和protected (受保护的)三种.public 公有修饰符,类中的成员将没有访问限制,所有的外部成员都可以访问(读和写)这个类成员(包括成员属性和成员方法),在PHP5之前的所有版本中,PHP中类的成员都是public的, 而且在PHP5中如果类的成员没有指定成员访问修饰符,将被视为public 。例:public$name; public function 阅读全文

封装特性(二)

2011-06-16 15:11 by 卫佳, 245 阅读, 0 推荐, 收藏, 编辑
摘要://这个人可以说话的方法, 说出自己的私有属性,在这里也可以访问私有方法function say() { echo"我的名子叫:".$this->name."性别:".$this->sex."我的年龄是:".$this->age."<br>";//在这里也可以访问私有方法//$this->run();Polarized Sunglasses Wholesale}因为成员方法say()是公有的, 所以我们在类的外部调用say()方法是可以的,改变上面的代码;class Person 阅读全文

__set() __get() __isset() __unset()四个方法的应用

2011-06-16 15:11 by 卫佳, 146 阅读, 0 推荐, 收藏, 编辑
摘要:一般来说,总是把类的属性定义为private,这更符合现实的逻辑。但是,对属性的读取和赋值操作是非常频繁的,因此在PHP5中,预定义了两个函数”__get()”和”__set()”来获取和赋值其属性,以及检查属性的”__isset()”和删除属性的方法”__unset()”。上一节中,我们为每个属性做了设置和获取的方法,在PHP5中给我们提供了专门为属性设置值和获取值的方法,”__set()”和“__get()”这两个方法,这两个方法不是默认存在的,而是我们手工添加到类里面去的,像构造方法(__construct())一样, 类里面添加了才会存在,可以按下面的方式来添加这两个方法,当然也可以按 阅读全文

类的继承

2011-06-16 15:11 by 卫佳, 298 阅读, 0 推荐, 收藏, 编辑
摘要:继承作为面向对象的三个重要特性的一个方面,在面向对象的领域有着及其重要的作用,好像没听说哪个面向对象的语言不支持继承。继承是php5面象对象程序设计的重要特性之一,它是指建立一个新的派生类,从一个或多个先前定义的类中继承数据和函数,而且可以重新定义或加进新数据和函数,从而建立了类的层次或等级。说的简单点就是,继承性是子类自动共享父类数据结构和方法的机制,这是类之间的一种关系。在定义和实现一个类的时候,可以在一个已经存在的类的基础之上来进行,把这个已经存在的类所定义的内容作为自己的内容,并加入若干新的内容。比如你现在已经有一个“人”这个类了,这个类里面有两个成员属性“姓名和年龄”以及还有两个成员 阅读全文

封装特性(一)

2011-06-16 15:10 by 卫佳, 374 阅读, 0 推荐, 收藏, 编辑
摘要:封装性是面象对象编程中的三大特性之一,封装性就是把对象的属性和服务结合成一个独立的相同单位,并尽可能隐蔽对象的内部细节,包含两个含义:1.把对象的全部属性和全部服务结合在一起,形成一个不可分割的独立单位(即对象)。2.信息隐蔽,即尽可能隐蔽对象的内部细节,对外形成一个边界〔或者说形成一道屏障〕,只保留有限的对外接口使之与外部发生联系。 封装的原则在软件上的反映是:要求使对象以外的部分不能随意存取对象的内部数据(属性),从而有效的避免了外部错误对它的"交叉感染",使软件错误能够局部化,大大减少查错和排错的难度。 用个实例来说明吧, 假如某个人的对象中有年龄和工资等属性,像这样 阅读全文
上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 22 下一页