2019独角兽企业重金招聘Python工程师标准>>>

在PHP5中,在属性定义可以不设置初值,或者赋予以下红色类型的初值。

PHP中简单类型有8种,分别是:

  • 数值类型

    1. boolean 布尔类型
    2. integer 整型
    3. float 浮点型,也称为 double 双精度浮点型
    4. string 字符串
  • 复合类型
    1. array 数组
    2. object 对象
  • 特殊类型
  1. resource 资源
  2. NULL
<?class A{      }class Person{private $name; //定义属性未赋值。private $name1 = NULL; //定义属性空值 ,与未赋值一样。private $married = true;  //用布尔型为属性赋值。  private $grade = 0; //用整形数值为属性赋值private $eyesight = 0.1; //用浮点型数字为属性赋值private $nationality = "China"; //用字符串为属性赋值private $arr = array("foo" => "bar", 12 => true); // 用数组为属性赋值//private $a = new A(); //PHP5不允许,创建对象类型赋值给属性//private $res = opendir("abc"); // PHP5不允许使用资源类型 //private $g = $this->grade; //不允许用前面定义的属性为新属性赋值。}$a = new Person();
?>

在上面例子中,第13行,尝试创建对象并将值赋予属性$a 会报错。

第14行,建立资源并复制给$res会出现错误。

第15行,使用上面定义的属性为新属性赋值也会产生错误。

在Java中,可以作13行和15行这样的操作。 PHP5中定义属性的默认值,被限制到最简单的方式。其它的操作,交给构造方法操作,后面内容中将讲解构造方法。

变量与引用变量

普通变量间的传值方法,就是值的赋值。比如数组。

<?$arr = array("foo" => "bar", 12 => true); $a = $arr;$arr[foo] = "new";print_r($arr);echo '<br />';print_r($a);
?>

程序输出:

Array ( [foo] => new [12] => 1 )
Array ( [foo] => bar [12] => 1 )

而指向对象的变量,是一个引用变量。在这个变量里面存储的是所指向对象的内存地址。引用变量传值时,传递的是这个对象的指向。而非复制这个对象。

属性的扩充

$this 指当前对象。

$this-> 调用当前对象的属性或者方法。

在类中使用$this-> 调用一个未定义的属性时,PHP5会自动创建一个属性供使用。

这个被创建的属性,默认的方法权限是public。

<?class A {public $name = "Gonn";public function __construct() {$this -> age = "24";}}$p = new A();echo $p->name;echo '<br />';echo $p->age;
?>

程序输出:

Gonn
24

属性 age 被创建了。

转载于:https://my.oschina.net/kisscucci/blog/14472

PHP 面向对象:类的属性相关推荐

  1. python面向对象类属性_python面向对象之类属性和类方法案例分析

    本文实例讲述了python面向对象之类属性和类方法.分享给大家供大家参考,具体如下: 目标 类的结构 类属性和实例属性 类方法和静态方法 01. 类的结构 1.1 术语 -- 实例 使用面相对象开发, ...

  2. 基于MATLAB的面向对象编程(1)——类,属性,方法

    这里写目录标题 1 入门 1.1 如何把面条抽象成Class 1.2 文件类 2 基于MATLAB的面向对象编程入门 2.1 如何定义一个类(Class) 2.2 创建一个对象 2.3 类的属性 2. ...

  3. matlab在振动信号处理中的应用_Matlab面向对象程序设计及其在地球物理学中的应用(4)——类的属性

    参考资料 徐潇,李远. MATLAB面向对象编程--从入门到设计模式(第一版) 程序实现 Matlab 2019a 地球物理局 信息化处 地球物理局 基建处 数值计算科声明: # 欢迎批评指正,禁止转 ...

  4. java面向对象-------类属性和方法,不同类之间调用

    package java面向对象; /** * 类的创建 */public class Stu { //l类属性 int age; int id; String name; Computer comp ...

  5. 1023day5:class类属性方法、每次执行类属性+1、内建模块、时间装饰器wrapper、面向对象__slots__方法:限制类的属性等基础知识、正则表达式基础知识、多态鸭子类型

    文章目录 一.类class 1.Python类class 属性 方法 2.类的构造方法__init__() 3.每次执行一次类的属性+1 二.模块 1.内建模块 2.第三方模块 3.定义自己的模块 三 ...

  6. 面向对象(三、类私有属性和私有方法)

    目录 私有属性和私有方法 01. 应用场景及定义方式 02. 伪私有属性和私有方法(科普) 继承 01. 单继承 1.1 继承的概念.语法和特点 1) 继承的语法 2) 专业术语 3) 继承的传递性 ...

  7. python中的类属性和类方法_Python 面向对象,类的属性和 类的方法

    面向对象,类的属性和 类的方法 面向对象 类和对象 Python类定义 类属性 类方法 面向过程和面向对象 面向过程 和 面向对象 编程 面向过程 编程:函数式编程,C程序,shell等 面向对象 编 ...

  8. python的面向对象中属性和方法默认是-Python 面向对象,类的属性和 类的方法...

    面向对象,类的属性和 类的方法 面向对象 类和对象 Python类定义 类属性 类方法 面向过程和面向对象 面向过程 和 面向对象 编程 面向过程 编程:函数式编程,C程序,shell等 面向对象 编 ...

  9. python 类静态属性_python面向对象之静态属性/静态方法/类方法/组合

    继续学习,不要松懈 #!/usr/bin/env python # coding:utf-8 class Campus: def __init__(self,name,addr,type): self ...

  10. python面向对象开发(类的属性-精讲

    视频地址:http://v.youku.com/v_show/id_XNDg3NjU1MjE2.html 1 #!/usr/bin/python 2 #coding:utf8 3 var4 = &qu ...

最新文章

  1. SOA与云计算相结合推动企业发展
  2. mysql常见报错解决办法
  3. html 怎么在画布上绘制一个圆,javascript – 如何在画布上画一个圆圈?
  4. 如何高效的将 DataReader 转成 ListT ?
  5. snownlp文本分词、情感分析、文本相似度与摘要生成
  6. 澎湖师傅共制巨型“米龟” 延续两岸“乞龟”祈福民俗
  7. -1交替c语言代码,排序(1)---------选择排序(C语言实现)(示例代码)
  8. StylesheetLanguage--如何使用Less--前端样式语言
  9. 【信号与系统|吴大正】1:信号与系统概述
  10. 有关EEPROM AT24C02字节写入和页写入
  11. 计算机加硬盘后速度变慢,Win10安装SSD固态硬盘后运行速度还很慢的解决方法
  12. python爬取网易云飙升榜数据
  13. 洗牌复原次数c语言公式,洗牌算法Fisher-Yates以及C语言随机数的产生
  14. 2019大数据未来七大发展方向
  15. 如何重装oracle数据库,oracle数据库的重装
  16. 计算机二级Ms-Office选择题汇总
  17. Win10 Chinese输入法修复/note
  18. 计算机怎么登录用户名和密码忘了怎么办,忘记了路由器的登录用户名与密码怎么办...
  19. 可用于电子书阅读器的开源阅读器软件项目
  20. TensorRT 推理时提示This container was built for NVIDIA Driver Release 470.42 or later 解决方法

热门文章

  1. 【7.6.3】基于每个具体类一张表的继承映射
  2. SVG.js 文本绘制整理
  3. 深入理解数据结构之链表
  4. jad 反编译java
  5. matlab在图像上画出来的矩形框如何变成可托动的_计算机基础系列:源代码如何被计算机执行...
  6. php7.1解压包安装,【Swoole】php7.1安装swoole扩展
  7. 简单几段python代码_如何用python跑一段鸿蒙最简单代码?
  8. android获取mysql数据_java – Android从mySql获取数据
  9. 工具类的方法怎么引用_Hutool中那些常用的工具类和方法
  10. Matlab中for循环中的循环变量在循环体中不能改变