zoukankan      html  css  js  c++  java
  • PHP-----面向对象的特性

    一.面向对象的特性

    面向对象有三大特性:

    封装、继承、多态

    1.封装

    封装就是用来做类的,把一个类封装起来

    目的:让类更加的安全

    做法:不让外界直接访问类的成员

    如何使类更安全的具体做法:

    (1).成员变为私有:访问修饰符(public private protected)

    public——公有的,所有地方都可以访问的到

    private——私有的,只有这个类可以访问的到

    protected——受保护的,在该类和子类中可以访问的到

    //例如:

    calss Ren

    {

      private $age;  //私有成员

    }

    $r = new Ren();

    echo $r->age;

    (2).造成员方法来操作变量

    class Ren

    {

      private $age;  //私有成员

      //造方法给变量$age赋值

      public function SetAge($a)

      {

        if($a>18 and $a<50)

        {

          $this->age = $a;

        }

      }

      function GetAge()

      {

        return $this->age;

      }

    }

    $r = new Ren();

    $r->SetAge(20);

    $r->GetAge();

    var_dump($r);

    (3).使用类里面提供的__get()和__set方法

    __set 赋值方法

    class ren

    {

      private $age;

      //变量赋值的方法

      function __set($n,$v)

      {

        $this->$n = $v;

      }

    }

    $r = new ren();

    $r->age = 20;

    var_dump($r);

    __get 取值方法

    class ren

    {

        //取值方法

      function __get($n)

      {

        return $this->$n;

      }

    }

    $r = new ren();

    echo $r->name;

    (4).构造函数

    在造对象的时候,对成员变量进行初始化的

    执行时间特殊:造对象的时候就自动执行

    写法特殊:__construct

    构造函数的写法:

    function __construct(变量)

    {

      $this->值 =变量;

    }

    ぉ 辰 プ 辰 ペ

  • 相关阅读:
    HTML5 五大特性
    JS DATE对象详解
    MySQL复制错误 The slave I/O thread stopsbecause master and slave have equal MySQL server UUIDs; these UUIDs must bedifferent for replication to work 解析
    MySQL OSC(在线更改表结构)原理
    Mycat基本搭建
    MySQL MVCC原理
    MySQL索引
    MySQL5.7新特性
    mysql报错"ERROR 1206 (HY000): The total number of locks exceeds the lock table size"的解决方法
    监控Mongo慢查询
  • 原文地址:https://www.cnblogs.com/chenchen0815/p/5568817.html
Copyright © 2011-2022 走看看