温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

php中类的属性和方法如何使用

发布时间:2020-07-12 17:35:58 来源:网络 阅读:349 作者:icy2013 栏目:web开发
<?php
Class Person{
    public static $country = "中国";// 定义静态成员属性
    public $countries = "zhongguo";  //非静态类成员
    public $mingzi = array();//非静态类成员
    // 定义静态成员方法
    public static function myCountry() {
        // 内部访问静态成员属性
        echo "我是".self::$country."人<br />";
    }
}
class Student extends Person {
    function study() {
        echo "我是". parent::$country."人<br />";
    }
}
echo Person::$country."<br />";         // 输出:中国
$p1 = new Person();                    // 实例化类
echo $p1->countries. "<br>";            //调用输出静态成员变量
$p1->mingzi = array("liming");          //调用静态成员数组
echo $p1->mingzi[0];                    //输出静态成员数组中的元素
Person::myCountry();                    // 输出:我是中国人
$p1->myCountry();                        //调用静态成员方法
echo Student::$country."<br />";        // 调用子类 输出:中国
$t1 = new Student();                    // 实例化子类
$t1->study();                           // 调用子类中的方法输出:我是中国人
?>
<html>
<head>
<meta Content-Type="content-type:text/plain" charset="utf-8">
</head>
</html>

输出结果:

中国
zhongguo
liming我是中国人
我是中国人
中国
我是中国人


public的变量可以如果没有static是可以实例化调用的调用,如果有static,就不能实例化调用。如:


正确的写法:

<?php
class myclass{
public static $name="amos";
}
class myclass1{
public $mingzi="amos";
}
echo myclass::$name;
$p2=new myclass1();
echo $p2->mingzi;
?>
<html>
<head>
<meta Content-Type="content-type:text/plain" charset="utf-8">
</head>
</html>

错误的写法:

<?php
class myclass{
public static $name="amos";
}
class myclass1{
public $mingzi="amos";
}
$p1=new myclass();
echo $p1->name;
echo myclass1::$mingzi;
?>
<html>
<head>
<meta Content-Type="content-type:text/plain" charset="utf-8">
</head>
</html>

为什么要声明static类型的成员和方法?

声明类成员或方法为static,就可以不实例化类而直接访问。

如何实例化?

$var= new classname();

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI