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 />‘;

总结:

对象可以调用属性和静态属性,类只能调用静态属性。

对象可以调用方法和静态方法,类可以调用方法和静态方法。

时间: 2024-11-02 23:40:47

PHP类中的七种语法说明的相关文章

一个完整的PHP类包含的七种语法说明

类中的七种语法说明 -属性 -静态属性 -方法 -静态方法 -类常量 -构造函数 -析构函数 <?php class Student { // 类里的属性.方法和函数的访问权限有 (函数和方法是同一个概念) // private 私有的 protected 受保护的 public 公有的 // 类常量 没有访问权限修饰符 const STUDENT = 'Tom'; // 属性 public $stu_name; // 静态属性 public static $stu_num = 1; // 方法

第14条:在公有类中使用访问 方法而非公有域

Class Point { public double x; public double y; } 如上面Point类的数据域是可以直接被访问的,这样的类没有提供封装.如果不改变API,就无法改变它的数据表示法(比如,使用一个比double更高精度的类来表示x和y),也无法强加任何约束条件(比如以后我们可能会希望x和y不会超过某个值). Class Point { private double x; private double y; public Point(double x, double

【原】Order属性决定了不同切面类中通知执行的先后顺序

[障碍再现] MyBatis配置多数据源时,数据源切换失败. [原因分析]    自定义切面和Spring自带事务切面“即<aop:advisor>”执行的先后顺序导致数据源不能切换成功. [解决方案]1.配置代码 1 <aop:config> 2 <!-- 1.Spring框架自身提供的切面 --> 3 <aop:advisor advice-ref="userTxAdvice" pointcut="execution(public

第6章 Java类中的方法

1.如何定义java的方法 什么是方法:方法使用来解决一类问题的代码集合,是一个功能模块在类中定义个方法的方法是: 访问修饰符 返回值类型 方法名(参数列表){ 方法体 } 1.访问修饰符,是限制该方法允许被访问的权限范围,可以是:public,protected,private还可以省略2.返回值,如果有返回值需要在这里说明类型,并用return返回,如果没有返回值,使用void3.方法名,使用标识符命名4.参数列表,传递给方法的参数列表 根据返回值和参数的不同,方法大致上分为一下四类:? 无

Yii CDbCriteria类中方法

$criteria = new CDbCriteria; //select $criteria->select = '*';//默认* $criteria->select = 'id,name';//指定的字段 $criteria->select = 't.*,t.id,t.name';//连接查询时,第一个表as t,所以用t.* $criteria->distinct = FALSE; //是否唯一查询 //join $criteria->join = 'left joi

Effective C++ 条款13/14 以对象管理资源 || 在资源管理类中小心拷贝行为

三.资源管理       资源就是一旦你使用了它,将来不用的时候必须归还系统.C++中最常用的资源就是动态内存分配.其实,资源还有 文件描述符.互斥器.图形界面中的字形.画刷.数据库连接.socket等. 1.        以对象管理资源       void f() {     investment *plv = createInvestment();     //这里存在很多不定因素,可能造成下面语句无法执行,这就存在资源泄露的可能.     delete plv; }      这里我们

[转]【MyBatis】Decimal映射到实体类出现科学计数法问题

原文地址:https://blog.csdn.net/harwey_it/article/details/80269388 问题: Mybatis查询Decimal字段映射到实体类后,出现科学计数法的问题,由于字段数位过长. 解决方法: 在实体类中加入新字段totalStr,查询用concat(total, '') as totalStr,映射到totalStr中,将字符串的形式映射 原文地址:https://www.cnblogs.com/dirgo/p/9929192.html

类语法规则与类中的函数

类语法 1.关键字class 2.class 类名 类名中不要写括号 3.类名规范:字母.数字.下划线组成,不能以数字开头:驼峰命名法,每个单词首字母大写 4.类属性:放在类中的变量值 调用属性:实例.属性名 5.类方法:类中的函数 调用方法:实例.方法名()---针对实例方法 类属性和类方法都不是类中必须的结构,但是一般都会有,这是类存在的意义 6.类里面的方法分3种: 1)实例方法:这个方法只能实例来调用 必须带有self参数; 括号里的self指的是实例本身,调用该函数时会自动传入实例;

静态修饰符static,类中的常量定义修饰符

static可以用来区分成员变量.方法是属于类本身还是属于类实例化后的对象.有static修饰的成员属于类本身,没有static修饰的成员属于类的实例. 静态变量仅在局部函数域中存在,但当程序执行离开此作用域时,其值并不丢失static是一个修饰符,用于修饰成员(成员变量和成员函数)静态成员随着类的加载而加载.静态成员优先于对象存在.静态成员被所有对象所共享静态成员多了一个中调用方式,可以被类名直接调用.静态的优缺点优点: 静态成员多了一种调用方式.可以直接被类名调用 格式 :类名.静态成员.也