面向对象
LSGOZJ
每天一个台阶!!!
展开
-
PHP面向对象中类方法的两种类型:1、基本类型
在PHP的世界里面,数据类型决定了代码的处理数据的方式。例如:字符串类型显示字符串数据并用字符串函数来处理这些数据;数学表达式中使用整形,测试表达式中使用布尔型,等等。这些都称为“基本数据类型”; 从更高层次上来说,每个类都定义了一种数据类型,如下面的一个类:class test{ // ...}这里的test类也属于一个数据类型(这跟C#基本上是一样的)。 在这篇博客中,我们将会讨原创 2015-11-05 17:04:34 · 818 阅读 · 0 评论 -
PHP面向对象:延迟静态绑定(static关键字)
最近看到了PHP面向对象中的延迟静态绑定这块,注意:php5.3之前没有引入延迟静态绑定,所以版本较低的童鞋可能用不了。 这里我们用一个简单的工厂方法(生成包含类的实例的一种方法)来说明//定义一个抽象方法作为父类abstract class ParentClass{ //....}//子类Userclass User extends ParentClass{ //定义一个原创 2015-11-08 14:27:36 · 782 阅读 · 0 评论 -
关于PHP中类方法的重载问题
重载:是类的多态的一种实现。函数重载指一个标识符被用作多个函数名,且能够通过函数的参数个数或参数类型将这些同名的函数区分开来,调用不发生混淆。这样做的主要好处就是,不用为了对不同的参数类型或参数个数,而写多个函数。 也就是说,我们可以用同一个函数名定义多个同名方法,在我们调用这个函数的时候,就会根据参数列表的个数和参数类型来区分调用。 重载一般在强类型语言中比较常见,例如我在下面用C#来实现类方原创 2015-11-13 16:19:43 · 2648 阅读 · 0 评论 -
PHP面向对象中类方法的两种类型:2、对象类型(获得提示)
正如上一篇中所说,参数变量可以包含任何基本数据类型z,参数默认情况下也是可以包含任何类型的对象。这其中PHP根据语境自动转换数据类型起了一部分作用。这种灵活性有它的好处,但是在方法定义中可能会出现一些问题。如下所示://定义一个书的类class Book{ public $title; public $author; //构造函数 function __constr原创 2015-11-05 19:06:23 · 2044 阅读 · 0 评论 -
php中工厂方法的两个特殊例子
工厂方法,简单来说就是生成包含类的实例的一种方法。 工厂模式是最常用的实例化对象模式了,是用工厂方法代替new操作的一种模式。 这里附上一个比较特殊的例子: 我们要创造一个地球人,地球有两种人,男人和女人:<?php//实现工厂方法interface abstracted{ public function realCreate();}//女人类class Wuman{ p转载 2015-12-23 19:05:10 · 113 阅读 · 0 评论 -
深入PHP多态的实现
多态性是指相同的操作或函数、过程可作用于多种类型的对象上并获得不同的结果。不同的对象,收到同一消息将可以产生不同的结果,这种现象称为多态性。多态性允许每个对象以适合自身的方式去响应共同的消息。多态性增强了软件的灵活性和重用性。在面向对象的软件开发中,多态性是最为重要的部分之一。面向对象编程并不只是将相关的方法与数据简单的结合起来,而是采用面向对象编程中的各种要素将现实生活中的各种情况清晰的描述出来。转载 2016-01-12 19:22:18 · 731 阅读 · 0 评论 -
php类文件自动载入(autoload)
php实现类文件自动载入有两种办法:魔术方法:__autoload();SPL标准库提供的spl_autoload_register();一、__autoload()__autoload()是php中的一个魔术方法,在代码中当调用不存在的类时会自动调用该方法。假如现在有以下两个类文件://Test1.php文件<?phpclass Test1{ static function te原创 2016-10-06 15:49:41 · 8732 阅读 · 0 评论