· 面向对象编程基本概念
面像对象编程是一种编程思想。即将现实生活中的各种实体抽象成计算机语言中的对象来实现编程。
· 类和对象的关系
类是对象在计算机语言中的体现,对象是实体的抽象。类是一具有相同特征和行为的事物。
· 如何定义类
Class 类名{}
· 成员属性(变量)
定义在类中的变量,也叫称之为成员变量。
· 如何创建对象实例及如何访问对象属性
Class -> new ::
例如: 通过实例化来获取对象, 在语法上用 new 来实例化 $o = new C;
$o->attribute ; //访问类中的属性。
· 对象在内存中存在的形式
· 栈、堆、全局区、常量区和代码区的关系
· 成员方法(函数)及使用细节
function method(){
} //通过对象的来调用。$o->method();
· 构造方法(函数)
与类名相同
或是__construct(){}
一般是用于在初始化类的时候,用于给对象的成员赋值等
· 默认构造方法(函数)__construct php5之后
· this的基本概念和使用
$this局部变量,代表调用的当前对象。对象默认是引用传递。(特殊性,谁调用就把谁赋值给$this)
function say(){
($this=$a;)//相当于有这样一个过程
$this->xxx;
}
· 析构方法(函数)
__destruct(),当有对象存在时才会执行析构函数。
· PHP的对象垃圾回收器
· 静态变量(类变量)的概念和使用
定义在类上的成员,属于类的变量。
属性是属于对象的,类常量不属于类。静态也是不属于对象的,即对象操作不到静态变量,受访问权限的控制,是属于类。所以通过类访问静态变量 类::静态变量。或是self::静态变量
· 静态方法(类方法)的概念和使用
区别:
标准 的调用:
静态成员: 类 :: 成员。
非静态成员:对象 -> 成员。
静态方法,和非静态方法的区别在哪里?
$this上。
1,静态方法,在被调用时,是不能为$this 赋值的,即使我们使用对象调用。
2,非静态方法,在被调用时,是可以为$this赋值的,但是如果使用的是类调用(静态调用),那么$this 是没有值的。
· 静态属性的概念和使用
//定义在类上的。和普通属性一致(对象属性、非静态属性)
注意与普通变量的区别。普通变量属于每一个对象。
访问:跟类常量一样,通过类范围解析。即类名::静态变量。或self::静态变量(类内,类$this)
· 面向对象编程的三大特征介绍
· 面向对象编程-封装
· 面向对象编程-继承
· 面向对象编程-多态
· 访问控制修饰符(public、protected、private)
private 当前类可见
protected 当前类 继承链
public 当前类 继承链 类外
· 方法重载(overload)
· 方法重写(override)
发生在继承时,子类可以重写父类的非私有变量和方法
· 方法重载(overload)和方法重写(override)的比较
· PHP魔术函数(__set __get __construct __destruct __call __autoload等 )和魔术常量(__LINE__ , __FILE__ ,__FUNCTION__等 )
· 抽象类(abstract class)的概念和使用接口(interface)的概念和使用
· 接口编程和继承的区别
· 关键字final的使用
· 常量关键字const 的作用和使用注意事项
· 自动按需载入文件
__autoload() 使用的前提,命名要规范。Spl_autoload_register()
· 面向对象编程之强大的反射机制
· 面向对象编程之动态代理