PHP 面向对象:类的属性
2019独角兽企业重金招聘Python工程师标准>>>
在PHP5中,在属性定义可以不设置初值,或者赋予以下红色类型的初值。
PHP中简单类型有8种,分别是:
- 数值类型
- boolean 布尔类型
- integer 整型
- float 浮点型,也称为 double 双精度浮点型
- string 字符串
- 复合类型
- array 数组
- object 对象
- 特殊类型
- resource 资源
- 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 面向对象:类的属性相关推荐
- python面向对象类属性_python面向对象之类属性和类方法案例分析
本文实例讲述了python面向对象之类属性和类方法.分享给大家供大家参考,具体如下: 目标 类的结构 类属性和实例属性 类方法和静态方法 01. 类的结构 1.1 术语 -- 实例 使用面相对象开发, ...
- 基于MATLAB的面向对象编程(1)——类,属性,方法
这里写目录标题 1 入门 1.1 如何把面条抽象成Class 1.2 文件类 2 基于MATLAB的面向对象编程入门 2.1 如何定义一个类(Class) 2.2 创建一个对象 2.3 类的属性 2. ...
- matlab在振动信号处理中的应用_Matlab面向对象程序设计及其在地球物理学中的应用(4)——类的属性
参考资料 徐潇,李远. MATLAB面向对象编程--从入门到设计模式(第一版) 程序实现 Matlab 2019a 地球物理局 信息化处 地球物理局 基建处 数值计算科声明: # 欢迎批评指正,禁止转 ...
- java面向对象-------类属性和方法,不同类之间调用
package java面向对象; /** * 类的创建 */public class Stu { //l类属性 int age; int id; String name; Computer comp ...
- 1023day5:class类属性方法、每次执行类属性+1、内建模块、时间装饰器wrapper、面向对象__slots__方法:限制类的属性等基础知识、正则表达式基础知识、多态鸭子类型
文章目录 一.类class 1.Python类class 属性 方法 2.类的构造方法__init__() 3.每次执行一次类的属性+1 二.模块 1.内建模块 2.第三方模块 3.定义自己的模块 三 ...
- 面向对象(三、类私有属性和私有方法)
目录 私有属性和私有方法 01. 应用场景及定义方式 02. 伪私有属性和私有方法(科普) 继承 01. 单继承 1.1 继承的概念.语法和特点 1) 继承的语法 2) 专业术语 3) 继承的传递性 ...
- python中的类属性和类方法_Python 面向对象,类的属性和 类的方法
面向对象,类的属性和 类的方法 面向对象 类和对象 Python类定义 类属性 类方法 面向过程和面向对象 面向过程 和 面向对象 编程 面向过程 编程:函数式编程,C程序,shell等 面向对象 编 ...
- python的面向对象中属性和方法默认是-Python 面向对象,类的属性和 类的方法...
面向对象,类的属性和 类的方法 面向对象 类和对象 Python类定义 类属性 类方法 面向过程和面向对象 面向过程 和 面向对象 编程 面向过程 编程:函数式编程,C程序,shell等 面向对象 编 ...
- python 类静态属性_python面向对象之静态属性/静态方法/类方法/组合
继续学习,不要松懈 #!/usr/bin/env python # coding:utf-8 class Campus: def __init__(self,name,addr,type): self ...
- python面向对象开发(类的属性-精讲
视频地址:http://v.youku.com/v_show/id_XNDg3NjU1MjE2.html 1 #!/usr/bin/python 2 #coding:utf8 3 var4 = &qu ...
最新文章
- SOA与云计算相结合推动企业发展
- mysql常见报错解决办法
- html 怎么在画布上绘制一个圆,javascript – 如何在画布上画一个圆圈?
- 如何高效的将 DataReader 转成 ListT ?
- snownlp文本分词、情感分析、文本相似度与摘要生成
- 澎湖师傅共制巨型“米龟” 延续两岸“乞龟”祈福民俗
- -1交替c语言代码,排序(1)---------选择排序(C语言实现)(示例代码)
- StylesheetLanguage--如何使用Less--前端样式语言
- 【信号与系统|吴大正】1:信号与系统概述
- 有关EEPROM AT24C02字节写入和页写入
- 计算机加硬盘后速度变慢,Win10安装SSD固态硬盘后运行速度还很慢的解决方法
- python爬取网易云飙升榜数据
- 洗牌复原次数c语言公式,洗牌算法Fisher-Yates以及C语言随机数的产生
- 2019大数据未来七大发展方向
- 如何重装oracle数据库,oracle数据库的重装
- 计算机二级Ms-Office选择题汇总
- Win10 Chinese输入法修复/note
- 计算机怎么登录用户名和密码忘了怎么办,忘记了路由器的登录用户名与密码怎么办...
- 可用于电子书阅读器的开源阅读器软件项目
- TensorRT 推理时提示This container was built for NVIDIA Driver Release 470.42 or later 解决方法
热门文章
- 【7.6.3】基于每个具体类一张表的继承映射
- SVG.js 文本绘制整理
- 深入理解数据结构之链表
- jad 反编译java
- matlab在图像上画出来的矩形框如何变成可托动的_计算机基础系列:源代码如何被计算机执行...
- php7.1解压包安装,【Swoole】php7.1安装swoole扩展
- 简单几段python代码_如何用python跑一段鸿蒙最简单代码?
- android获取mysql数据_java – Android从mySql获取数据
- 工具类的方法怎么引用_Hutool中那些常用的工具类和方法
- Matlab中for循环中的循环变量在循环体中不能改变