OOP面向对象学习笔记

主页 > 学习 > php >

mate 1018
 OOP面向对象
标题
副标题
单词(读法)
解释
例子

了解oop
什么是面向对象?
 
面向对象编程(Object Oriented      Programming,OOP),其基本思想是将计算机程序看待成是由多个完成独立功能的子单元组合而成。
对象是属性与行为的集合体。类是具有相同属性和行为的对象的抽象性概括。
 

OPP的特点
 
 
 

定义类
 
extends(eikesidansi):继承
implements(yinpumensi):执行
 
A.类名称必须以字母或下划线开头,包含字母、数字及下划线
 
B.类名称禁止与系统关键字相同,禁止包含空格、星号等特殊符号
 
C.类名称必须遵守"驼峰标记法"
 
D.类文件最好以"类名称.class.php"的形式命名。
[修饰符] class 类名称 [extends 类名称] [implements      接口名称,...]{
 
   ...
        ...
}
 

创建对象
 
 
[$variable = ] new      类名称()
 

属性
什么是属性
property(pabulei):性质,属性
属性(Property)是对象的特征描述。
 

声明属性
 
 
 

方法
什么是方法
function(fokeshen):
功能,函数
method(maseti):方法
方法(Method)是对象的动作。
 
A.如果省略访问控制符,则默认为public;
 
B.方法的命名规范参照自定义函数的命名规范;

C.方法可以带有零个或多个参数,参数值的类型可以为任意数据类型(资源除外);
 
D.方法的返回值只能有一个;
 
E.方法的返回值的类型可以为任意数据类型(资源除外)
[访问控制符] function      方法名称([$参数名称[=值][,...]]){
    ...
         ...
 
}
 

 
定义方法
 
A.如果省略访问控制符,则默认为public;
 
B.方法的命名规范参照自定义函数的命名规范;
 
C.方法可以带有零个或多个参数,参数值的类型可以为任意数据类型(资源除外);
 
[访问控制符] function      方法名称([$参数名称[=值][,...]]){
 
         ...
    ... 
}
 

访问控制符
 
public(pabuleike),公共的,
 
protected(poertekeerde),受保护的,
 
private(pairaite),私有的,
public,公共的,在类的内部、???、对象中都可以访问。
 
protected,受保护的,在类的内部、???中可以访问。
 
private,私有的,只能在类的内部中可以访问。
 

对象访问符(->)
 
 
对象访问符是对象与属性、对象与方法的之间的分隔符。
 

$this关键字
 
 
$this指在类的内部引用实例化的对象。
 

魔术方法
__construct
构造函数
 
 
构造函数是指在创建对象时自动调用的方法,也称为构造方法。
 
A.构造函数可以有零个或多个参数;
 
B.构造函数没有返回值
 
C.构造函数主要用于初始化工作
 
A.构造函数可以带有访问控制符
 
B.被构造函数调用的方法也称为理论上的构造函数
 
PHP4,与类名称相同即可。
 
PHP5的构造函数
 
void 访问控制符
 function      __construct([mixed $param[=$value][,...]]){
        ...
   ...
}
 

 
__destrcut
析构函数
 
析构函数是指在对象使用完毕后或者明确释放对象时被自动调用的方法,也称为析构方法。
A.析构函数可以带有访问控制符(实际应用过程中很少为析造函数添加访问控制符)
 
B.被析构函数调用的方法也称为理论上的析构函数(实际应用过程中很少产生此种情况)
 
PHP4不支持析构函数
 
PHP5的析构函数:
 
void 访问控制符 function      __destruct(void){
   ...
        ...    
}
 

属性重写
 


set(sete):集合
get(gete):获得
isset():
empty(eiputede):无意义的
重要说明:
 
A.下列魔术方法只能针对操纵对象属性时才自动调用。
 
B.下列魔术方法的访问级别只能为public
重要说明:
 
A.下列魔术方法只能针对操纵对象属性时才自动调用。
 
B.下列魔术方法的访问级别只能为public

 
__sleep
sleep(silipu):睡觉
1.4)__sleep,在对对象进行序列化操作时,自动调用该方法
public array function __sleep ( void      ){ 
 
}
 

 
__wakeup
wakeup(weikapu):唤醒
1.5)__wakeup,在对象字符串进行反序列化操作时,自动调用该方法
void function __wakeup ( void      ){   
}
  
 
__set()
 
1.3.1)__set
 
在给不可访问的属性赋值时,将自动调用该方法。
 
void public function __set(string      $name,mixed $value){
  ...
       ...
 

 
__get()
 
1.3.2)__get
 
在访问不可访问的属性时,将自动调用该方法。      
 
mixed public function __get(string      $name){
  ...
  ...
 

 
__isset()
 
1.3.3)__isset
 
当对不可访问属性调用 isset() 或 empty()      时,__isset() 会被调用。
 
public bool __isset ( string $name      ){
  ...
  ...
}
 

 
__unset()
 
1.3.4)__unset
 
当对不可访问属性调用 unset() 时,__unset()      会被调用。
 
public void __unset ( string $name      ){
  ...
  ...
}
 

 
序列化与反序列化
serialize(seweiyoulaisi)
描述:序列化
语法:string serialize(mixed      $value)
 

 
 
unserialize()描述:反序列化
语法:mixed serialize(string      $string)
 

 
__clone
clone(kelong):克隆
_clone,在对对象通过clone关键字进行复制操作时,自动调用该方法。
 
void function __clone ( void      ){      
 
}
 

 
__toString
 
__toString,在将对象转换成字符串时,将自动调用该方法
 
public string __toString ( void      ){    
 
}
 

链式操作
 
 
链式操作的原理是对象的属性值或者方法的返回值为对象。

继承
继承语法结构
 
A.子类也称为扩展类,父类也称为基类;
 
B.PHP的继承方式为单继承,也就是说任何一个类有且只有一个父类;
 
C.子类会覆盖父类同名的属性或方法;方法覆盖也称为方法重写;
 
D.方法覆盖时"必须"保证方法名称和参数相同;
 
[修饰符] class (子)类名称 extends      (父)类名称{
 
}
 

 
parent关键字与范围解析操作符
parent(peiruite):指父类
范围解析操作符是一对冒号,用于访问静态成员、类常量及父类中被覆盖的方法或属性。
 

静态成员
说明
 
2.1)说明
静态成员包括静态属性和静态方法,静态成员不属于任何对象,属于类。
但可以被所有对象共享。
 

 
静态属性
seif(saofu):自己
2.2)静态属性
 
2.2.1)声明静态属性
 
访问控制符 static $属性名称      [=值];
 
2.2.2)访问静态属性
 
类体内 self::$属性名称
 
类体外    类名称::$属性名称
 

 
静态方法
static(saketide):静态的
2.3)静态方法
 
2.3.1)声明静态方法
 
[访问控制符] static function      方法名称([$参数[=值][,...]]){
   ...
        ...
}
 
说明:
 
A.在静态方法内不能使用$this关键字
 
2.3.2)访问静态方法
 
类体内      self::方法名称([值[,...]])
 
类体外      类名称::方法名称([值[,...]])
 
[访问控制符] static function      方法名称([$参数[=值][,...]]){
   ...
        ...
}
 

常量
定义常量
const(kangsite):常量
const 常量名称 = 值
 
说明:
 
A.常量名称在定义和使用时无需美元符号;
 
B.为了便于从视觉区分变量和常量,常量名称"必须"为大写字母;
 
C.常量值只能为标量类型;
 

 
访问常量
 
2).访问常量
类体内 self::常量名称
 
类体外    类名称::常量名称
 

foreach
 
 
foreach      语法结构提供了遍历数组的简单方式。foreach      仅能够应用于数组和对象,如果尝试应用于其他数据类型的变量,或者未初始化的变量将发出错误信息。有两种语法:
 

if
 
 
 
 

随机新闻
收藏文章
表情删除后不可恢复,是否删除
取消
确定
图片正在上传,请稍后...
评论内容为空!
还没有评论,快来抢沙发吧!