微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

PHP:类class和接口(interface)

 

PHP 类和接口

 

 

<?PHP 

// PHP_version = 7.4.1

interface @R_272_4045@ion 
{
    // __say(): print class name
    public function __say():void;
    
    // __msg(): print attributes and method of class
    public function __msg():void;
}
    
class back implements @R_272_4045@ion
{
    private $back_name;
    private $back_age;
        
    // interface function
    public function __say():void
    {
        echo PHP_EOL;
        echo "this_class_name = " . __CLASS__ .PHP_EOL;
    }
    
    // interface function
    public function __msg():void
    {
        echo PHP_EOL;
        echo "this_class_name = " . __METHOD__ .PHP_EOL;
        echo __CLASS__ . ".FUNCTIONS = " . "6, say, msg, display, set, get_name, get_age ." .PHP_EOL;

        echo "this_class_name = " . __METHOD__ .PHP_EOL;
        echo __CLASS__ . ".ATTRIBUTES = " . "2, name, age." .PHP_EOL;
    }
    
    public function set($name, $age)
    {
        $this -> back_name = $name;
        $this -> back_age = $age;
    }
    
    public function get_name()
    {
        return $this -> back_name;
    }
    public function get_age()
    {
        return $this -> back_age;
    }
    
    public function display()
    {
        echo PHP_EOL;
        echo "name = " . $this -> back_name ;
        echo " ,   age = " . $this -> back_age .PHP_EOL;
    }
    
    public function say()
    {
        $this -> __say();
    }
    
    public function msg()
    {
        $this -> __msg();
    }
    
}
    

// instances of back
$tmp = new back();
$tmp -> say();
$tmp -> msg();

// test set() display() 
$tmp -> set("laohu", 3);
$tmp -> display();

// test get_name() and get_age()
$temp_name = $tmp -> get_name();
echo "temp_name = " . $temp_name .PHP_EOL;
$temp_age = $tmp -> get_age();
echo "temp_age = " . $temp_age .PHP_EOL;
    

?> 

 

 

 

输出结果:

// 输出结果


this_class_name = back

this_class_name = back::__msg
back.FUNCTIONS = 6, __say, __msg, display, set, get_name, get_age .
this_class_name = back::__msg
back.ATTRIBUTES = 2, name, age.

name = laohu ,   age = 3
temp_name = laohu
temp_age = 3
 

 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐