您的位置 首页 php

web开发之-PHP面向对象(3)

 <?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();
?>  

运行以上程序,会输出如下内容:

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

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

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

文章来源:智云一二三科技

文章标题:web开发之-PHP面向对象(3)

文章地址:https://www.zhihuclub.com/152694.shtml

关于作者: 智云科技

热门文章

网站地图