PHP-重写-笔记

背景

子类继承了父类的成员方法,当继承的成员方法不适合当前子类时,我们就需要重写该成员方法

两种不同重写(完全和增加)

1.完全的重写(完全重写继承的成员方法

源代码:

	<?php

		class Father
		{
			public function jump()
			{
				echo "还皮不皮<br />";
			}
	
			public function work()
			{
				echo "我在工作<br />";
			}
		}
	
		class Son extends Father
		{
			public function jump()
			{
				echo "我不皮了<br />";//完全重写
			}
		}
	?>

显示:

我不皮了

 

2.增加的重写(保留原成员方法,增加新的功能)
 
关键字:parent
 
语法:parent::成员方法名() ;
 
源代码:
 
	<?php
		class Father
		{
			public function jump()
			{
				echo "还皮不皮<br />";
			}
	
			public function work()
			{
				echo "我在工作<br />";
			}
		}
	
		class Son extends Father
		{
			public function jump()
			{
				echo "我不皮了<br />";//完全重写
			}
	
			public function work()
			{
				parent::work();//调用原来的方法
				echo "我要成为百万富翁";//增加
			}
	
		}

显示:

我不皮了
我在工作
我要成为百万富翁

 

不能重写的修饰符

关键字:final

1.final在修饰类的时候,被修饰的类无法被继承

<?php
    	final public class Father
        {

	}
	//修饰类的时候,被修饰的类无法被继承

?>

2.final在修饰成员方法的时候,被修饰的成员方法无法被继承

<?php
    public class Father
	{
		final public jump()
		{

		}
	}
	//修饰方法的时候,被修饰的方法无法被重写

?>

重写的注意事项:

子类在继承父类的成员属性和成员方法的时候,会一并继承父类中原来的权限(public,protected,private无法被继承),但是我们在重写子类中的成员属性和方法时可以改变这些权限(一般不做改变),改变的权限只能比原来的大,或者与原来的一样

权限修改

父类

子类

public

public

protected

protected  或 public

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值