zoukankan      html  css  js  c++  java
  • 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 "对象销毁了";}。

  • 相关阅读:
    WEB-INF目录与META-INF目录的作用
    Spring中的jar包详解
    fatal: Could not read from remote repository.的解决办法
    如何解决failed to push some refs to git
    Spring Boot 集成servlet,发布为可直接运行的war包,方便后续打包为docker镜像。
    使用IntelliJ IDEA,gradle开发Java web应用步骤
    git 命令使用常见问题
    自己动手搭建Git服务器-Gitblit
    windows 安装git
    springMVC 接收数组参数,mybatis 接收数组参数,mybatis批量插入/批量删除案例
  • 原文地址:https://www.cnblogs.com/rose1324/p/8644357.html
Copyright © 2011-2022 走看看