Php面向对象相关特性

1. 类和命名空间介绍

类的创建:

class Hello{
    public function sayHello(){
        echo 'hello php';
    }
}

和java创建类特别的像;

类的实例化:$h = new hello();

使用类中的方法:$h->sayHello();

类文件同样可以在前面加上包名,加上包名后:
– 实例化:$h = new jikexueyuan\hello1();
– 使用类中的方法:$h->sayHello();

构造方法的创建:

class Man{
    public function __construct(){
        echo 'Construct a man';
    }
}

其中,同样可以加参数在构造方法中。

class Man{
    public function __construct($age,$name){
        $this->_age = $age;
        $this->_name = $name;
    }
    private $_age,$_name;
    public function getAge(){
        return $this->_age;
    }
    public function getName(){
        return$this->_name;
    }
}

2. 成员方法和类方法

成员方法的建立:

    public function getName(){
        return$this->_name;
    }

类方法又叫静态方法的建立:

public static function sayHello(){
        echo 'Hello Man';
}

静态方法的调用:Man::sayHello();不用实例类,Man为php文件名称。

  • 静态变量的声明:private static $number = 100;
  • 静态常量的声明:const MAX_MAN_NUM = 200;
  • 外界访问静态常量:Man::MAX_MAN_NUM;

3. 类的继承与方法重写

继承:创建一个父类people.php

class People{
    public function __construct($age,$name,$sex){
        $this->_age = $age;
        $this->_name = $name;
        $this->_sex = $sex;
    }
    private $_age,$_name,$_sex;
    public function getAge(){
        return $this->_age;
    }
    public function getName(){
        return $this->_name;
    }
    public function getSex(){
        return $this->_sex;
    }
    public function hi(){
        echo $this->_name.'say hi';
    }
}

然后子类同java一样需要通过extends关键字来继承父类。
Man.php

require_once 'People.php';
class Man extends People {
    public function __construct($age, $name){
        parent::__construct($age, $name, '男');
    }
}

至于方法的重写同java差不多,不过在子方法中有一段代码,可以决定是否调用父方法的代码

    public function hi(){
        //保留父类的方法,有这段代码就会执行父类方法,没有就不会执行。
        parent::hi(); // TODO: Change the autogenerated stub
        echo 'Man'.$this->getName().'sayHi';
    }
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇