zoukankan      html  css  js  c++  java
  • php封装


    class Ren
    {
      private $name;
      private $sex;
      private $age;              年龄必须在18-50之间

    function __construct($v)
    {
      $this->sex = $v;
    }
    魔术方法set
    function __set($n,$v)
    {
      if($n=="age")
    {
    if($v>=18 && $v<=50)
    {
      $this->$n = $v;
    }
    }
    else
    {
      $this->$n = $v;
    }
    }

    魔术方法get
    function __get($n)
    {
      return $this->$n;
    }

    设置age的值
    function setage($a)
    {
    if($a>=18 && $a<=50)
    {
    $this->age = $a;
    }
    }
    获取age的值
    function getage()
    {
    return $this->age;
    }

    function say()
    {
    echo "hello";
    }

    析构方法
    function __destruct()
    {
    echo "这是一个析构方法";
    }

    function __tostring()
    {
    return "这个类是人类";
    }


    }

    $r = new Ren("男");

    $r->setage(20);
    echo $r->getage();

    $r->say();
    $r->age = 30;

    echo $r->age;

    $r->__get("age");

    $r->__set("age",20);

    var_dump($r);

    构造方法:写法特殊,执行时间特殊

    OOP三大特性:封装,继承,多态

    封装的目的:为了让类更安全
    封装的做法:
    1.类里面的成员变量做为private
    2.使用成员方法来间接访问成员变量
    3.在该方法里面加限制条件

    php类里面不允许出现同名方法

    函数重载
    在类里面写多个同名方法来实现不同功能
    public string Show()
    {
    return "显示";
    }
    public string Show(string a)
    {
    return a+"显示";
    }
    public string Show(string a,string b)
    {
    return a+b+"显示";
    }
    public string Show(int b)
    {
    return b+"数字";
    }

    1.函数名必须相同
    2.参数个数不同或参数类型不同

    例子:求两个圆之间的阴影面积
    $maxr = 20;
    $minr = 10;
    $mj = 3.14*$maxr*$maxr - 3.14*$minr*$minr;


    class Yuan
    {
    代表半径
    public $r;

    function __construct($n)
    {
    $this->r = $n;
    }

    求面积的方法
    function MJ()
    {
    return 3.14*$this->r*$this->r;
    }
    }

    $r1 = new Yuan(20);
    $r2 = new Yuan(10);

    $mianji = $r1->MJ()-$r2->MJ();

    例子:计算器

    $a = 10;
    $b = 5;

    $jia = $a+$b;
    $jian = $a-$b;
    $cheng = $a*$b;
    $chu = $a/$b;


    class jisuan
    {
    public $a;
    public $b;

    function __construct($n,$m)
    {
    $this->a = $n;
    $this->b = $m;
    }

    function jia()
    {
    return $this->a+$this->b;
    }
    function jian()
    {
    return $this->a-$this->b;
    }
    function cheng()
    {
    return $this->a*$this->b;
    }
    function chu()
    {
    return $this->a/$this->b;
    }
    function quyu()
    {
    return $this->a%$this->b;
    }
    }

    $j = new jisuan(10,5);
    $j->quyu();

  • 相关阅读:
    Xshell初步设置
    【R shiny】一些应用记录
    R shiny 小工具Windows本地打包部署
    生信工程师如何写一个小工具?
    Android 照片墙应用实现,再多的图片也不怕崩溃
    Android 高效加载大图、多图解决方案,有效避免程序OOM
    SparseArray 详解
    ActivityThread
    Activity 启动模式详解 (activity 加载模式)
    Activity 生命周期
  • 原文地址:https://www.cnblogs.com/sq45711478/p/5993633.html
Copyright © 2011-2022 走看看