PHP学习笔记4-类/命名空间/成员方法/类方法
命名空间 namespace 类 class
创建文件Hello.php,namespace是jikexueyuan:
<?php /** * Created by PhpStorm. * User: Administrator * Date: 2015/6/28 * Time: 13:41 */ //命名空间 namespace jikexueyuan; class Hello { public function sayHello(){ echo 'Hello jikexueyuan<br/>'; } }
再创建文件Hello.php,namespace是jkxy:
<?php /** * Created by PhpStorm. * User: Administrator * Date: 2015/6/28 * Time: 13:44 */ //命名空间 namespace jkxy; class Hello { public function sayHello(){ echo 'Hello jkxy<br/>'; } }
创建文件index.php:
<?php /** * Created by PhpStorm. * User: Administrator * Date: 2015/6/28 * Time: 12:43 */ header("Content-type: text/html; charset=utf-8"); require_once 'jkxy/Hello.php';//require_once:调用一个文件 require_once 'jikexueyuan/Hello.php'; $h = new \jkxy\Hello();//创建类的实例 $h->sayHello();//通过实例访问内部功能 $d = new \jikexueyuan\Hello(); $d->sayHello();
用require_once调用文件jkxy/Hello.php和jikexueyuan/Hello.php,在通过实例化类访问类的内部功能
构造方法:会在创建类的实例的时候执行
创建文件Man.php
<?php /** * Created by PhpStorm. * User: Administrator * Date: 2015/6/28 * Time: 13:56 */ class Man { /** * @param int $age 年龄//传入参数的类型 * @param string $name 名字 */ public function __construct($age,$name){ // echo 'Construct a man'; $this->_age = $age;//通过this记录下来 $this->_name = $name; } } public function getAge(){//外界可以访问 return $this->_age; } public function getName(){ return $this->_name; } private $_age,$_name; }
在index.php中用下面方式使用:
require_once 'Man.php'; $m = new Man(20,"Vito");//会在创建类的实例的时候执行 echo $m->getName(); echo $m->getAge();
成员方法 举例:
public function getAge(){//成员方法 return $this->_age; }
静态方法/静态常量/静态变量 在Man.php中添加如下代码:
public static function say_Hello(){//静态方法:主要用来描述类属性 echo "Hello PHP"; } private static $NUM = 0;//静态变量 const MAX_MAN_NUM = 200;//静态常量
在index.php中执行静态方法:
Man::say_Hello();//执行静态方法
在Man.php中添加代码,在index.php中用到静态变量和静态常量:
Man::$NUM++;//每创建一次就自加 if(Man::$NUM>Man::MAX_MAN_NUM){ throw new Exception("不能创建更多"); }
在index.php中使用静态变量和静态常量
for($i=0;$i<Man::MAX_MAN_NUM;$i++){ new Man(10,"Vito"); }
PHP学习笔记4-类/命名空间/成员方法/类方法的更多相关文章
- python学习笔记4_类和更抽象
python学习笔记4_类和更抽象 一.对象 class 对象主要有三个特性,继承.封装.多态.python的核心. 1.多态.封装.继承 多态,就算不知道变量所引用的类型,还是可以操作对象,根据类型 ...
- Java学习笔记之---类和对象
Java学习笔记之---类和对象 (一)类 类是一个模板,它描述一类对象的行为和状态 例如:动物类是一个类,动物们都有属性:颜色,动物们都有行为:吃饭 public class Dog { Stri ...
- Java学习笔记——File类之文件管理和读写操作、下载图片
Java学习笔记——File类之文件管理和读写操作.下载图片 File类的总结: 1.文件和文件夹的创建 2.文件的读取 3.文件的写入 4.文件的复制(字符流.字节流.处理流) 5.以图片地址下载图 ...
- UML学习笔记:类图
UML学习笔记:类图 有些问题,不去解决,就永远都是问题! 类图 类图(Class Diagrame)是描述类.接口以及它们之间关系的图,用来显示系统中各个类的静态结构. 类图包含2种元素:类.接口, ...
- swift学习笔记3——类、结构体、枚举
之前学习swift时的个人笔记,根据github:the-swift-programming-language-in-chinese学习.总结,将重要的内容提取,加以理解后整理为学习笔记,方便以后查询 ...
- java学习笔记--常用类
一.Math类:针对数学运算进行操作的类 1.常用的方法 A:绝对值 public static int abs(int a) B:向上取整 public static double ceil( ...
- 学习笔记 Java类的封装、继承和多态 2014.7.10
1.问题:toString()没搞懂? int a = 1; Integer aa = new Integer(a); //这是实现的过程 System.out.println("Hello ...
- Java学习笔记-File类的基本方法
要渐渐养成写博客的习惯-----> 前段时间看Mars的java中的I/O流没怎么懂,发现I/O流好难啊.今天重新看一遍其他教学,还有书籍,做些笔记,记录下每天的学习生活. File类的一些方法 ...
- 学习笔记——Java类和对象
今天学习了Java的类和对象的相关知识,由于Java面向对象的编程的思想和C++几乎一样,所以需要更多的关注Java的一些不同之处. 1.类 1.1 在类这一块,除了基本的成员变量,成员方法,构造函数 ...
随机推荐
- 关于tomcat的clean
1 添加了一个web项目到tomcat,然后进行clean的时候,根目录实际上是在WebContent下,也就是说存放在WebContent目录下的所有文件在clean的时候才会被添加到tomcat对 ...
- Android 开发笔记 “Sqlite数据库删除”
1.代码方式 Context.deleteDatabase(String databaseName);//删除某一数据库 2.设置里面 进入应用程序 ,然后清除数据就ok了
- 关于block 用法
Block Apple 在C, Objective-C, C++加上Block這個延申用法.目前只有Mac 10.6 和iOS 4有支援.Block是由一堆可執行的程式組成,也可以稱做沒有名字的Fu ...
- WORD 无格式粘贴 2003 2007 MacOS2011
2003 打开Word窗口,依次点击“工具----宏----Visual Basic编辑器”,打开“Microsoft visual Basic”窗口,在左侧“工程”栏选中“Normal”工程,点击“ ...
- CSS3 模拟笑脸
参考 http://www.html5tricks.com/demo/html5-css3-smile-face/index.html 它还做了舌头... 一开始我都是用JS实现的动画 当然了 眼 ...
- 转:说说angularjs中的$parse和$eval
说说AngularJS中的$parse和$eval AngularJS的初学者常常会对$parse和$eval两个内建服务感到有些困惑,今天我们就来说说AngularJS中的$parse和$eval. ...
- Protel99 SE快捷键大全
为了方便观看我们的protel99 se视频教程的朋友,我们在这里发布了protel99 se的所有的键盘的快捷分健大全,希望大家在学习我们的视频教程的时候,可以熟悉以下这些快捷键,因为平时我们用pr ...
- Python单元测试:unittest使用简介
一.概述 本文介绍python的单元测试框架unittest,这是Python自带的标准模块unittest.unittest是基于java中的流行单元测试框架junit设计的,其功能强大且灵活,对于 ...
- 在OSX狮子(Lion)上安装MYSQL(Install MySQL on Mac OSX)
这篇文章简述了在Mac OSX狮子(Lion)上安装MySQL Community Server最新版本v10.6.7的过程. MySQL是最流行的开源数据库管理系统.首先,从MySQL的下载页面上下 ...
- 实现最小宽度的几种方法及CSS Expression[转]
实现最小宽度的几种方法及CSS Expression[转] 实现最小宽度的几种方法:css表达式尽量不用 支持FF IE7 IE6 .test { background:blue; min-widt ...