1 / 26
文档名称:

PHP基础教程-零基础学习PHP-面向对象高级.ppt

格式:ppt   页数:26
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

PHP基础教程-零基础学习PHP-面向对象高级.ppt

上传人:799474576 2013/10/23 文件大小:0 KB

下载得到文件列表

PHP基础教程-零基础学习PHP-面向对象高级.ppt

文档介绍

文档介绍:PHP面向对象高级
网址:
电话:400 700 1307
OOP的3个重要特性
封装的类
类层次结构,继承
多态性
封装性就是把对象的属性和行为结合成一个独立的相同单位,并尽可能隐蔽对象的内部细节。
,形成一个不可分割的独立单位(即对象)。
,即尽可能隐蔽对象的内部细节,对外形成一个边界〔或者说形成一道屏障〕,只保留有限的对外接口使之与外部发生联系。
封装的原则在软件上的反映是:要求使对象以外的部分不能随意存取对象的内部数据(属性),从而有效的避免了外部错误对它的"交叉感染",使软件错误能够局部化,大大减少查错和排错的难度。
封装的类
类的封装
将类的成员变量声明为private,再通过public 的方法来对这个变量进行访问。即可实现良好的封装性。
对于一个变量的操作,一般都有读取和赋值操作,getXxx(),setXxx();
类的封装性带来的优点
隐藏类的实现细节
让使用者只能通过事先定义好的方法来访问数据,可以方便的加入逻辑控制,进行数据检查,限制对属性的不合理操作。
便于修改增强代码的可维护性
__get()和__set()
一般来说,把类的属性定义为private,这更符合现实的逻辑。但是, 对属性的读取和赋值操作是非常频繁的,因此在PHP5中,预定义了两个函数__get()和__set()来获取和赋值其属性。
//__get()
function __get($property_name){
if(isset($this->$property_name)) {
return($this->$property_name);
}
else {
return(NULL);
}
}
//__set()
function __set($property_name, $value) {
$this->$property_name = $value;
}
继承性:
B类的对象拥有A类的全部属性与行为,称作B对A类的继承。例如,轮船客轮;人大人。
假如一个类只继承了另外一个类,这称为单继承。例如:狗继承动物;另外假如一个类从多个类中继承了属性与服务,这称为多继承。例如,客轮继承轮船和客运工具。
通常我们称被继承类为父类(superclass,超类),继承类为子类(subclass)。在PHP中只有单继承,但一个类可以被多个类继承。
继承
如果类是另一个类的子类,可以用关键词" extends "来指明其继承关系。如下代码创建了一个名为B的类,它继承了在它前面定义的类A。
Class A class B extends A
{ {
public $num1; public $num2;
function fun1(){ function fun2(){
} }
} }
如下所示的所有对类B对象的操作和属性的访问都是有效的:
$b=new B();
$b->$num1=10; $b->$num2=20;
$b->fun1( ); $b->fun2( );
类的继承
class Person
{
public $name;
public $age;
function getInfo(){...}
}
class Student
{
public $name;
public $age;
public $school;
function getInfo(){...}
function study(){...}
}
class Person
{
public $name;
public $age;
function getInfo(){...}
}
class Student extends Person
{
public $school;
function study(){...}
}
通过继承可以简化类的定义。
类的继承
PHP只支持单继承,不允许多重继承。一个子类只能有一个父类,不允许一个类直接继承多个类,但一个类可以被多个类继承。
可以有多层继承,即一个类可以继承某一个类的子类,如类B 继承了类A,类C又继承了类B,那么类C也间接继承了类A,
class A
{}
class B extends A
{}
class C extends B
{}

最近更新

2024年福建信息职业技术学院单招职业适应性考.. 40页

2024年福建幼儿师范高等专科学校单招职业适应.. 41页

2024年红河卫生职业学院单招职业技能测试题库.. 41页

2024年罗定职业技术学院单招职业适应性测试题.. 42页

2024年苏州农业职业技术学院单招职业倾向性考.. 40页

2024年荆州理工职业学院单招职业适应性测试题.. 40页

2024年菏泽职业学院单招职业倾向性考试模拟测.. 40页

2024年西安培华学院单招职业倾向性测试题库及.. 40页

2024年西安航空职业技术学院单招职业适应性测.. 40页

2024年贵州应用技术职业学院单招职业技能考试.. 42页

2024年贵州水利水电职业技术学院单招职业技能.. 40页

2024年贵州航天职业技术学院单招职业倾向性考.. 38页

2024年辽宁医药职业学院单招职业适应性测试模.. 40页

2024年辽宁建筑职业学院单招职业技能考试模拟.. 41页

2024年辽宁生态工程职业学院单招职业技能测试.. 39页

2024年辽宁省葫芦岛市单招职业倾向性测试题库.. 41页

2024年辽阳职业技术学院单招职业倾向性测试题.. 39页

2024年遵义医药高等专科学校单招职业技能测试.. 41页

2024年邯郸应用技术职业学院单招职业倾向性考.. 40页

2024年郑州体育职业学院单招职业倾向性考试模.. 40页

2024年郑州城市职业学院单招职业倾向性考试模.. 42页

2024年郑州电子信息职业技术学院单招职业适应.. 41页

2024年重庆三峡职业学院单招职业倾向性考试模.. 40页

2024年重庆公共运输职业学院单招职业倾向性考.. 41页

2025年广州卫生职业技术学院单招职业技能测试.. 64页

美团代运营业务委托合同 6页

新概念青少版2A各单元重点归纳 15页

九年级家长会课件PPT下载(初三2班) 25页

年产3000万片硝苯地平缓释片车间设计 40页

DB61∕T 926-2014 火灾高危单位消防安全管理与.. 45页