zoukankan      html  css  js  c++  java
  • php面向对象

    <?php
    class person{
        public $name = '';
        function say($name){
            echo $name."说话";
        }
    }
    //实例化对象
    $zs = new person();
    //调用属性和方法
    $zs->name = "张三";
    $zs->say($zs->name);

    类中成员:属性、方法、类常量

    然后分一般属性、一般方法 public 不写默认就是public

       静态属性、静态方法 static

    静态类调用:

    属性调用:类::$静态属性名;

    方法调用:类::静态方法名();

    $this代表当前所属类的当前对象(谁调这个方法,$this就是谁),在静态方法中不能使用

    静态方法中不应调用非静态方法

    self代表当前类,通常只能在某个类的某个方法内部代表该类的名称

    class s2{
        public $v1 = 1;
        static function getNew(){
            return new self;  //self代表当前类,new self代表当前类的一个对象
        }
    }
    echo "<hr />";
    $obj2 = s2::getNew();
    var_dump($obj2);

    构造函数

    __construct()

    如果一个类中定义了构造方法,则实例化该类时就会调用该方法,且实例化时的参数需要跟构造方法的参数匹配(一 一对应)

    class p{
        public $name = "匿名";
        public $age = 18;
        function intro(){
            echo "<br />hi,大家好我叫".$this->name;
            echo ",今年".$this->age."岁";
        }
        function __construct($n,$a){
            $this->name = $n;
            $this->age = $a;
        }
    }
    $p2 = new p('李四',22);
    $p2->intro();

    class p{
        public $name = "匿名";
        public $age = 18;
        function intro(){
            echo "<br />hi,大家好我叫".$this->name;
            echo ",今年".$this->age."岁";
        }
        function __construct($n,$a){
            $this->name = $n;
            $this->age = $a;
        }
    }
    $p2 = new p('李四',22);
    $p2->intro();

    构造方法是“创建”对象的时候会自动调用。

    析构方法是“销毁”对象的时候会自动调用。

  • 相关阅读:
    2014年互联网发展趋势如何
    服务器出现阶段性错误
    用互联网思想武装自己
    杭州互联网公司汇总
    互联网牛人网址大全
    ffmpeg开发指南
    Windows下FFmpeg快速入门
    FFmpeg介绍及参数详细说明
    windows 下FFMPEG的编译方法 附2012-9-19发布的FFMPEG编译好的SDK下载
    FFMPEG视音频编解码零基础学习方法 【荐】
  • 原文地址:https://www.cnblogs.com/liangdong/p/10370833.html
Copyright © 2011-2022 走看看