您的位置:首页 > 编程语言 > PHP开发

PHP面向对象

2016-01-27 09:00 543 查看
PHP面向对象:

一、如何定义类

声明类

class Dog

{

var $name;

var $age;

var $pinzhong;

function Jiao()

{

echo "{$this->name在叫}";#this代表当前对象

}

}

二、实例化对象

$dog = new Dog();

调用成员变量

$dog->name = "旺财";

$dog->age = 10;

$dog->pinzhong = "哈士奇";

调用方法

$dog->Jiao();

三、this关键字

$this->name;this代表该对象,如果要在成员方法中调用成员变量,一定要是用$this引用

四、构造函数

class Dog

{

var $name;

var $age;

var $pinzhong;

function __construct($n,$a,$p)#下划线有两个

{

$this->name = $n;

$this->age = $a;

$this->pinzhong = $p;

}

function Jiao()

{

echo "{$this->name在叫}";#this代表当前对象

}

}

$dog = new Dog("旺财",10,"金毛");

$dog->Jiao();

五、析构函数

class Dog

{

var $name;

var $age;

var $pinzhong;

function __construct($n,$a,$p)#下划线有两个

{

$this->name = $n;

$this->age = $a;

$this->pinzhong = $p;

}

function Jiao()

{

echo "{$this->name在叫}";#this代表当前对象

}

function __destruct()#析构函数

{

echo "拜拜";

}

}

$dog = new Dog("旺财",10,"金毛");

$dog->Jiao();

六、封装:

降类里面的成员变量加一个private修饰符变成私有的,目的是为了保护类里面的成员不被外界随意访问,从而确保类的安全性。如果将变量设置为私有,,如何去访问:

1,自己写函数get函数set函数,然后来对变量赋值和取值

2,用系统自带的__get()函数和__set()函数来实现类里面的变量赋值和取值

class Dog

{

private $name;

private $age;

private $pinzhong;

/*function SetName($n)

{

$this->name = $n;

}

function SetAge($a)

{

if($a>=1 && $a<=5)

{

$this->name = $a;

}

}*/

function __set($name,$value)

{

$this->$name = $value;

}

function __get($name)

{

return $this->$name;

}

function __construct($n,$a,$p)#下划线有两个 类的构造函数,用new引用函数。

{

$this->name = $n;

$this->age = $a;

$this->pinzhong = $p;

}

function Jiao()

{

echo "{$this->name在叫},它{this->age}岁了";#this代表当前对象

}

function __destruct()#析构函数

{

echo "拜拜";

}

}

$dog = new Dog("旺财",10,"金毛");

$dog->name = "小强";

$dog->age = "3";

echo $dog->name;

$dog->Jiao();

七,继承

class HaShiQi extends Dog#哈士奇继承狗的类, 哈士奇是子类,狗类是父类





八、方法的重写 final将不能被继承,写在类前面

class HaShiQi extends Dog#哈士奇继承狗的类, 哈士奇是子类,狗类是父类



public static $height;

function Jiao()

{

pstrny::Jiao();#引用父类的方法,在子类中调用父类的方法 类调用方法用::

echo "hello";#另外添加的方法

}

function Gao()

{

echo "这么高".self::$height;self代表这个类 this 代表这个对象

}



HaShiQi::$height = 10;调用静态的成员

echo HaShiQi::$height;

$dog->jiao();

static 静态属于类的。而不是对象的。 例如粉笔的长度是非静态的,颜色是静态的。 颜色是属于类的,长度是属于对象的。

九、多态

条件:必须要继承,父类的引用指向子类的实例,重写函数。

tostring方法,在输出对象的时候可以显示该方法中的信息

$r1 =clone $ren 克隆对象

在克隆的时候会自动执行,该函数的目的就是将克隆出来的对象进行一些改变

引入页面 include(“china.php”)#同一页面

require_once "china.php"

include(“class/china.php”)

include(“../china。php”)

自动加载

function __autoload($classname)

{

require_oncce $classname . ".php"

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: