首页 期权学习期权知识正文

PHP final关系字

xiaojiucai 期权知识 2020-08-18 579 0

Final关键字

作用:

1、如果父类中的方法被声明为 final,则子类无法覆盖该方法。如果一个类被声明为 final,则不能被继承。

2、属性不能被定义为 final,只有类和方法才能被定义为 final。

3、用法:直接在类或者方法前加final关键字。

含义:

1、解决代码重复,把重复的代码写在一个文件夹中,让其他PHP文件调用自动加载。

2、解决PHP文件过多 include等引入PHP过于庞大造成负担。

<?php
//final class dog{//如果在类前面加final,它就不会被子类所继承
class dog{
//	var $name;

//private:私有的    把var 改成private
//	private $name;  外部(类之外)是调用不出来访问不了的(包括子类也是访问不了)

//	protected $name; //也是(类之外)外部是调用不出来访问不了的(这个子类可以访问)
	
//public $name;  //public 公开的  这个是可以访问	
var $name; //如果var声明,默认的是public	
	
//	php 将所有以__(两个下划线)开头的类方法保留为魔术方法。
//	所以在定义类方法时,除了魔术方法,建议不要以__为前缀
//	construct 构成;建造   构造函数声明必须是__construct()
	function __construct(){//这里报错原因 construct($n)里面的$n,当我们调用子类里面的构造函数的时候
//其实它是调用一个不带参数的构造器,双会调用副类里面不带参里的构造器,这个时候呢,副类里面我们构造函数里定义了
//构造器,这个构造器里面呢又有一个参数,所以这里面就有会问题。
//为了证明它是调用到构造器的,我们打一行文字来看一下
echo "调用到这里了,看一下";
//		$this->name = $n;
	}
	function bark(){
		echo $this->name."wang";
	}
}

//habadog继承dog   右以用关键字extends来声明继承关系
class habadog extends dog{ //继承类dog的属性和方法过来
	
}

$haba = new habadog();
$haba ->name="哈巴狗";
echo $haba->bark();
//输出结果  哈巴狗wang


//$mydog = new dog("zhangsan");
//$mydog->name = "facai";
//$mydog->bark();
?>

原文链接:https://www.qiquanji.com/post/7438.html

本站声明:网站内容来源于网络,如有侵权,请联系我们,我们将及时处理。

版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。