zoukankan      html  css  js  c++  java
  • 10分钟学会php面相对象基础(Ⅰ)

    <?php

    声明一个类

    class mycar{

      etc.

    //成员方法

    }

    class mycar{

      function drive(){

         etc.

      }

    }

    ?>

    对象的实例化

    内存中分栈和堆,栈定长,堆较大不能直接访问。实例化后,实例名称放在栈内,实例放在堆内,通过实例名找到堆里的实例。另外还有代码段和初始化静态段。

    使用:赋值和取值

    $p1->name = "aa";

    $p1->name;

    $p1->run();

    内部引用本对象 $this;

    构造方法__construct()与析构方法__destruct()

    function __construct($name$sex$age)
        {
            // 通过构造方法传进来的$name给成员属性$this->name赋初使值
            $this->name = $name;
     
            // 通过构造方法传进来的$sex给成员属性$this->sex赋初使值
            $this->sex = $sex;
     
            // 通过构造方法传进来的$age给成员属性$this->age赋初使值
            $this->age = $age;

        } 

    function __destruct() 
        {
            echo "再见" $this->name;

        }

    10分钟肯定是我忽悠的。

    封装性是面象对象编程中的三大特性之一,封装性就是把对象的属性和服务结合成一个独立的相同单位,并尽可能隐蔽对象的内部细节,包含两个含义:

    1. 把对象的全部属性和全部服务结合在一起,形成一个不可分割的独立单位(即对象)。

    2. 信息隐蔽,即尽可能隐蔽对象的内部细节,对外形成一个边界〔或者说形成一道屏障〕,只保留有限的对外接口使之与外部发生联系。

    私有的成员是不能被外部访问的, 因为私有成员只能在本对象内部自己访问,比如,$p1这个对象自己想把他的私有属性说出去,在say()这个方法里面访问了私有属性,这样是可以。

    比如 

    class a{ 

    private $a; 

    private function say(){ echo”hello world”}

    $car = new a();

    a->a = “xx”;

    echo a->a;

    a->say();

    赋值、取值、调用方法都会报错;

    可能会用到构造函数,来支持private属性赋值;如

    function _construct($a){

    $this->a = $a; 

     }

    这样就可以通过 $car = new a(“xx”)来提供支持;

    构造方法是公认的共有方法,一般不要去私有化他;

    私有属性在外部不可用,但在内部可以,所以通过这种方法提供接口,类似于

    private $a;

    function setA($age){

        if ($age<0 || $age>130) // 在给属性赋值的时候,为了避免非法值设置给属性
        return;
        $this->age = $age;

     }

    function getA($age){

    RETURN($THIS->AGE);

     }

    通过这样的方式,实现在类外对私有属性的操作。

  • 相关阅读:
    sql server 数据查询基础
    sqlserver 用SQL语句操作数据
    sql server 用表组织数据
    sql server 程序的集散地 数据库
    JAVA 面向对象 File I/O
    JAVA 面向对象 多线程
    JAVA 面向对象 集合框架
    JAVA 面向对象 异常
    js内置对象、定时函数、document对象
    DOM
  • 原文地址:https://www.cnblogs.com/07byte/p/5823819.html
Copyright © 2011-2022 走看看