php extends理解
从php5开始,php也开始面向对象了,而我们在工作中常用的就是extends 继承的使用,<?php
//php的继承 extends 单一继承 重载是否覆盖所有内容,访问父类的方法 ::方法名
class Pname{
function Pkk(){
return "i am is a parent";
}
}
class Cname extends Pname{
function Shuchu(){
return $this->Pkk(). "my child".Pname::Pkk();//可以打印父类的
}
}
$init = new Cname();
echo $init->Shuchu();
class A//类的声明 与实例化 this关键字是只当前对象,
{
function foo()
{
if (isset($this)) {
echo '$this is defined (';
echo get_class($this);
echo ")\n";
} else {
echo "\$this is not defined.\n";
}
}
}
class B
{
function bar()
{
A::foo();
}
}
$a = new A();
$a->foo();
A::foo();
$b = new B();
$b->bar();
B::bar();
echo "<br/>";
//抽象方法必须放在抽象类中
abstract class C//抽象方法不能被实例化,只能被extends 并且实现所有父类的方法,
{
abstract function wokao();//后面没有大括号,static静态的只在方法范围内使用
}
class D extends C//抽象类是一种规范
{
function wokao(){
return "this is a abstrace class";
}
}
$Hstrace = new D();
echo $Hstrace->wokao();
echo "<br/>";
//php中关键字 final static
final class class2{//定义类的时候不能被继承,方法的时候不能被重载
}
//self用类来访问当前类中的内容的关键字
class class4
{
static $name;//静态变量单独占用内存 不会创建多个对象
static function haha(){}//静态方法内部都要用静态的内容,可以用self 类名::来访问静态成员
}
?>
页:
[1]