您的位置 首页 php

php的面向“对象”编程——三大特征

因思维新建站官网:www.inspinovation.cn

文|何掌柜

昨天我们说了面向对象的基本概念,今天我们来说说面向对象的三大特征。

1、封装

封装性:封装性就是把对象的属性和行为结合成一个独立的单位。

封装一个类需要两步 第一步是私有化一个类 第二步是用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

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

文章来源:智云一二三科技

文章标题:php的面向“对象”编程——三大特征

文章地址:https://www.zhihuclub.com/149926.shtml

关于作者: 智云科技

热门文章

网站地图