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

    类的概念
    对象的概念
    定义类
    class Ren
    {
    //成员变量
    //成员方法
    }
    造对象
    $r = new Ren();
    调用对象的成员$r->

    面向对象三大特性:封装,继承,多态

    1.封装
    目的:让类更加的安全。做法:不让外界直接访问类的成员
    具体做法:
    1.成员变为私有:访问修饰符(public private protected)
    2.造成员方法来操作变量,构造函数
    3.使用类里面提供的__get()和__set()方法

    class Ren
    {
    private $age; //私有成员
    private $name;
    private $sex;

    //构造函数:在造对象的时候,对成员变量进行初始化
    //1.执行时间特殊:造对象的时候就自动执行
    //2.写法特殊:__construct

    function __construct($s)
    {
    $this->sex = $s;
    }

    //造方法去给变量$age赋值
    /*public function SetAge($a)
    {
    if($a>18 and $a<50)
    {
    $this->age = $a;
    }
    }
    //取值
    function GetAge()
    {
    return $this->age;
    }*/



    //变量赋值的方法
    function __set($n,$v)
    {
    if($n=="age")
    {
    if($v>18 and $v<50)
    {
    $this->$n = $v;
    }
    }
    else
    {
    $this->$n = $v;
    }
    }
    //取值方法
    function __get($n)
    {
    return $this->$n;
    }


    }

    $r = new Ren("男");

    $r->name = "张三";

    var_dump($r);

    <?php
    class YunSuan
    {
    	private $a;
    	private $b;
    	function __construct($a,$b)
    	{
    		$this->a=$a;
    		$this->b=$b;
    	}
    	function __set($n,$v)//name和value值
    	{
    		if($v>0 && $v<100)
    		{
    			$this->$n=$v;
    		}
    	}
    	function __get($n)//变量名称
    	{
    		return $this->$n;	
    	}
    	function He()
    	{
    		return $this->a+$this->b;
    	}
    	function Cheng()
    	{
    		return $this->a*$this->b;
    	}
    	function Chu()
    	{
    		return $this->a/$this->b;
    	}
    }
    $r=new YunSuan(5,2);
    echo ($r->a+$r->b);
    

      

  • 相关阅读:
    Linux安装svn
    spring低版本报错:java.lang.IllegalStateException: Context namespace element ‘annotation-config’ and its parser class [*] are only available on
    linux下nproc的作用
    Oracle存储过程--案例
    Oracle存储过程
    LoadRunner 11 安装
    BZOJ 1061 志愿者招募(最小费用最大流)
    ZOJ 1015 Fishing Net(判断弦图)
    BZOJ 1049 数字序列(LIS)
    topcoder srm 620 div1
  • 原文地址:https://www.cnblogs.com/hamilton/p/5587806.html
Copyright © 2011-2022 走看看