1.PHP大小写问题
对类名不敏感
对变量敏感
2.对于常量
关键字define
常量名大写
3.类的成员
三种成员属性 public,protected,private
成员访问->不需要加$
关键字$this用来内部访问成员
构造方法__construct()
析构方法__distruct() 不带何参数 在代码最后执行
静态属性 关键字 static 访问方式: 类名::$属性名
::用于访问静态成员,常量,覆盖成员和方法
常量 关键字 const 访问: 类名::常量名
对象克隆
关键字 clone
$objectB=clone $bojectA
__clone()克隆函数,在克隆是得到的新的属性
------------------------------------
继承
关键字 extends
class 子类名 extens 父类名{
子类成员增添成员列表
function 方法1 {
}
function 方法2{
}
}
使用parent::在子类中调用父类的成员方法
parent::父类的成员方法()
---------------------------------------
instanceof 判断对象是否属于某个类
$obj instanceof class名 (注意class后面不需要加())
是 返回值1;否返回空。
---------------------------------------
覆盖
具有相同的方法名,参数列表,返回值
---------------------------------------
抽象类和接口
1.定义抽象类
语法格式:
abstract class 抽象方法名{
抽象类的成员类表;
abstract function 成员方法1(参数..)
abstract function 成员方法2(参数..)
}
注意方法没有{}
2.实现
class 子类名 extends 抽象类名{
子类成员列表
}
1.定义接口
语法格式:
interface 接口名{
类常量列表
function 成员方法1(参数);
fucntion 成员方法2(参数);
}
2.实现
语法格式
class 类名 implements 接口名{
类成员
}
注意使用接口方法时参数一定要对应
抽象类和接口的区别
(1)关键字
定义 抽象类 abstract 带class
接 口 interface 不需要带class
实现 抽象类 extends
接口 implements
(2) 接口没有数据成员,抽象类有数据成员,抽象类可以实现数据封装
(3) 接口没有构造函数,抽象类可以有构造函数
(4) 接口中的方法都是public,抽象类中的方法用public,protected,private
(5) 一个类可以实现多个接口,一个类只能实现一个抽象类
(6)在接口中不可以有成员方法的实现代码,在抽象类中可以有
在实际应用中如果给某个类添加更多的行为,可以定义一个接口,对数据,行为进行重用定义一个抽象类
封装变量和函数
-------------------------------------------------
多态
通过多种状态或阶段描述相同对象的编程方式。
(1)通过继承实现多态
(2)通过接口实现多态
遇到的问题:
1.继承方法参数问题;
2.抽象类方法{}问题
两种写法:
使用abstract修饰 abstract protected function GetPay();
没用abstract修饰 protected function GetPay(){}
总结:
clone 用来克隆一个对象 克隆是调用类中__clone()方法
继承
语法
class 子类名 extends 父类名
parent:: 在子类中调用父类的方法和属性
instanceof 判断对象实例是否属于某个类 $obj instanceof 类名 多态的时候用到
覆盖父类的方法 注意覆盖的时候需要相同的方法名,方法参数,和返回值类型
构造函数可以任意覆盖
抽象类
语法格式:
abstract class 抽象方法名{
抽象类的成员类表;
abstract function 成员方法1(参数..);
abstract function 成员方法2(参数..);
protected function 成员方法3(参数){}
}
此处两种形式需要特别注意{}和;
实现语法
class 子类名 extends 抽象类名{
抽象方法的实现
}
可以有构造函数
接口
定义接口
interface 接口名{
空方法
}
注意:没有class,接口中不能有属性
实现语法
class 类名 implements 接口名{}
多态
多态通过子类继承同一个父类或者接口来实现
通过多种状态或阶段描述相同对象的编程方式。
通过继承实现多态
对类名不敏感
对变量敏感
2.对于常量
关键字define
常量名大写
3.类的成员
三种成员属性 public,protected,private
成员访问->不需要加$
关键字$this用来内部访问成员
构造方法__construct()
析构方法__distruct() 不带何参数 在代码最后执行
静态属性 关键字 static 访问方式: 类名::$属性名
::用于访问静态成员,常量,覆盖成员和方法
常量 关键字 const 访问: 类名::常量名
对象克隆
关键字 clone
$objectB=clone $bojectA
__clone()克隆函数,在克隆是得到的新的属性
------------------------------------
继承
关键字 extends
class 子类名 extens 父类名{
子类成员增添成员列表
function 方法1 {
}
function 方法2{
}
}
使用parent::在子类中调用父类的成员方法
parent::父类的成员方法()
---------------------------------------
instanceof 判断对象是否属于某个类
$obj instanceof class名 (注意class后面不需要加())
是 返回值1;否返回空。
---------------------------------------
覆盖
具有相同的方法名,参数列表,返回值
---------------------------------------
抽象类和接口
1.定义抽象类
语法格式:
abstract class 抽象方法名{
抽象类的成员类表;
abstract function 成员方法1(参数..)
abstract function 成员方法2(参数..)
}
注意方法没有{}
2.实现
class 子类名 extends 抽象类名{
子类成员列表
}
1.定义接口
语法格式:
interface 接口名{
类常量列表
function 成员方法1(参数);
fucntion 成员方法2(参数);
}
2.实现
语法格式
class 类名 implements 接口名{
类成员
}
注意使用接口方法时参数一定要对应
抽象类和接口的区别
(1)关键字
定义 抽象类 abstract 带class
接 口 interface 不需要带class
实现 抽象类 extends
接口 implements
(2) 接口没有数据成员,抽象类有数据成员,抽象类可以实现数据封装
(3) 接口没有构造函数,抽象类可以有构造函数
(4) 接口中的方法都是public,抽象类中的方法用public,protected,private
(5) 一个类可以实现多个接口,一个类只能实现一个抽象类
(6)在接口中不可以有成员方法的实现代码,在抽象类中可以有
在实际应用中如果给某个类添加更多的行为,可以定义一个接口,对数据,行为进行重用定义一个抽象类
封装变量和函数
-------------------------------------------------
多态
通过多种状态或阶段描述相同对象的编程方式。
(1)通过继承实现多态
(2)通过接口实现多态
遇到的问题:
1.继承方法参数问题;
2.抽象类方法{}问题
两种写法:
使用abstract修饰 abstract protected function GetPay();
没用abstract修饰 protected function GetPay(){}
总结:
clone 用来克隆一个对象 克隆是调用类中__clone()方法
继承
语法
class 子类名 extends 父类名
parent:: 在子类中调用父类的方法和属性
instanceof 判断对象实例是否属于某个类 $obj instanceof 类名 多态的时候用到
覆盖父类的方法 注意覆盖的时候需要相同的方法名,方法参数,和返回值类型
构造函数可以任意覆盖
抽象类
语法格式:
abstract class 抽象方法名{
抽象类的成员类表;
abstract function 成员方法1(参数..);
abstract function 成员方法2(参数..);
protected function 成员方法3(参数){}
}
此处两种形式需要特别注意{}和;
实现语法
class 子类名 extends 抽象类名{
抽象方法的实现
}
可以有构造函数
接口
定义接口
interface 接口名{
空方法
}
注意:没有class,接口中不能有属性
实现语法
class 类名 implements 接口名{}
多态
多态通过子类继承同一个父类或者接口来实现
通过多种状态或阶段描述相同对象的编程方式。
通过继承实现多态