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

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

  • 相关阅读:
    学WPF (1 of n)干啥都有第一次
    程序启动时显示Flash窗体(C#)
    对象序列化后直接获取byte[]的方法
    工程管理(1 of n): 建立用于管理代码开发的注释标记
    发现Visual Studio隐含的大礼包漂亮的Visual Studio图像库
    C# Hello World
    更人性化地控制用户输入(1 of n)
    快手导航 计算机软件网址导航 时空地图TimeGIS
    中国图书馆图书分类法(Chinese Library Classification CLC)的XML文档生成 时空地图TimeGIS
    快手软件 v2.5 发布 时空地图TimeGIS
  • 原文地址:https://www.cnblogs.com/navyouth/p/8227817.html
Copyright © 2011-2022 走看看