web开发之-PHP面向对象

181阅读模式
<?php
class Person{
    public static $type = "人类";
    private $_name;
    protected $_age;
    public function __construct($name,$age){
        $this->_name = $name;
        $this->_age  = $age;
    }
    public function walk(){
        echo $this->_name." 在走路".PHP_EOL;
        echo "我是:".self::$type.PHP_EOL;
    }
    public function speak(){
        echo $this->_name." 在说话:我的年纪是: ".$this->_age.PHP_EOL;
    }
}
$person = new Person("李四",10);
$person->walk();
$person->speak();
$person1 = new Person("张三",11);
$person1->walk();
$person1->speak();
?>

运行以上程序,会输出如下内容:文章源自懂站帝-http://www.sfdkj.com/13730.html

李四 在走路
我是:人类
李四 在说话:我的年纪是: 10
张三 在走路
我是:人类
张三 在说话:我的年纪是: 11

由以上可知:定义一个类,需要使用class 类名{}的方式定义一个类,{}里放这个类的属性,比如年龄$_age,姓名$_name,这个类能执行的操作(操作也就是函数),行走:function walk(){};说话:function speak(){};类的实例化,需要使用 new 类名(参数,参数),例如:new Person("李四",10);在类中的__construct()为构造函数,也就是new的时候,会自动执行的方法,如果这个__construct里需要参数,那么在new的时候,也需要传参过去,例如这里__construct需要传递年龄和姓名,所以,在new的时候,需要把相应的参数传递过去,否则会报错!文章源自懂站帝-http://www.sfdkj.com/13730.html

重点:$this是指的生成的对象的本身,self是指的类本身;访问对象的属性,可以使用$this->属性名,例如,在构造函数中$this->$_age = $age;表示生成的$person对象的$_age是$age,即10;生成的$person1对象的$_age是11;self是用来访问类的静态成员,即static 成员名;同样的,你也可以定义一个static的方法,同样使用self::静态方法名(),来执行静态方法名,你可以自己尝试一下!文章源自懂站帝-http://www.sfdkj.com/13730.html

懂站帝
  • 本文由 发表于 2022年6月4日 15:30:43
  • 版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至395045033@qq.com举报,一经查实,本站将立刻删除。