本周笔记整理(关于php面向对象的一些基层知识点)

来源:互联网 发布:耐克高仿淘宝店铺 编辑:程序博客网 时间:2024/06/05 15:21
2016-06-15
一、面向对象的三大特征
1.封装:(所有函数和类都是封装)
封装就是把对象的属性和行为结合成一个独立的相同单位,并尽可能隐藏对象的内部细节。
优点: 信息隐蔽,封装即隐藏(目的:不能让别人随意修改信息)。
2.继承:传承
继承:  扩展父类的内容,注意只能继承public和protected修饰的内容,而private修饰的则不能继承
关键字: extends
PHP中继承是单继承,即extends后面只能有1个类名;但是1个类可以有无数个子类
子类和父类只能出现在有继承关系的2个类之间
访问修饰符:
public     公共的      谁都可以用,也可以修改
protected  受保护的    只有自己和后代可以使用和修改
private    私有的      只有自己可以使用和修改
3.多态:变态--变化的形态
(4.抽象)
二、
OOA:分析
OOD: 设计
OOP:编程
-------------------------------------------------------------------------------------------------------------------------------------------
2016-06-16
多态:变态--变化的形态
一、重写
在子类中出现和父类同名的方法,这个称为重写
    行为的重新定义
    重写只能发生在有继承关系的类之间,方法名称相同即重写,与参数没有关系
    重写时,访问修饰符的可以访问的范围不能低于父类中的访问修饰符
    对于private修饰的方法不能重写
二、接口(接口插件 [ 提供行为的规范 ] )
接口( interface )是 抽象方法 和 静态常量 定义的集合。
接口是一种特殊的抽象类,这种抽象类中只包含抽象方法和静态常量。
接口中没有其它类型的内容。
在接口中的抽象方法只能是public的,默认也是public权限。并且不能设置成private或者protected 类型。
名称是interface,在接口定义的只能是公共的抽象方法(没有函数体部分),也可以有静态常量;
接口采用插件式配置,可以任意的匹配给任意一个类;类可以实现(implements)接口,类实现的接口可以有无数个;
当一个类实现了接口之后,该接口的所有的方法必须在该类中实现;
三、关键字 this 和 parent 
this  :是当前的这个对象
parent :是当前类的父类,祖父类
-------------------------------------------------------------------------------------------------------------------------------------------
2016-06-17
一、
   输出当前文件路径
    echo __FILE__; 
    echo __DIR__;
   echo strlen(__DIR__);
   获取当前文件名
echo substr(__FILE__,strlen(__DIR__)+1);
二、关键字 final(最终的)和 static(静态的)
final:
关键字,意思是终态的,最后的
它可以修饰  函数方法(行为) ,被修饰的函数方法(行为)不能被重写
final可以修饰  类class,但是被修饰的类不能被继承
类当中的属性不能被final修饰
static: 
关键字,意思是静态的
它可以修饰  属性变量 ,也可以修饰  函数方法(行为)

静态资源加载和普通的非静态的资源加载是不一样的

在非静态方法中可以调用静态方法,但是反过来就不行

静态static修饰的内容被创建不需要有对象存在,同时它们是被放置在静态区当中
静态资源的标准访问方式是====> 类名::静态资源名称
-------------------------------------------------------------------------------------------------------------------------------------------
2016-06-20
二、include()和require()引入文件
include():如果没有对应文件,只会发出错误警告而后面的代码会继续执行;
require():如果没有对应的文件,会发出错误警告,后面的代码不会被执行;
三、魔术方法:
什么是魔术方法? : 所有以 __(两个下划线)开头的类方法保留为魔术方法;
魔术方法有(15个):
__construct(), __destruct(), __call(), __callStatic(), __get(), __set(), __isset(), __unset(), __sleep(), __wakeup(),
__toString(), __invoke(), __set_state(), __clone() 和 __debugInfo() 
四、其他
property_exists — 检查对象或类是否具有该属性(某个类中是否包含某个属性名称);
五:
1:this  和  parent
this  :是当前的这个对象
parent :是当前类的父类,祖父类
2:final 和static
3 :函数方法  method_exists() 和  call_user_func()
4:include_once("test10.php")   //如果没有对应文件,只是发出错误警告而后面的代码会正常运行

     require_once("test10.php")   //如果没有对应文件,会发出错误警告,后面的代码不会被执行


           魔术方法的运用:(php中文手册)
5:public void  __set  ( string $name  , mixed  $value  )
   public mixed  __get  ( string $name  )
在给不可访问属性赋值时,__set() 会被调用。 (即private)
读取不可访问属性的值时,__get() 会被调用。(即private)
public bool __isset  ( string $name  )    (在用bool类型时,必须要有返回值!!!  return   true   or   return false)
public void  __unset  ( string $name  )
当对不可访问属性调用 isset()  或 empty()  时,__isset() 会被调用。 
当对不可访问属性调用 unset()  时,__unset() 会被调用。 
6:public mixed  __call  ( string $name  , array $arguments  )
     public static mixed  __callStatic  ( string $name  , array $arguments  )
在对象中调用一个不可访问方法时,__call() 会被调用。 (呼叫的是非静态的函数方法)
用静态方式中调用一个不可访问方法时,__callStatic() 会被调用。 
$name  参数是要调用的方法名称。 $arguments  参数是一个枚举数组,包含着要传递给方法 $name  的参数。
7:call_user_func — 把第一个参数作为回调函数调用 
mixed  call_user_func  ( callable  $callback  [, mixed  $parameter  [, mixed  $...  ]] )
把第一个参数作为回调函数(callback),并且将其余的参数作为回调函数的参数。
8:property_exists() 
一、函数方法 method_exists()和call_user_func()
method_exists():检查类的方法是否存在于指定的 object中;
call_user_func():把第一个参数作为回调函数(callback),并且将其余的参数作为回调函数的参数
-------------------------------------------------------------------------------------------------------------------------------------------
2016-06-21
一、
函数方法的访问:__call() 和  __callStatic();
二、调用静态方法 forward_static_call()
三、判断一个类中是否存在一个静态方法
四、
serialize — 产生一个可存储的值的表示;
__sleep() 方法常用于提交未提交的数据,或类似的清理操作;
__invoke() 当尝试以调用函数的方式调用一个对象时,__invoke() 方法会被自动调用;
__set_state()调用var_export时,被调用。用__set_state的返回值做为var_export的返回值
__clone()克隆对象
__isset()检测一个对象的属性是否存在时被调用
__unset() unset一个对象的属性时被调用
__autoload()实例化一个对象时,如果对应的类不存在,则该方法被调用
__debugInfo()
-------------------------------------------------------------------------------------------------------------------------------------------
2016-06-22
一、
error_reporting
SPL是php标准库中的一部分
二、异常(Exception)即错误;
分为两大类:编辑时异常、运行时异常;
-------------------------------------------------------------------------------------------------------------------------------------------
2016-06-23
二、PDO
三、
PDOStatement::execute  
























0 0