加入收藏 | 设为首页 | 会员中心 | 我要投稿 安卓应用网 (https://www.0791zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > PHP > 正文

PHP面向对象编程简单实例

发布时间:2020-05-25 03:07:05 所属栏目:PHP 来源:互联网
导读:?phpdate_default_timezone_set(PRC);/** 1.静态属性用于保存类的公有数据* 2.静态方法里面只能访问静态属性* 3.静态成员不需要实例化对象就可以进行访问* 4.类的内部可以通过self或者static关键字访问自身静态成员* 5.可以通过parent关键字访问父类的静态成

<div class="cnblogs_code">

 
  • 1.静态属性用于保存类的公有数据
  • 2.静态方法里面只能访问静态属性
  • 3.静态成员不需要实例化对象就可以进行访问
  • 4.类的内部可以通过self或者static关键字访问自身静态成员
  • 5.可以通过parent关键字访问父类的静态成员
  • 6.可以通过类的名称在类定义外部访问静态成员
  • <span style="color: #008000">*/
    <span style="color: #0000ff">class<span style="color: #000000"> Human{
    <span style="color: #0000ff">public <span style="color: #800080">$name<span style="color: #000000">;
    <span style="color: #0000ff">protected <span style="color: #800080">$height; <span style="color: #008000">//<span style="color: #008000">只有自身和子类可以访问
    <span style="color: #0000ff">public <span style="color: #800080">$weight<span style="color: #000000">;
    <span style="color: #0000ff">private <span style="color: #800080">$isHungry = <span style="color: #0000ff">true; <span style="color: #008000">//<span style="color: #008000">不能被子类访问

<span style="color: #0000ff">public <span style="color: #0000ff">static <span style="color: #800080">$sValue = "Static value in Human class"."n"<span style="color: #000000">;

<span style="color: #0000ff">public <span style="color: #0000ff">function eat(<span style="color: #800080">$food<span style="color: #000000">){
<span style="color: #0000ff">echo <span style="color: #800080">$this->name."'s eating "."'<span style="color: #800080">$food"."n"<span style="color: #000000">;
}

<span style="color: #0000ff">public <span style="color: #0000ff">function<span style="color: #000000"> info(){
<span style="color: #0000ff">echo "HUMAN :".<span style="color: #800080">$this->name. ";".<span style="color: #800080">$this->height.";".<span style="color: #800080">$this->isHungry."n"<span style="color: #000000">;
}
}
<span style="color: #0000ff">class<span style="color: #000000"> Animal{

}

<span style="color: #008000">//<span style="color: #008000">类的定义以关键字class开始,后面是类的名称,类的命名通常第一个字母大写,以中括号开始和结束
//在PHP中用extends关键字表示类的继承,后面跟父类的类名
//PHP中extends后只能跟一个类的类名,这是PHP中的单继承原则
<span style="color: #0000ff">class NBaplayer <span style="color: #0000ff">extends<span style="color: #000000"> Human
{
<span style="color: #008000">//<span style="color: #008000"> public $name = "Jordan"; //定义属性
// public $height = "198cm";
// public $weight = "98kg";
<span style="color: #0000ff">public <span style="color: #800080">$team = "Bull"<span style="color: #000000">;
<span style="color: #0000ff">public <span style="color: #800080">$playernumber = "23"<span style="color: #000000">;

<span style="color: #0000ff">private <span style="color: #800080">$age = "40"; <span style="color: #008000">//<span style="color: #008000">Private的类成员只能在内部被访问

//静态属性在定义时在访问控制关键字后面添加static关键字即可
<span style="color: #0000ff">public <span style="color: #0000ff">static <span style="color: #800080">$president = "David Stern"<span style="color: #000000">;
<span style="color: #008000">//<span style="color: #008000"> 静态方法在定义时在访问控制关键字后面添加static关键字即可
<span style="color: #0000ff">public <span style="color: #0000ff">static <span style="color: #0000ff">function changePresident(<span style="color: #800080">$newpresdt<span style="color: #000000">){
<span style="color: #008000">//<span style="color: #008000">在类定义中使用静态成员时,用self或者static关键字后面跟::操作符即可
//注意,在访问静态成员属性时,::后面需要跟$符号
self ::<span style="color: #800080">$president = <span style="color: #800080">$newpresdt<span style="color: #000000">;
<span style="color: #008000">//<span style="color: #008000">使用parent关键字访问父类中的静态成员
<span style="color: #0000ff">echo parent::<span style="color: #800080">$sValue."n"<span style="color: #000000">;
}

<span style="color: #008000">//<span style="color: #008000">构造函数,在对象被实例化时自动调用
<span style="color: #0000ff">function __construct(<span style="color: #800080">$name,<span style="color: #800080">$height,<span style="color: #800080">$weight,<span style="color: #800080">$team,<span style="color: #800080">$playernumber<span style="color: #000000">)
{
<span style="color: #0000ff">echo "in NBaplayer constuctorn"<span style="color: #000000">;
<span style="color: #800080">$this->name = <span style="color: #800080">$name; <span style="color: #008000">//<span style="color: #008000">$this是php里面的伪变量,表示对象自身,可以通过$->this的方式访问对象的属性和方法
<span style="color: #800080">$this->height = <span style="color: #800080">$height<span style="color: #000000">;
<span style="color: #800080">$this->weight = <span style="color: #800080">$weight<span style="color: #000000">;
<span style="color: #800080">$this->team = <span style="color: #800080">$team<span style="color: #000000">;
<span style="color: #800080">$this->playernumber = <span style="color: #800080">$playernumber<span style="color: #000000">;
<span style="color: #0000ff">echo <span style="color: #800080">$this->height."n"<span style="color: #000000">;
}

<span style="color: #008000">//<span style="color: #008000">析构函数,在程序执行结束时自动调用
//析构函数通常被用于清理程序使用的资源。比如,程序使用了打印机,那么可以在析构函数里释放打印机资源
<span style="color: #0000ff">function<span style="color: #000000"> __destruct()
{
<span style="color: #0000ff">echo "Destroying ".<span style="color: #800080">$this->name."n"<span style="color: #000000">;
}

<span style="color: #008000">//<span style="color: #008000">定义方法
<span style="color: #0000ff">public <span style="color: #0000ff">function<span style="color: #000000"> run()
{
<span style="color: #0000ff">echo "runningn"<span style="color: #000000">;
}

<span style="color: #0000ff">public <span style="color: #0000ff">function<span style="color: #000000"> jump()
{
<span style="color: #0000ff">echo "jumpingn"<span style="color: #000000">;
}

<span style="color: #0000ff">public <span style="color: #0000ff">function<span style="color: #000000"> dribble()
{
<span style="color: #0000ff">echo "dribblingn"<span style="color: #000000">;
}

<span style="color: #0000ff">public <span style="color: #0000ff">function<span style="color: #000000"> shoot()
{
<span style="color: #0000ff">echo "shootingn"<span style="color: #000000">;
}

<span style="color: #0000ff">public <span style="color: #0000ff">function<span style="color: #000000"> dunk()
{
<span style="color: #0000ff">echo "dunkingn"<span style="color: #000000">;
}

<span style="color: #0000ff">public <span style="color: #0000ff">function<span style="color: #000000"> pass()
{
<span style="color: #0000ff">echo "passingn"<span style="color: #000000">;
}
<span style="color: #0000ff">public <span style="color: #0000ff">function<span style="color: #000000"> getAge(){
<span style="color: #0000ff">echo <span style="color: #800080">$this->name."'s age is ".(<span style="color: #800080">$this->age - 2)."n"<span style="color: #000000">;
}
}
<span style="color: #008000">//<span style="color: #008000">类到对象的实例化
//类的对象为实例化时使用关键字new,后面是类的名称和一堆括号
// $jordan = new NBaplayer("Jordan","198cm","98kg","Bull","23");
// $james = new NBaplayer("James","203cm","120kg","Heat","6");
//对象中的成员属性通过->符号来访问
//在类定义外部访问静态属性,可以用类名加::操作符的方法来访问类的静态成员
<span style="color: #0000ff">echo NBaplayer::<span style="color: #800080">$president." Before change"."n"<span style="color: #000000">;
NBaplayer::changePresident("Aadam Siver"<span style="color: #000000">);
<span style="color: #0000ff">echo NBaplayer::<span style="color: #800080">$president."n"<span style="color: #000000">;
<span style="color: #0000ff">echo Human::<span style="color: #800080">$sValue."n"<span style="color: #000000">;
<span style="color: #008000">//<span style="color: #008000"> echo "Jordan : ".$jordan->president."n";
// echo "James : ".$james->president."n";
<span style="color: #0000ff">echo <span style="color: #800080">$jordan->name."n"<span style="color: #000000">;
<span style="color: #008000">//<span style="color: #008000">echo $jordan->getAge();
// $jordan->info();
// $jordan->eat("Apple"); //在子类中的对象上可以直接访问父类中定义的属性和方法
//对象中的成员方法通过->符号来访问
// $jordan->dribble();
// $jordan->dunk();
// $jordan->jump();
// $jordan->pass();
// $jordan->run();
// $jordan->shoot();
//
// //每一次用new实例化对象的时候,都会用类名后面的参数列表调用构造函数
// $james = new NBaplayer("James","6");
// echo $james->name."n";

(编辑:安卓应用网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读