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();
        ?>
    

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

  • 相关阅读:
    微信小程序跳转传参参数丢失?
    微信小程序订阅消息,我踩过的坑都在这里了!
    CSS 了解一下
    简单地认识一下 HTML
    我和前端的猿粪,了解一下我眼中的前端。
    微信小程序如何发送订阅消息,正确姿势来了,建议收藏!
    微信小程序新服务消息推送 —— 订阅消息
    微信小程序 wxml 文件中如何让多余文本省略号显示?
    如何制作国旗头像,微信小程序利用 canvas 绘制挂件头像
    Vue组件中的Data为什么是函数。
  • 原文地址:https://www.cnblogs.com/navyouth/p/8227817.html
Copyright © 2011-2022 走看看