• php面向对象和构造函数


    面向对象分为类和对象:

        类:由众多对象抽象出来的东西;

        对象:一切皆对象,由类实例化出来的;

      类的定义:

    class Ren{
        var $code;   //成员变量
        var $name;   //姓名
        var $sex;   //性别
        var $birthday;   //生日
        public function say(){
        echo "{$this->name}说话!";
        }
    }
    

      

    其中类名的首字母大写,$this写在类里面代表该对象(谁调用代表谁);

      实例化对象(object代表对象):

    $r = new Ren();
    $r->name = "张三";
    $r->code = "p001";
    $r->say();
    

      

    类里面所有的变量或函数都称作类的成员;

      访问修饰符:

        public:公有的,任何地方都可以使用(类里类外都可用);

        protected:受保护的,在外界访问不到,能在该类和子类中访问到;

        private:私有的,只能在该类访问;

        (之前定义用的var可变为访问修饰符);

        类里面的成员是属于对象的;

      面向对象和面向过程的区别:

        1.面向过程较为方便;

        2.面向对象结构更清晰;

        3.面向对象后期改动过更方便。

    面向过程做法:

      $r1 = 10;
    $r2 = 5;
    $mj = 3.14*$r1*$r1-3.14*$r2*$r2;
    echo $mj;
    

    面向对象做法:

    class Yuan{
        public $r; //半径
        //获取面积
        public function mianji(){
            return 3.14*$this->r*$this->r;
        }
    }
    $y1 = new Yuan();
    $y1->r = 10;
    $y2 = new Yuan();
    $y2->r = 5;
    $mjm = $y1->mianji()-$y2->mianji();
    echo $mjm;
    

      

    构造函数一般用于初始一些参数。

      特点为:1.写法特殊;  2.执行特殊。

      1.写法特殊:

       写法一:

    public function Ren(){ }
      写法二:
    public function __construct($sex){
            $this->sex = $sex;
        }

    这里用到的双下划线__,可自动调用;

      2.执行特殊:

        在$r = new Ren();时自动执行;

        析构函数:对象销毁前调用;

        public function __destruct(){echo "对象销毁了";}。

  • 相关阅读:
    迭代是人,递归是神(迭代与递归的总结:比较)
    HMM(隐马尔科夫)用于中文分词
    Python 字典(Dictionary) get()方法
    jieba中文分词源码分析(四)
    一个隐马尔科夫模型的应用实例:中文分词
    小白给小白详解维特比算法(二)
    IOS 播放音频流媒体
    iOS开发之多媒体API(1)
    IOS流媒体播放
    ios7中使用scrollview来横向滑动图片,自动产生偏移竖向的偏移 问题
  • 原文地址:https://www.cnblogs.com/rose1324/p/8644357.html
Copyright © 2020-2023  润新知