文|何掌柜
昨天我们说了面向工具的基本观点,本日我们来说说面向工具的三大特色。
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
因思维新专注于高端网站订制开拓,不仅仅为您培植网站,还为您做网络营销。