php extends理解

本文介绍了PHP面向对象的基本概念,包括类的声明与实例化、继承、抽象类与方法及final关键字的使用。通过示例代码展示了如何实现继承、访问父类方法、定义抽象类和使用final关键字。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

从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 类名::来访问静态成员
	}

?>
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值