zoukankan      html  css  js  c++  java
  • php面向对象的特性:OOP的封装

    字段的作用域:

      1.public 公共的(类外可以访问)

      2.private 私有的(只能类内访问)

      3.protected 受保护的(类内和子类可以访问,类外无法访问)

     1 /*通过公共的方法来访问私有字段*/
     2 class Computer{
     3     //类的私有字段(成员)
     4     private $_name="联想";
     5     private $_model = "z470";
     6     
     7     //通过公共方法来访问私有字段
     8     public function _run(){    
     9         echo $this->_name;
    10     }
    11 }
    12 
    13 $compter = new Computer();
    14 $compter->_run();  //输出值:联想

      如果有10个字段的话怎么办?

     1 class Computer{
     2     //类的私有字段(成员)
     3     private $_name;
     4     private $_model;
     5     private $_price;
     6     
     7     //给所有字段赋值
     8     function __set($_key,$_value){
     9         $this->$_key = $_value;        
    10     }
    11     
    12     //所有字段的取值在这里运行
    13     function __get($_value){
    14         return $this->$_value;
    15     }
    16     
    17     
    18 }
    19 
    20 $compter = new Computer();
    21 $compter->_name = "联想";
    22 $compter->_model = "z470";
    23 $compter->_price = "5000";
    24 
    25 echo $compter->_name;    //输出值:联想
    26 echo $compter->_model;     //输出值:z470
    27 echo $compter->_price;     //输出值:5000

    方法私有:类中的有些方法并不需要对外公开,只是里面运作的一部分,这时候应该将方法也封装起来。

     1 class Computer{
     2     
     3     //类的成员
     4     private $_name;
     5     private $_model;
     6     
     7     //私有方法
     8     private function getEcho(){
     9         echo '我是私有化的方法';
    10     }
    11     
    12     //公共方法一般是对外的入口
    13     public function run(){
    14         $this->getEcho();
    15     }    
    16     
    17 }
    18 
    19 $com = new Computer();
    20 $com->run();        //输出值:我是私有化的方法
  • 相关阅读:
    配置伪静态的好处
    RewriteCond和13个mod_rewrite应用举例Apache伪静态
    什么是伪静态?伪静态有何作用?
    推荐16个下载超酷脚本的热门网站
    thinkphp 表单自动验证功能
    窗体界面设计03
    ExtJs双折线图
    课程设计之"网络考试系统"(php、Extjs)
    布局元素和用户控件设计Silverlight网站02
    Silverlight的皮肤转换和datagrid数据显示
  • 原文地址:https://www.cnblogs.com/changshaoshuai/p/3284785.html
Copyright © 2011-2022 走看看