PHP类中的七种语法说明
类中的七种语法说明
-属性
-静态属性
-方法
-静态方法
-类常量
-构造函数
-析构函数
<?php
class Student {
// 类里的属性、方法和函数的訪问权限有 (函数和方法是同一个概念)
// private 私有的 protected 受保护的 public 公有的
// 类常量 没有訪问权限修饰符
const STUDENT = 'Tom';
// 属性
public $stu_name;
// 静态属性
public static $stu_num = 1;
// 方法
public function stuFunction() {
echo 'non_static_function','<br />';
}
// 静态方法
public static function static_stuFunction() {
echo 'static_function','<br />';
}
// 构造函数 创建对象时自己主动调用
public function __construct($stu_name) {
$this->stu_name = $stu_name;
echo '__construct','<br />';
}
// 析构函数 销毁对象时自己主动调用
public function __destruct() {
echo '__destruct','<br />';
}
}
// 实例化类对象
$object = new Student('Tom');
// 对象调用属性
echo $object->stu_name,'<br />';
// 对象调用静态属性
echo $object::$stu_num,'<br />';
// 类调用静态属性
echo Student::$stu_num,'<br />';
// 使用对象分别调用方法和静态方法
$object->stuFunction();
$object->static_stuFunction();
$object::stuFunction();
$object::static_stuFunction();
// 使用类分别调用方法和静态方法
Student::stuFunction();
Student::static_stuFunction();
// 类调用类常量
echo Student::STUDENT,'<br />';
总结:
对象能够调用属性和静态属性,类仅仅能调用静态属性。
对象能够调用方法和静态方法,类能够调用方法和静态方法。
PHP类中的七种语法说明的更多相关文章
- 一个完整的PHP类包含的七种语法说明
类中的七种语法说明 -属性 -静态属性 -方法 -静态方法 -类常量 -构造函数 -析构函数 <?php class Student { // 类里的属性.方法和函数的访问权限有 (函数和方法是 ...
- 【转】python---方法解析顺序MRO(Method Resolution Order)<以及解决类中super方法>
[转]python---方法解析顺序MRO(Method Resolution Order)<以及解决类中super方法> MRO了解: 对于支持继承的编程语言来说,其方法(属性)可能定义 ...
- python---方法解析顺序MRO(Method Resolution Order)<以及解决类中super方法>
MRO了解: 对于支持继承的编程语言来说,其方法(属性)可能定义在当前类,也可能来自于基类,所以在方法调用时就需要对当前类和基类进行搜索以确定方法所在的位置.而搜索的顺序就是所谓的「方法解析顺序」(M ...
- 第6章 Java类中的方法
1.如何定义java的方法 什么是方法:方法使用来解决一类问题的代码集合,是一个功能模块在类中定义个方法的方法是: 访问修饰符 返回值类型 方法名(参数列表){ 方法体 } 1.访问修饰符,是限制该方 ...
- 【Java基础之Object类(一)】Java中Object类中的所有方法(toString、equals、hashCode、clone、finalize、wait和notify等)详解(转载)
java中的hashcode.equals和toString方法都是基类Object的方法. 首先说说toString方法,简单的总结了下API说明就是:返回该对象的字符串表示,信息应该是简明但易于读 ...
- MFC类中获得其它类指针
当用VC++的Application Wizard生成除了CDialog Basiced以外的应用程序时,将自动产生视图类.文档类.主帧窗口类.应用程序类等等.一般来说,程序的核心数据及操作在文档类中 ...
- java 中,new一个新对象时,是先给成员变量赋上初值后 再来调用类中的构造函数的。
今天学习时法现一个问题,我们定义了一个Test类,在主类中new了一个他的对象,发现:在新建对象中所有的成员变量是先给定了默认初值的:0,null或者false, 之后再调用的构造函数.(如果变量是由 ...
- [转]【MyBatis】Decimal映射到实体类出现科学计数法问题
原文地址:https://blog.csdn.net/harwey_it/article/details/80269388 问题: Mybatis查询Decimal字段映射到实体类后,出现科学计数法的 ...
- 【原】Order属性决定了不同切面类中通知执行的先后顺序
[障碍再现] MyBatis配置多数据源时,数据源切换失败. [原因分析] 自定义切面和Spring自带事务切面“即<aop:advisor>”执行的先后顺序导致数据源不能切换成功. ...
随机推荐
- iPhone App开发实战手册学习笔记(9)之设计IOS App的目标
1 前言 如果我们要做一个属于自己的App需要达到那些目标呢,今天就来介绍一下. 2 详述 2.1 关注用户及其需求 你的主要目标永远都是在设计方案之前先想好用户用例.有些开发人员喜欢编写用户故事来确 ...
- MFC-消息分派
前言 由于工作需要,这几天学了一点MFC,在AFX里看到很多熟悉的东西,如类型信息,序列化,窗口封装和消息分派.几乎每个界面库都必须提供这些基础服务,但提供的手法却千差万别.MFC大量地借用了宏,映射 ...
- Hibernate获取Connection
package com.trendcom.base.util; import java.sql.Connection; import java.sql.SQLException; import jav ...
- Unable to instantiate activity ComponentInfo或java.lang.ClassNotFoundException: com.ibright.herolegen
不知道怎么回事,在libs中添加了jar包后,无法给jar包附加上源码,于是采取以下措施: 删除自动生成的依赖: 在Android Dependences目录上右击->Build Path -& ...
- C++中的常对象和常对象成员
常对象 常对象必须在定义对象时就指定对象为常对象. 常对象中的数据成员为常变量且必须要有初始值,如 Time const t1(12,34,36); //定义t1为常对象 这样的话,在所有的场合中,对 ...
- 在VC++中启用内存泄露检测
检测内存泄漏的主要工具是调试器和 CRT 调试堆函数.若要启用调试堆函数,请在程序中包括以下语句: #define CRTDBG_MAP_ALLOC#include <stdlib.h># ...
- TStack,TQueue,TObjectList,TObjectStack等等
TStack,TQueue,TObjectList,TObjectStack等等,都在Contnrs.pas单元里,需要手动添加. 不同于TList类,TObjectList对象将销毁任何从列表中删除 ...
- struts2+jquery +json实现异步加载数据,亲测(原创)
//初始加载页面时 $(document).ready(function(){ //为获取单个值的按钮注册鼠标单击事件 $("#getMessage").click(functio ...
- php使用http请求头实现文件下载
众所周知php对http协议的依赖特别强,像java或者asp.net在某些情况下可以不依赖http例如asp.net的winform,对php来说文件下载可以使用http的请求头加上php的IO就可 ...
- HDU 4597 Play Game 2013 ACM-ICPC吉林通化全国邀请赛H题
九野的博客,转载请注明出处: http://blog.csdn.net/acmmmm/article/details/10833941 题意:给定T个测试数据,下面有2副牌,每副n张,每张都有一个分 ...