Correcting teacher:天蓬老师
Correction status:qualified
Teacher's comments:正确
class
关键字声明类static
声明,使用::
访问->
访问static
关键字声明public
:公有成员,在类内部、外部以及子类中均可使用private
:私有成员,仅在类内部使用protected
:受保护成员,仅在类内部与子类中可用static
:声明为静态属性或静态方法,不依赖实例self
:代表类自己,可用于访问类属性$this
:代表类的虚拟对象,可用于访问非静态的类属性extends
:继承父类的方法与属性parent
:指向父类的指针,用在子类中final
:如果一个类或方法被声明为final
,则该类或方法无法继承new
关键字实例化一个类对象
<?php
//声明一个Info类
class Info{}
//调用 实例化
$name = new Info();
var_dump($name);
<?php
//声明一个Info类
class Info
{
//属性
public $name = '访问内部属性<br>';
public static $gender = '访问静态属性<br>';
//方法 访问内部属性
public function retName(){
return $this->name;
}
//静态方法 不依赖实例 可以用类直接调用
public static function retGender(){
return self::$gender;
}
//访问外部属性 使用依赖注入
public function extName($name){
return $name;
}
//访问外部方法 使用依赖注入
public function extOper($fun){
return $fun();
}
}
//调用 实例化
$userInfo = new Info();
echo $userInfo->retName();
echo $userInfo->retGender();
$name = '访问外部属性<br>';
echo $userInfo->extName($name);
//使用匿名函数
$fun = function(){
return '访问外部方法<br>';
};
echo $userInfo->extOper($fun);
<?php
//声明一个Info类
class Info
{
//属性
public $name = '张三';
private $gender = '男';
protected $age = 20;
//方法
//在内部访问以上三种属性
public function retInfo(){
return "姓名:".$this->name.",性别:".$this->gender.";年龄:".$this->age."<br>";
}
}
//声明一个子类
class vInfo extends Info
{
//在子类中访问public与protected属性
public function retvInfo(){
return "姓名:".$this->name.";年龄:".$this->age."<br>";
}
}
//调用 实例化
$userInfo = new Info();
//在外部访问public属性
echo $userInfo->name."<br>";
echo $userInfo->retInfo();
$uservInfo = new vInfo();
echo $uservInfo->retvInfo();
<?php
//声明一个Info类
class Info
{
//属性
public $name = '张三';
//方法
public function retName(){
return $this->name;
}
}
//声明一个子类即扩展类
class vInfo extends Info
{
//属性扩展
public $age = 20;
//方法扩展 使用parent关键字
public function retvName(){
return parent::retName()." ".$this->age."岁"."<br>";
}
//方法重写
public function retName(){
return "姓名:".$this->name.";年龄:".$this->age."<br>";
}
}
//调用 实例化
$userInfo = new vInfo();
echo $userInfo->retvName();
$uservInfo = new vInfo();
echo $uservInfo->retName();