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

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

  • 相关阅读:
    不常用的cmd命令
    js获取宽度
    Marshaling Data with Platform Invoke 概览
    Calling a DLL Function 之三 How to: Implement Callback Functions
    Marshaling Data with Platform Invoke 之四 Marshaling Arrays of Types
    Marshaling Data with Platform Invoke 之一 Platform Invoke Data Types
    Marshaling Data with Platform Invoke 之三 Marshaling Classes, Structures, and Unions(用时查阅)
    Calling a DLL Function 之二 Callback Functions
    WCF 引论
    Marshaling Data with Platform Invoke 之二 Marshaling Strings (用时查阅)
  • 原文地址:https://www.cnblogs.com/navyouth/p/8227817.html
Copyright © 2011-2022 走看看