• 面向对象基础


    1、两个圆,求两个圆相叠的阴影面积

    //面向过程方式

    $r1 = 10; //定义变量
    $r2 = 5;
    $mianji = 3.14*$r1*$r1-3.14*$r2*$r2; //圆的公式
    echo $mianji;

    //面向对象

    (1).将圆抽象为一个类

    class Yuan
    {
      //类的成员
    
      var $banjing;   //圆类的一个成员变量	
    
      //面积,圆类的一个成员方法
      function MianJi()
      {
          return 3.14*$this->banjing*$this->banjing;    //$this关键字 在类里面代表该对象
      }
    }
    

    (2).实例化对象

    $yuan = new Yuan(); 
    $yuan->banjing = 10;    //调成员->
    $yuan->MianJi();    //调用方法
    

    回到题中: 

    //造大圆
    $maxyuan = new Yuan();
    $maxyuan->banjing = 10;   //调用成员
    
    //造小圆
    $minyuan = new Yuan();
    $minyuan->banjing = 5;  //调用成员
    
    echo $maxyuan->MianJi()-$minyuan->MianJi();  //调用方法
    

     计算长方形的面积

    class Fang
    	{
    	var $chang;  //成员变量
    	var $kuan;   //成员变量
    		
    	function Mian()
    	{
    	  return $this->chang*$this->kuan;  //this关键字
    	}
    	}
    
    //造长方形 $changfang = new Fang();
    //调用成员 $changfang->chang = 4; $changfang->kuan = 6;
    //调用方法 echo $changfang->Mian();

      

    2、两个数之间的运算

    (抽象为一个类)  

    class YunSuan
    	{
    		public $a;  //类的成员变量
    		public $b;  
    
             //类的成员方法 function jia() {   return $this->a+$this->b; } function jian() {   return $this->a-$this->b; } function chen() {   return $this->a*$this->b; } function chu() {   return $this->a/$this->b; } }

    (实例化对象)  

    $y = new YunSuan();   
    $y->a = 10;  //调用成员
    $y->b = 5;   //调用成员
    echo $y->jian();  //调用方法
    
    echo $y->jia();   //调用方法
    
    echo $y->chen();  //调用方法
    
    echo $y->chu();   //调用方法
    


    3、访问修饰符
    (1)public      (默认)公有的,任何地方都可以访问
    (2)protected      受保护的,只能在该类或是该类中的子类中访问
    (3)private     私有的,只能在该类中访问

    4、构造函数(构造方法,就是类名):专门用来造对象的

    上面的题进行构造函数,如下:

    第一种:可以在类中加一个构造函数,然后实例化时在函数中赋值就可以

    a.构造函数:在造对象时就执行了
    function __construct($a1,$b1)     //__双下划线开头的方法在面向对象中称为魔术方法
    {
      $this->a = $a1;  
      $this->b = $b1; }

    第二种:直接在类中赋值

    b.可以直接修改默认值也可以
    public $a=10;
    public $b=5;  

    1.写法特殊:方法名特殊
    2.执行时间特殊:在造对象时就执行了构造方法

  • 相关阅读:
    代码重构~提取方法
    代码重构~提取到类
    不说技术~有时,开发者还是应该讲究一点!
    代码重构~封装成员变量
    将不确定变为确定~LINQ查询包含对不同数据上下文上所定义项的引用
    真实的用户,真实的中国互联网
    John Resig: JavaScript's Chuck Norris
    chrome插件IE tab使用技巧
    人生的疆域与生存的幻象—阅读丰富人生
    WPF 创建多行TextBox
  • 原文地址:https://www.cnblogs.com/nuanai/p/6159794.html
Copyright © 2020-2023  润新知