PHP面向对象——访问修饰符介绍
PHP中有三种访问修饰符,分别是:
public(公共的、默认)
protected(受保护的)
private(私有的)
它们可以分别用在类的属性和方法上(类的属性和方法统称为类的成员),用来修饰类成员的访问权限。
public(公共的、默认)
在PHP5中如果类没有指定成员的访问修饰符,默认就是public的访问权限。
/*
以下两个方法声明访问权限效果相同
*/
function say(){};
publilc function say(){};
当类的成员被声明为public的访问修饰符时,该成员能被外部代码访问和操作。
private(私有的)
被定义为private的成员,对于类内部所有成员都可见,没有访问限制。对类外部不允许访问。
protected(受保护的)
protected稍微有点复杂,被声明为protected的成员,只允许该类的子类进行访问。
访问权限情况表:
访问权限 |
public |
protected |
private |
所有 |
★ | ||
子类 |
★ |
★ | |
类内 |
★ |
★ |
★ |
相关推荐
-
PHP面向对象之旅:深入理解static变量与方法
static关键字声明一个属性或方法是和类相关的,而不是和类的某个特定的实例相关,因此,这类属性或方法也称为"类属性"或"类方法". 如果访问控制权限允许,可不必创建该类对象而直接使用类名加两个冒号"::"调用. static关键字可以用来修饰变量.方法. 不经过实例化,就可以直接访问类中static的属性和static的方法. static 的属性和方法,只能访问static的属性和方法,不能类访问非静态的属性和方法.因为静态属性和方法被创建时
-
php面向对象的方法重载两种版本比较
多个函数用同一个名字,但参数表,即参数的个数或(和)数据类型可以不同,调用的时候,虽然方法名字相同,但根据参数表可以自动调用对应的函数. PHP4 中仅仅实现了面向对象的部分的.简单的功能,而 PHP5 以后对对象的支持就强大的多了. 对于多态的实现,PHP4 只支持覆盖(override),而不支持重载(overload).但我们可以通过一些技巧来"模拟"重载的实现. PHP5 虽然可以支持覆盖和重载,但重载在具体实现上,和其他语言还有较大的差别. 1,在 PHP4 中"模
-
PHP 面向对象详解
对象的主要三个特性 对象的行为:可以对 对象施加那些操作,开灯,关灯就是行为. 对象的形态:当施加那些方法是对象如何响应,颜色,尺寸,外型. 对象的表示:对象的表示就相当于身份证,具体区分在相同的行为与状态下有什么不同. 面向对象模型 面向对象的概念: oop(面向对象的编程)它能是其代码更加简洁易于维护并且具有更强的可重性 什么是类: 类是具有相同属性和服务的一组对象的集合比如说人,书,轮船,车都属于类,他为属于该类的对象做了一个统一的抽象描述,在编程的语言中类是一个单独的程序,它应该有一个类
-
PHP面向对象三大特点学习(充分理解抽象、封装、继承、多态)
面象对向的三大特点:封装性.继承性.多态性 首先简单理解一下抽象:我们在前面定义一个类的时候,实际上就是把一类事物共有的属性和行为提取出来,形成一个物理模型(模版),这种研究问题的方法称为抽象一.封装性 封装就是把抽取出来的数据和对数据的操作封装在一起,数据被保护在内部,程序的其他部分只有被授权的操作(方法)才能对数据进行操作. php提供了三种访问控制修饰符 public 表示全局,本类内部,类外部,子类都可以访问 protected 表示受保护的,只有本类或子类可以访问 private 表示
-
php 面向对象的一个例子
复制代码 代码如下: <?php class person{ //下面是人的成员属性 var $name; //人的名字 var $sex; //人的性别 var $age; //人的年龄 //定义一个构造方法参数为姓名$name,性别$sex和年龄$age function __construct($name,$sex,$age){ //通过构造方法传进来的$name给成员属性$this->name赋初始值 $this->name=$name; //通过构造方法传进来的$sex给成员属
-
php学习笔记之面向对象编程
复制代码 代码如下: <?phpclass db { private $mysqli; //数据库连接 private $options; //SQL选项 private $tableName; //表名 public function __construct($tabName) { $this->tableName = $tabName; $this->db (); } private function d
-
php面向对象全攻略 (六)__set() __get() __isset() __unset()的用法
10.__set() __get() __isset() __unset()四个方法的应用 一般来说,总是把类的属性定义为private,这更符合现实的逻辑.但是,对属性的读取 和赋值操作是非常频繁的,因此在PHP5 中,预定义了两个函数"__get()"和"__set()"来获 取和赋值其属性,以及检查属性的"__isset()"和删除属性的方法"__unset()". 上一节中,我们为每个属性做了设置和获取的方法,在PHP
-
php面向对象中static静态属性和静态方法的调用
本文实例讲述了php中static静态属性和静态方法的调用.分享给大家供大家参考.具体如下: 这里分析了php面向对象中static静态属性和静态方法的调用.关于它们的调用(能不能调用,怎么样调用),需要弄明白了他们在内存中存放位置,这样就非常容易理解了.静态属性.方法(包括静态与非静态)在内存中,只有一个位置(而非静态属性,有多少实例化对象,就有多少个属性). 实例: <?php header("content-type:text/html;charset=utf-8"); c
-
PHP面向对象的使用教程 简单数据库连接
这个PHP的数据库连接类,应该算是最简单的一个连接类了,也是最好明白的一个连接类.作为开始PHP面向编程之旅的一个开始吧.我看了很多网上流传的MYSQL数据库连接类,都太复杂拉.以我己见,真的没必要搞得那么复杂,一个小小的数据库连接. 下面是我的写的类: <?php Class createdb //类的开始 { var $db= "localhost";//数据库地址; var $dbname = "root";//用户名; var $
-
PHP面向对象程序设计方法实例详解
本文实例分析了PHP面向对象程序设计方法.分享给大家供大家参考,具体如下: PHP5开始支持面向对象,示例如下: <?php class classname{ var $attr1; var $attr2; public $attribute; const PI = 3.14; // 构造函数 function __construct($param = 'default'){ echo "Constructor called with parameter $param<br /&g
随机推荐
- 如何实现正则表达式的JavaScript的代码高亮
- AJAX 动态获取当前时间(php)
- Web开发使用Angular实现用户密码强度判别的方法
- 最全面的vsftpd配置文件详解
- 详解从 0 开始使用 Docker 快速搭建 Hadoop 集群环境
- 计算机信息处理
- Android封装的http请求实用工具类
- Python中Django 后台自定义表单控件
- 解决火狐浏览器下JS setTimeout函数不兼容失效不执行的方法
- PHP实现通过中文字符比率来判断垃圾评论的方法
- php解析xml 的四种简单方法(附实例)
- 详解升级react-router 4 踩坑指南
- asp.net dataview做无限极分类的又一用法
- Ajax 说的比较清楚的一篇文章
- Linux下Nodejs安装步骤(完整详细)
- C#.NET采用HTML模板发送电子邮件完整实例
- java连接mysql数据库详细步骤解析
- Android View 完美实现EditText 在软键盘上边的示例
- C#中list用法实例
- 关于.net(C#)中的跨进程访问的问题