博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PHP学习笔记---封装(面向对象三大特性之一)
阅读量:4982 次
发布时间:2019-06-12

本文共 1502 字,大约阅读时间需要 5 分钟。

回顾:类的概念(对象的抽象化) 对象(类的实例化)

定义 类:成员变量;成员方法;

如何造对象呢:

1 $r = new ren();  new 创建

调用对象的成员  :  $r->

对于面向对象有三大特性:封装;继承;多态;

关于封装(做类的将类进行封装)

目的是:让类更加安全,不让外界直接访问类的成员;

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

具体做法一:

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

public:公共的 所有的地方都能访问到;

private:私有的  只有这一个类里面可以访问到  (它的子类也不能访问);

protected:受保护的   在该类含有它的子类里面可以访问到(只能访问含有子类)

1 class  ren2 {3      var  $age;  ——private   $age;  //转为私有4 }5 $r  =  new ren();

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

class  ren{    private   $age;  //转为私有     public function SetAge($a)    {       $this->age=$a;    }     } $r  =  new ren();$r->SetAge(20);//给一个值var_dump ($r);

还有其他方法:(加入判断)

///造方法去给变量$age赋值    public function SetAge($a)    {        if($a>18 and $a<50)        {            $this->age = $a;        }    }//取值    function GetAge()    {        return $this->age;    }

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

function _set($n,$v)   //变量赋值方法    {        if($n=="age")        {            if($v>18and$v<50)            {                $this->$n=$v;            }        }        else        {            $this->$n=$v;//一个汉字3个字节        }    }//取值方法function _get($n){    return $this->$n;    }*/}$r=new ren("男");$r->age=20;$r->name=“张三”;$r->SetAge();var_dump($r)

***构造函数  不加访问修饰符 

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

//1.执行时间特殊:造对象的时候就自动执行
//2.写法特殊:__construct  构造方法的名称必须是construct

class{private   $sexfunction __construct($s)    {        $this->sex = $s;    }}$r=new ren("男");//构造函数在new的里面就调用构造函数  传入参数“男”var_dump($r)

对一个类构造函数飞创重要

研究类第一的要看的就是构造函数

因为使用他人的类第一步就是要造对象;才能调用里面的对象

 

转载于:https://www.cnblogs.com/koker/p/5562174.html

你可能感兴趣的文章
前端 CSS padding 目录
查看>>
android无缝切换播放器,KingPlayer一个专注于 Android 视频播放器的基础库,支持无缝切换内核。...
查看>>
layui中的html怎样接收后台的值,layui框架与SSM前后台交互的方法
查看>>
Skulpt在线模拟运行Python工具
查看>>
287.软件测试概述
查看>>
297.白盒测试
查看>>
新闻客户端的突破与创新
查看>>
网络通信引擎ICE的使用
查看>>
js滚动事件实现滚动触底加载
查看>>
CetnOS minimal 网络不可用
查看>>
MySQL 数据库备份
查看>>
python 笔记
查看>>
【Java】NIO中Channel的注册源码分析
查看>>
JS监测鼠标指针位置
查看>>
Mac常用终端命令
查看>>
团队作业2
查看>>
vue-cli(vue脚手架)详细教程
查看>>
Cyclic Nacklace HDU - 3746 (kmp next数组应用)
查看>>
什么是跨域?怎么解决跨域问题?
查看>>
poj3080 Blue Jeans【KMP】【暴力】
查看>>