- 浏览: 424972 次
- 性别:
- 来自: 深圳
最新评论
-
fufu0414:
PHP类实例教程:abstract类和abstract方法 -
fufu0414:
[list][url][img][img][img][list ...
PHP类实例教程:abstract类和abstract方法
文章列表
在PHP5中,可以在类的属性和方法前面加上一个修饰符(modifier),来对类进行一些访问上的控制。Public(公开): 可以自由的在类的内部外部读取、修改。Private(私有): 只能在这个当前类的内部读取、修改。Protected(受保护):能够在这个类和类的子类中读取和修改。
Private的访问权限
private 不能直接被外部调用,只能由当前对象调用。前面介绍过关于封装的内容这里不再重复。比如你可以借钱给别人,但不希望别人知道你钱包里面有多少钱。 我们把它用private隐藏起来。
<?php
class Money
{
private $mym ...
继承是面向对象最重要的特点之一,就是可以实现对类的复用。
通过“继承”一个现有的类,可以使用已经定义的类中的方法和属性。
继承而产生的类叫做子类。
被继承的类,叫做父类,也被成为超类。
PHP是单继承的,一个类只可以继承一个父类,但一个父类却可以被多个子类所继承。
从子类的角度看,它“ 继承(inherit , extends)”自父类;而从父类的角度看,它“派生(derive)”子类。它们指的都是同一个动作,只是角度不同而已。
子类不能继承父类的私有属性和私有方法。
在PHP5中类的方法可以被继承,类的构造函数也能被继承。
继承的简单例子
我们分析自然界中的关系,动物 ...
析构函数:当某个对象成为垃圾或者当对象被显式销毁时执行。
GC (Garbage Collector)
在PHP中,没有任何变量指向这个对象时,这个对象就成为垃圾。PHP会将其在内存中销毁。这是PHP的GC (Garbage Collector)垃圾处理机制,防止内存溢出。当一个PHP线程结束时,当前占用的所有内存空间都会被销毁,当前程序中的所有对象同样被销毁。
__destruct() 析构函数,是在垃圾对象被回收时执行。
析构函数也可以被显式调用,但不要这样去做。
析构函数是由系统自动调用的,不要在程序中调用一个对象的析构函数。
析构函数不能带有参数。
程序结束前,所有对象被 ...
构造方法又称为构造函数,是对象被创建时自动调用的方法,用来完成类初始化的工作。 构造函数和其它函数一样,可以传递参数,可以设定参数默认值。构造函数可以调用属性,可以调用方法。构造函数可以被其它方法显式调用。 在PHP4 中使用与类名同名的方法为构造函数。在PHP5中依然支持了这种方式,但不建议再使用这种方式。 <?php
class Person {
private $name;
public function __construct($name) {
$this->name = $name;
echo "在类 ...
在PHP中有 = 赋值符号、== 等于符号和 === 全等于符号, 这些符号代表什么意思?当使用比较操作符(==)时,对象以一种很简单的规则比较:当两个对象有相同的属性和值,属于同一个类且被定义在相同的命名空间中,则两个对象相等。等于符号比较对象时,比较对象是否有相同的属性和值。注意:== 比较两个不同的对象的时候,可能相等也可能不等。
<?php
class Person
{
public $name = "NickName";
}
//分别创建两个对象
$p = new Person();
$p1 = new Person();
//比较对象
...
方法:对对象的属性进行的操作称为对象的方法(也称为行为/操作)。
过程 函数 方法
过程:过程是编制程序时定义的一个语句序列,用来完成某种指定的操作。
函数:函数有返回值,也是定义的语句序列。
方法:在面向 ...
属性:用来描述对象的数据元素称为对象的属性(也称为数据/状态),在PHP5中,属性指在class中声明的变量。在声明变量时,必须使用 public private protected 之一进行修饰,定义变量的访问权限。(public private protected三者的区别将在以后讲解)
属性的使用:通过引用变量的-> 符号调用变量指向对象的属性。
在方法内部通过 $this-> 符号调用同一对象的属性。
<?php
class Person
{
public $name = "NoName"; //定义public属性$name ...
Everything is Object:万事万物皆对象
面向对象的编程(OOP)思想力图使对计算机语言中对事物的描述与现实世界中该事物的本来面目尽可能的一致。(面向对象语言与我们的生活是相通的,面向对象语言学习起来其实很简单。在应用中更符合我们的生活逻辑。)
Class/Object:类(class)和对象(object)是面向对象方法的核心概念。
类是对一类事物描述,是抽象的、概念上的定义;
(类好像是在图纸上设计的楼房,楼房设计出来了,但这个楼房并不存在。)
对象是实际存在的该类事物的每个个体,因而也称实例(instance)。
(对象是实实在在存在的,照着楼房的设计图纸,高 ...
从OOP(面向对象)的视角看,不应区分语言。无论是C++、无论是Java、无论是.net还有更多面向对象的语言,只要你了解了OOP的真谛,便可以跨越语言,让你的思想轻松的跳跃。便没有对于Java、.net 、 PHP 之间谁强谁弱的争执了。
希望这个介绍PHP5面向对象编程(OOP)的资料能让初学者受益,能让更多的PHPer开始转向OOP的编程过程。
相对PHP4,PHP5在面向对象方面改变了很多。我们将只介绍PHP5环境下的面向对象。而我们必须改变自己来跟随PHP5的发展。如果代码结果在你的环境下执行不一致,请确认你的环境为PHP5。
我们假设读者没有任何面向对象的知 ...
下面是一些shell的常用快捷键,快捷键玩熟悉了在一定程度上是可以提高工作效率滴…
Ctrl + a 切换到命令行开始
Ctrl + e 切换到命令行末尾
Ctrl + l 清除屏幕内容
Ctrl + u 清除光标之前的内容
Ctrl + k 清除光标之后的内容
Ctrl + h 类似于退格键
Ctrl + r 在历史命令中查找 (这个非常好用,输入关键字就调出以前的命令了)
Ctrl + c 终止命令
阿里云云服务器硬盘分区及挂载
- 博客分类:
- Linux
云服务器环境:CentOS 6.2 64位
客户端环境:Mac OSX
远程连接方式:运行 Terminal,输入命令 ssh username@ip
硬盘分区及挂载操作步骤:
1. 查看未挂载的硬盘(名称为/dev/xvdb)
# fdisk -l
Disk /dev/xvdb doesn't contain a valid partition table
2. 创建分区
# fdisk /dev/xvdb
...
安装服务端
yum install -y uuid-devel libuuid libuuid-devel uuid boost-devel libevent libevent-devel gperf
wget https://launchpad.net/gearmand/1.2/1.1.12/+download/gearmand-1.1.12.tar.gz
tar xvf gearmand-1.1.12.tar.gz
cd gearmand-1.1.12
./configure --prefix=/usr/local/gearmand-1.1.12
make && ...
yum install automake autoconf make gcc gcc-c++ libtool zlib zlib-devel curl curl-devel alsa-lib alsa-lib-devel gettext gettext-devel expat expat-devel fribidi-devel
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH
git clone https://github.com/Arcen/faac.git
cd faac/
sh ./b ...
wget http://down1.chinaunix.net/distfiles/subversion-1.7.7.tar.bz2
wget http://archive.apache.org/dist/apr/apr-util-1.5.1.tar.gz
wget http://archive.apache.org/dist/apr/apr-1.4.6.tar.gz
wget http://www.sqlite.org/sqlite-amalgamation-3071401.zip
tar xvf apr-1.4.6.tar.gz
cd apr-1.4.6/
./co ...
#!/bin/bash
#安装php7
#安装所需类库
yum -y install libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel mysql pcre-devel openssl openssl-devel curl-devel libxslt-devel
wget https://downloads.php.net/~ab/php-7.0.0RC4.tar.gz
tar zxvf php-7.0.0RC4.tar.gz
cd php-7 ...