zoukankan      html  css  js  c++  java
  • PHP面向对象

    1、面向对象

    类:由众多对象抽象出的东西(研究的对象共同特征抽象出来)

    对象一切皆对象(研究什么,什么就是对象)由类实例化出来的

    2、类的定义

    <?php
    	//类的定义
    	 class Ren {
    		 var $code;//成员变量 人员代号
    		 var $name;//成员变量 姓名
    		 var $sex;//成员变量 性别
    		 var $birthday;//成员变量 生日	 
    	 }
        ?>
    

     类里面所有变量或者函数都是类的成员

    类里面的成员是属于对象的而不是类的(姓名代号是属于具体某个人的而不是属于人类的)

    3、实例化对象

    <?php
    	//类的定义
    	 class Ren {
    		 var $code;//成员变量 人员代号
    		 var $name;//成员变量 姓名
    		 var $sex;//成员变量 性别
    		 var $birthday;//成员变量 生日	 
    	 }
    	 //实例化对象
    	 $r = new Ren();//实例化一个人
    	 $r->code = "p001";//代号为p001的人  ->寻找Ren下面的内容
    	 $r1 = new Ren();//实例化一个人
    	 $r1->code = "p002" ;//代号为p002的人
    	 var_dump($r);
    	 var_dump($r1);
        ?>
    

     

    4、访问修饰符

    public 公有的(类外也能被访问,任何地方都可以被访问){}外

    protected 受保护的 (只能在类和子类内访问)

    private 私有的(只能在该类使用)

    	<?php
    	 class Ren {
    		 public $code;
    		 protected $name;
    		 private $sex;
    		 public $birthday;
    	 }
    	 $r = new Ren();
    	 $r->code = "p001";
         $r->name = "张三";//会报
    	 $r->sex = "男";//报错
    	 var_dump($r)
        ?>
    

     5、调用函数

    <?php
    	 class Ren {
    		 public $code;
    		 public $name;
    		 public $sex;
    		 public $birthday;
    		 public function say(){
    			 echo"说话";
    			 }
    	 }
    	 $r = new Ren();
    	 $r->say();
        ?>
    

     让具体某个人说话

    	<?php
    	 class Ren {
    		 public $code;
    		 public $name;
    		 public $sex;
    		 public $birthday;
    		 public function say(){
    			 echo"{$this->name}说话!";//this代表该对象
    			 }
    	 }
    	 $r = new Ren();
    	 $r->code = "p001";
         $r->name = "张三";
    	 $r->sex = "男";
    	 $r->say();
        ?>
    

     张三说话

    5、面向对象和面向过程的区别

    例:两个圆套在一起大圆半径是10小圆半径是5  求蓝色部分的面积

    用面向过程:
    	 $r=10;
    	 $r1=5;
    	 $mianji=3.14*$r*$r-3.14*$r1*$r1;
    	 echo $mianji
        ?>
    

     面向对象

    	<?php
    	 class Yuan{
    		 public $r;
    		 public function mianji(){
    			 return 3.14*$this->r*$this->r;
    		 }
    	 }
    	 $y = new Yuan();
    	 $y->r = 10;
    	 $y1 = new Yuan();
    	 $y1->r = 5;
    	 echo $a=$y->mianji()-$y1->mianji();
        ?>
    

     面向过程比面向对象简洁,但是思路没有面向对象清晰,可重复利用率低

  • 相关阅读:
    《Cracking the Coding Interview》——第6章:智力题——题目2
    《Cracking the Coding Interview》——第6章:智力题——题目1
    《Cracking the Coding Interview》——第5章:位操作——题目8
    《Cracking the Coding Interview》——第5章:位操作——题目7
    《Cracking the Coding Interview》——第5章:位操作——题目6
    Spyder 调出绘图界面
    作为非计算机专业的学生,觉得 C 语言远比其他语言易于上手,正常吗?
    vs2015 + Python3.5 环境搭建
    更新32位Spyder从3.0.0-> 3.2.3
    luogu P1047 校门外的树 x
  • 原文地址:https://www.cnblogs.com/navyouth/p/8227817.html
Copyright © 2011-2022 走看看