文|何掌柜

昨天我们说了面向工具的基本观点,本日我们来说说面向工具的三大特色。

1、封装

php面向对象特征php的面向对象编程三年夜特点 Bootstrap

封装性:封装性便是把工具的属性和行为结合成一个独立的单位。

封装一个类须要两步 第一步是私有化一个类 第二步是用set和get 做出读取赋值的操作

他的好处是:隐蔽类的实现细节,可以方便加入逻辑掌握性,限定对属性的不合理操作,便于修正增强代码的可掩护性。

class Person{

public $name = 'osman';

private $sex = 'sale';

protected $age = '26';

//布局方法,在类实例化时自动调用

public function __construct()

{

self::connect();

}

//静态方法

static function connect()

{

echo '联系我';

}

}

2、继续

B类的工具拥有A类的全部属性与行为,称作B对A类的继续。

如果一个类从多个类中继续了属性与做事,这称为多继续,常日我们成为继续类为子类被继续类为父类,

在PHP中只有单继续,但一个父类可以被多个类继续,但是一个子类只能有一个父类,但是许可关联继续,通过继续可以减化类的定义。

extende声明继续关系语法格式:class B extends A 此范例指明 B继续了A

class osman extends Person{

//继续

}

类的外部访问对子类是有效的

子类继续父类的所有内容,但父类中的private部分不能直接访问子类中新增加的属性和方法是对父类的扩展

子类中定义的与父类同名的属性是对父类属性的覆盖,同名的方法也是对父类方法的覆盖

重写的方法 在子类中,利用parent访问父类中的被覆盖的属性和方法

class osman extends Person{

parent::__construce();

parent::$name;

parent::fun();

}

工具比较===两个比较运算符。
==是比较两个工具的内容。
===是比较工具的句柄,即引用地址。

instanceof操作符用于检测工具实例是否属于某一个类 属于返回true 不属于返回false

__clone()如果想在克隆后改变原工具的内容,须要在__clone()中重写原来的属性和方法

function __clone(){

$this->name=\公众我是一个克隆人\公众;

}

3、多态

多态性是指在父类中定义的属性或行为被子类继续之后,可以具有不同的数据类型或表现出不同的行为。
这使得同一个属性或行为在父类及其各个子类中具有不同的语义。

便是说同一种方法在子类与父类中实行的结果不同

class A {

function info(){

echo “A INFO”;

}

}

class B extends A {

function info(){

echo “B INFO”;

}

}

class C extends A {

function info(){

echo “C INFO”;

}

}

function printinfo($obj){

$obj->info();

}

$a=new A(); $b=new B(); $c=new C();

printinfo($a); //输出A INFO

printinfo($b); //输出B INFO

printinfo($c); //输出C INFO

因思维新专注于高端网站订制开拓,不仅仅为您培植网站,还为您做网络营销。