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);
}
通过这样的方式,实现在类外对私有属性的操作。
转载于:https://www.cnblogs.com/07byte/p/5823819.html
10分钟学会php面相对象基础(Ⅰ)相关推荐
- 大规模文件存储怎么办?10分钟学会阿里OSS对象存储
一. 前言 最近有很多小伙伴问健哥,如果我们要进行大规模的文件存储该怎么做? 其实实现文件存储的技术有很多,如果我们在网上搜索一下,你会发现实现的技术简直是五花八门,比如有一种技术叫FastDFS就可 ...
- pulsar 容量_[Pulsar系列] 10分钟学会Pulsar消息系统概念
Apache Pulsar Pulsar是一个支持多租户的.高性能的服务与服务之间消息通讯的解决方案,最初由雅虎开发,现在由Apache软件基金会管理. Pulsar在Yahoo的生产环境运行了三年多 ...
- 大学不教的20小时定律,10分钟学会受用终身
大学不教的20小时定律,10分钟学会受用终身 2018-05-05 20:10:35 来源: 网易公开课 "20小时速成",一听到这句话,脑海中浮现的就是网络上那些小广告:&quo ...
- UWP开发入门(十九)——10分钟学会在VS2015中使用Git
原文:UWP开发入门(十九)--10分钟学会在VS2015中使用Git 写程序必然需要版本控制,哪怕是个人项目也是必须的.我们在开发UWP APP的时候,VS2015默认提供了对微软TFS和Git的支 ...
- python写好的代码怎么给别人使用-10分钟学会用python写游戏!Python其实很简单!...
原标题:10分钟学会用python写游戏!Python其实很简单! Python现在非常火,语法简单而且功能强大,很多同学都想学Python!所以在这里给各位看官们准备了高价值Python学习视频教程 ...
- 百度贴吧自动发帖_引流网赚之百度贴吧引流窍门:实操引流教程百度贴吧零成本自动顶帖+10分钟学会豆瓣顶帖引流...
引流网赚之百度贴吧窍门:实操引流教程<百度贴吧零成本自动顶帖>+<10分钟学会豆瓣顶帖引流> 关于百度贴吧的引流方式有很多,像常见的关键词排名引流,比如,百度贴吧引流效果好不好 ...
- NiosII软处理器快速入门- 10分钟学会NiosII(1)
http://hi.baidu.com/hieda/blog/item/7f69080e9efb80ce7bcbe13d.html Nios简单介绍: Nios II是一个用户可配置的通用RISC嵌入 ...
- 手机版python3h如何自制游戏_Python 飞机大战|10 分钟学会用 python 写游戏
Python 飞机大战|10 分钟学会用 python 写游戏 2018 年 python 语言大火, 这把火看趋势已然延续到了 2019 年! 除了在科学计算领域 python 有用武之地之外, 在 ...
- #今日论文推荐#1小时学会走路,10分钟学会翻身,世界模型让新生机器狗掌握多项技能
#今日论文推荐#1小时学会走路,10分钟学会翻身,世界模型让新生机器狗掌握多项技能 人类宝宝在出生后的第1年里,就会逐渐掌握协调能力,学习坐.立.翻滚和爬行. 那么机器人呢? 机器人能完成多复杂的任务 ...
最新文章
- 每天一个知识点linux(八)手动创建交换分区
- Postfix邮件服务器搭建之roundcube webmail安装与配置
- 跟我学大数据分析:多维度数据分析报告
- Interview:算法岗位面试—10.29下午上海某电子(偏传统ML算法,外企)数据结构算法+晚上国内某保险公司(偏AI算法,世界500强)技术面试之分类算法、回归算法、聚类算法等细节考察
- mapper代理(十一)
- 从0到1告诉你搭建完整Python+requests接口自动化测试框架!
- 安卓工控主板运行时会自动重启_工控机日常维护的方法与步骤
- HOOK NtCreateSection
- 金融财务数据分析报告PPT模板
- TI OSAL资料 整理
- Sublime LiveReload安装问题
- 一些代码美化的实用网站
- sqlite3 查询表结构信息
- Android之利用volley搭建简洁网络框架
- myeclipse6.5-8.5 激活码 秘钥 及使用
- 我们需要“第二人生”吗?[Second life]
- 王者战力查询教程,每天可查,数据准确~
- 计算机access分数比例,[access查询]关于分数段统计问题
- 萌新做点小玩意儿DAY-15 线性表(顺序表)及其应用
- Java 中添加背景音乐
热门文章
- 使用SDL打造游戏世界之入门篇 - 1
- c#中结构与类的区别
- asp.net 的性能计数器
- shell语法以及监控进程不存在重启
- 通过Windows10上的VS Code打开远端Ubuntu上的项目操作步骤
- python远程登录linux命令,Python+requests通过paramiko远程登录Linux执行sh命令
- ospf 环回口的路由条目_OSPF (4)
- mysql5.7与8.0用那个_MySQL 5.7 vs 8.0,哪个性能更牛?
- java axis2 开发_基于Apache axis2开发Java Web服务
- 鸿蒙法则的能力,真正厉害的人,都懂得这五个做事法则,如能悟透,成功不难...