class Ren
{
private $name;
private $sex;
private $age; //年龄必须在18-50之间 function __constuct($v)
{
$this ->sex =$v;
}
//魔术方法set
function __set($n,$v)//可以给成员变量赋值,括号里有两个参数,第一个参数是成员变量的名称,第二个是成员变量的值。
{
if($n=="age")
{
if($v>= && $v<=)
{
$this->$n = $v;
}
} else
{
$this ->$n=$v;
}
}
//魔术方法get
function __get($n)
{
return $this->$n;
} } $r=new Ren(); $r-> age =; var_dump($r);
class Ren
{
private $name;
private $sex;
private $age; //年龄必须在18-50之间 function __construct($v)
{
$this->sex = $v;
} /*//设置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();
echo $r->getage(); $r->say(); var_dump($r);
class Ren
{
private $name;
private $sex; function __construct($v)
{
$this->sex = $v;
} //设置age的值
function setage($a)
{
if($a>= && $a<=)
{
$this->age = $a;
}
}
//获取age的值
function getage()
{
return $this->age;
} function say()
{
echo "hello";
} //析构方法
function __destruct()
{
echo "这是一个析构方法";
} function __tostring()
{
return "这个类是人类";
} } $r = new Ren("男"); $r->say(); var_dump($r);
//构造方法:写法特殊,执行时间特殊

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

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

//php类里面不允许出现同名方法
函数重载 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.参数个数不同或参数类型不同

//例子:计算器

$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();
//例子:求两个圆之间的阴影面积
$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();

最新文章

  1. 如何将github上的 lib fork之后通过podfile 改变更新源到自己fork的地址
  2. 2015.5.2-2015.5.8 Tip jQuery ,前端组件库,inline-block元素间距等
  3. NeHe OpenGL教程 第二十三课:球面映射
  4. JQuery Ajax 在asp.net中使用小结
  5. 我的web前端修炼之路从此开始
  6. PyH : python生成html
  7. 详解全站 HTTPS 访问优化
  8. Jquery-全选和取消的一个坑
  9. 关于py的思考
  10. c#+.net常用功能点
  11. IDEA 中tomcat日志位置
  12. win10编译caffe调用matlab接口
  13. win10专业版激活工具很不错!
  14. es6箭头函数使用场景导致的一些问题
  15. 奇怪吸引子---Arneodo
  16. NHibernate 设置主键不自增长
  17. atitit.验证码识别step3----去除边框---- 图像处理类库 attilax总结java版本
  18. 『ACM C++』Virtual Judge | 两道基础题 - The Architect Omar &amp;&amp; Malek and Summer Semester
  19. 【转】S1 Setup
  20. Windows找出占用端口的进程

热门文章

  1. Java 之外,是 Scala 还是 Groovy?【转载】
  2. GitHub下载安装以及开源项目
  3. TLS/HTTPS 证书生成与验证
  4. Effective Java 第三版——52. 明智而审慎地使用重载
  5. css中border-radius用法详解
  6. H5的Video事件,控制方法,及监听
  7. eclipse开发android入门学习
  8. cmake 常用变量和常用环境变量查表手册---整理 .
  9. DBNull与Null的区别
  10. bootstrap 3.0 LESS源代码浅析(二)