1、函数

    php内置函数可以直接使用,如果没有安装php扩展即可

    自定义函数

//函数function  函数名 

    function dump($var = null){    //支出默认参数值

        echo ‘<pre/>’;

         var_dump($var);

    }

2、类(class)和对象( new Obj)

<?php
//定义一个人的类,现在还不是对象 class Person
{
//私有属性
    private $eye = '大眼睛';
private $mouth = '小嘴巴';
private $leg = '大长腿'; //构造方法 new 对象的时候自定调用
public function __construct()
{
echo __CLASS__;
}
public function run()
{
echo $this->leg;
}
//学习 会用到 腿(走路)、眼睛(看书)、嘴(念书)
public function study()
{
echo $this->leg, $this->eye, $this->mouth; } } //使用类 new以后就变成了对象 $person = new Person(); //输出 Person
$person -> run(); //输出 大长腿
$person -> study(); //输出 大长腿 大眼睛 小嘴唇

3、类的封装(public, protected, private)和继承(extends)

//类的继承
class A
{
public function help()
{
echo __METHOD__;
}
//声明一个吃的方法 私有的
private function eat()
{
echo __METHOD__;
} } //子类可以继承父类所有的公共方法和属性、受保护的方法和属性,私有方法除外
//如果想使用,重写即可
class B extends A
{
public function doSomething()
{
$this -> help(); //继承了父类的方法 前提是声明为public
echo '<hr/>';
$this -> eat(); //因为吃是私有的,子类不能使用, 这里在子类中写了一个eat方法. }
//子类的吃
public function eat()
{
echo __METHOD__;
} }
$b = new B;
$b->doSomething();
//输出结果

A::help


B::eat

4、类的静态方法和静态属性

<?php

//定义一个Url 相关的类
class Url
{
public static function createUrl($arr = [])
{
echo __METHOD__;
}
public static function redirect($url = '')
{
echo __METHOD__;
}
public static function getCurrentUrl()
{
echo __METHOD__;
}
}
//把方法声明成静态方法,不需要每次都实例化(new)对象,操作方便,节省内存,效率更高
echo Url::createUrl($var='');
echo Url::redirect($url='');
echo Url::getCurrentUrl();

5、类的静态属性

<?php

//定义一个Url 相关的类
class Url
{
//声明为类常量
const URL = 'http://www.baidu.com'; //从5.3以后可以直接在类外部使用 const
//声明为静态变量
public static $var = 'it is very good';
public static function createUrl($arr = [])
{
echo self::URL;
echo '<br/>';
echo self::$var;
echo '<br/>';
echo __METHOD__;
}
public static function redirect($url = '')
{
echo __METHOD__;
}
public static function getCurrentUrl()
{
echo __METHOD__;
}
}
//把方法声明成静态方法,不需要每次都实例化(new)对象,操作方便,节省内存,效率更高
echo Url::createUrl($var='');

php函数、类和对象以及类的封装、继承、类的静态方法、静态属性的更多相关文章

  1. 类和对象的创建过程(元类,__new__,__init__,__call__)

    一. type() 1.创建类的两种方式 方式一 class MyClass(object): def func(self,name): print(name) myc = MyClass() pri ...

  2. 【Java学习】类、对象、实例—类是对象的抽象,对象是类的实例

    类.对象.实例的关系是什么,如果不能很好的理解什么是类什么是对象就无法讲清楚, 类:某种事物与另一种事物具有相似性,比如哈士奇和泰迪,我们发现他们有一些相似的特性和行为,在生物学上,他们都属于“狗”, ...

  3. 一.OC基础之:1,OC语言的前世今生 ,2,OC语言入门,3,OC语言与C的差异,4,面向对象,5,类和对象的抽象关系,6,类的代码创建,7,类的成员组成及访问

    1,OC语言的前世今生 , 一, 在20世纪80年代早期,布莱德.麦克(Brad Cox)设计了OC语言,它在C语言的基础上增加了一层,这意味着对C进行了扩展,从而创造出一门新的程序设计语言,支持对象 ...

  4. 适用于app.config与web.config的ConfigUtil读写工具类 基于MongoDb官方C#驱动封装MongoDbCsharpHelper类(CRUD类) 基于ASP.NET WEB API实现分布式数据访问中间层(提供对数据库的CRUD) C# 实现AOP 的几种常见方式

    适用于app.config与web.config的ConfigUtil读写工具类   之前文章:<两种读写配置文件的方案(app.config与web.config通用)>,现在重新整理一 ...

  5. 《Java从入门到失业》第四章:类和对象(4.6):类路径

    4.6类路径 4.6.1什么是类路径 前面我们讨论过包,知道字节码文件最终都会被放到和包名相匹配的树状结构子目录中.例如上一节的例子: 其实类还有一种存放方式,就是可以归档到一个jar文件中,jar文 ...

  6. 编写一个Shape类,具有属性:周长和面积; 定义其子类三角形和矩形,分别具有求周长的方法。 定义主类E,在其main方法中创建三角形和矩形类的对象, 并赋给Shape类的对象a、b,使用对象a、b来测试其特性。

    package shape; public class Shape { //定义成员变量 private double zhouchang; private double mianji; public ...

  7. 30.编写一个Shape类,具有属性:周长和面积; 定义其子类三角形和矩形,分别具有求周长的方法。 定义主类E,在其main方法中创建三角形和矩形类的对象, 并赋给Shape类的对象a、b,使用对象a、b来测试其特性。

    package zuoye8; public abstract class Shape { private double zhouchang ; private double mianji ; pub ...

  8. Python10/22--面向对象编程/类与对象/init函数

    类: 语法: class关键字 类名# 类名规范 大写开头 驼峰命名法class SHOldboyStudent: # 描述该类对象的特征 school = "上海Oldboy" ...

  9. Java编程里的类和对象

    像我们搞计算机这块的,都知道这么一件事,当前的计算机编程语言主要分为两大块,一为面向过程,二为面向对象.Java就是一门纯面向对象的语言.学习了一个月左右的Java,在下对于Java当中的类和对象有了 ...

  10. day24:面向对象设计与面向对象编程、类和对象

    一.三大编程范式: 面向过程: 面向函数: 面向对象: 二.程序的进化论: 1.编程最开始就是无组织无结构,从简单控制流中按步写指令 2.从上述的指令中提取重复的代码块或逻辑,组织到一起(比方说,你定 ...

随机推荐

  1. 三个重要的游标sp_cursoropen

    請問這三個存諸過程的作用是什么﹖ sp_cursoropen, sp_cursorfetch, sp_cursorclose API 服务器游标实现  SQL Server OLE DB 提供程序. ...

  2. windows下使用php重命名目录下的文件

    rename函数一直报错,最后发现是windows下文件名的编码问题,如果项目文件是utf-8的话,一定要经过一步转码 $dir = $path . '/../resource/logo'; $han ...

  3. C# 向批处理文件输入字符

    先记录个无关标题哒~ 刚刚学习用C#,在用VS进行图形界面编程时,点界面中添加的空间,VS界面右侧会出现该控件的属性页,但是这个属性页并不全, 只列出了部分重要的属性,一开始还以为是没有对应的属性方法 ...

  4. 一个人的旅行--hdu2066

    一个人的旅行 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Subm ...

  5. [bzoj 1001][Beijing2006]狼抓兔子 (最小割+对偶图+最短路)

    Description 现在小朋友们最喜欢的"喜羊羊与灰太狼",话说灰太狼抓羊不到,但抓兔子还是比较在行的, 而且现在的兔子还比较笨,它们只有两个窝,现在你做为狼王,面对下面这样一 ...

  6. Xcode把应用程序打包成ipa

    Xcode把应用程序打包成ipa 分类: App Store2012-11-20 15:47 11722人阅读 评论(0) 收藏 举报 Xcode教程 Xcode4发布测试 打包Archive操作是本 ...

  7. App Store审核指南中文版(2014.10.11更新)

    App Store审核指南中文版(2014.10.11更新) 2014-10-11 16:36 编辑: suiling 分类:AppStore研究 来源:CocoaChina  2 8657 App ...

  8. Powershell --在线学习

    介绍和安装 自定义控制台 快速编辑模式和标准模式 快捷键 管道和重定向 Powershell交互式 数学运算 执行外部命令 命令集 别名 通过函数扩展别名 执行文件和脚本 Powershell变量 定 ...

  9. 关于java.sql.SQLRecoverableException: Closed Connection异常的解决方案(转)

    在项目中碰到了一个应用异常,从表象来看应用僵死.查看Weblogic状态为Running,内存无溢出,但是出现多次线程堵塞.查看Weblogic日志,发现程序出现多次Time Out. 我们知道,We ...

  10. 解决kibana 4 关于响应时间的问题

    "message" => " 10.252.142.174 [12/Sep/2016:16:43:47 +0800] \"GET /resources/j ...