1、继承的概念:
使用extends关键字继承,只能实现单继承
2、访问控制修饰符:
private protected public
3、Static(静态)关键字:
1、在类定义中访问静态成员的时候,不是使用this,而是使用self关键字后者static后面跟着::操作符,注意,在访问静态成员的时候,::后面需要跟着$符号
2、定义函数的时候,函数名不需要使用$开头,如 public function run(){}
3、在类外部的时候,可以通过类名和::来访问到
4、在子类中访问到父类中的static修饰的属性的时候,使用parent::变量名访问
echo parent::$username;
<?php
/**
* Created by PhpStorm.
* User: Administrator
* Date: 2016/12/16
* Time: 15:21
*/
class Person{
//使用static关键字定义
public static $TheType="人类";
public $name;
public function run($food){
echo $this->name."吃了".$food;
}
//定义函数的方法名的时候不需要$
public static function changeType($type){
//在方法内部使用self::方式访问静态成员变量,需要$
self::$TheType=$type;
}
}
class Man extends Person{
}
class Woman extends Person{
}
$wyh=new Man();
$tyf=new Woman();
//在外部调用的时候也需要使用::来调用静态成员方法和变量
$wyh::changeType("human");
echo $wyh::$TheType;
echo $tyf::$TheType;
4、final关键字:
<?php
/**
* Created by PhpStorm.
* User: Administrator
* Date: 2016/12/17
* Time: 9:50
*/
//final class BaseClass 如果final关键字定义在类上面,那么此类不能被继承
class BaseClass{
//使用final关键字在方法上,那么此方法不能被重写
final public function test(){
echo "BaseClass的test方法";
}
public function test1(){
echo "BaseClass的test1方法";
}
}
class ChildClass extends BaseClass{
public function test(){
echo "ChildClass的test方法";
//使用parent::也可以访问到父类中对应的方法
parent::test();
}
}
$child_1=new ChildClass();
$child_1->test();
5、数据访问小结:
1、parent关键字可以用于调用父类中被子类重写了的方法
2、self关键字可以用于访问类自身的成员变量,可以用于访问自身的静态成员和类常量,不能用于访问类自身的属性,使用常量的时候不需要在常量名称前面添加$符号
3、static关键字用于访问类自身定义的静态成员,访问静态属性的时候需要在属性前面添加$符号
6、接口:
使用interface关键字来定义接口,类使用implements关键字实现接口
<?php
/**
* Created by PhpStorm.
* User: Administrator
* Date: 2016/12/17
* Time: 10:14
*/
interface myInterface{
public function eat($food);
}
class Person implements myInterface{
public function eat($food)
{
echo "Person 喜欢吃".$food."\n";
}
}
$man=new Person();
//在var_dump函数中使用instanceof关键字判断某个对象是否实现了某个接口
var_dump($man instanceof myInterface );
7、多肽:
相同的方法,但是不同的参数,得到不同的结果,这就是多肽
8、抽象类:
使用abstract class来定义一个抽象类