<?php
/*
* 1、静态属性用来保存类里面的公有数据
* 2、静态方法里面只能访问静态属性
* 3、静态成员不需要实例化
* 4、类的内部可以通过self或static关键字来访问自身静态成员
* 5、可以通过parent关键字访问父类的静态成员
* 6、可以通过类的名称在类定义外部访问静态成员
*/
class Human{
public $head='头';
public function eat($food)
{
echo $this->name.'在吃'.$food;
}
public function header()
{
echo '我有八个'.$this->name.'七个'.$this->ball;
}
}
//php中可以用extends来表示对父类的继承,后面跟父类的类名
class NbaPlayer extends Human{
//private的私有成员只能在类的内部被访问,如果定义在父类,子类就不能访问
private $age=20;
public $name='james';
protected $ball='篮球';
//构造函数,在对象被实例化的时候调用
// function __construct($name)
// {
// // echo 'my name is construct';
// $this->name=$name;
// //父类中的属性,可以通过$this来实现
// // echo $this->head;
// }
// //析构函数,在程序结束后会自动调用
// function __destruct()
// {
// echo 'my name is destroy';
// echo $this->name;
// }
public static $color="red";
//静态方法只能访问静态属性
public static function secai()
{
//访问类中的静态成员用self关键字
echo self::$color;
}
public function jump()
{
echo 'l love jump';
}
public function nianling()
{
echo $this->name.'的年龄为'.$this->age;
}
}
//类实例化为对象时使用关键字new,new之后紧跟类的名称和一对括号
//每一次用new实例化对象的时候,都会用类后面的参数列表调用构造函数
// $player=new NbaPlayer();
//对象中的成员属性可以通过->符号来访问
// echo '<br/>'.$player->name.'<br/>';
//对象中的成员方法可以通过->符号来访问
// $player->jump();
//访问父类中的方法
// $player->eat('apple');
//访问父类中的方法,父类的方法里面能访问子类的公共属性和受保护的属性,但不能访问私有属性
// $player->header();
//在类外访问静态方法用:: ,静态方法加(),无论静态成员在父类还是子类都能访问
NbaPlayer::secai();
//在类外访问静态属性用::,静态属性加$号
// echo NbaPlayer::$color;
?>
面向对象小结(一)
猜你喜欢
转载自blog.csdn.net/qq_42249896/article/details/84645103
今日推荐
周排行