【PHP篇】面向对象基础
1、声明:class 类名{
//成员属性(变量) 修饰符 $变量名=初值;
//成员方法(函数) 修饰符 function 函数名(){ 执行;}
}
2、生成类对象:$对象名=new 类名();//也可以不加括号
3、访问类成员:$对象名->成员名;//成员为成员属性时不加 $
4、类的内部访问: $this->成员名;//不可直接用成员名,this表示当前类,self表示类名
5、修饰符:private私有的,不可使用对象直接访问,只能本类内部访问
protected保护的,只能本类和本子类内部使用
public公有的,默认,类内外部均可用
final 最终的,修饰类时不可被继承,修饰的方法不可被覆盖,不修饰成员变量
static 静态的,共用类成员,访问时不可用对象访问,类名::静态成员
const 类常量,只能修饰类变量,声明赋初值,不可改值,访问:类名::类常量名
6、构造方法: function __construct(形参){执行;} //对象创建时第一个自动调用的方法
//也可为方法名和类名相同的方法; 两个同时存在时系统调用__construct()
//构造方法有形参时创建对象时不传递会有警告
7、析构方法:function __destruct(){执行;} //对象消亡时最后一个自动调用方法
8、变量名调用类变量,可变变量法:

9、魔术方法:
成员变量为私有的(private),使用 $对象名->成员变量名 时自动调用如下函数:
function __get($属性名){ }//属性名字,使用也是与可变变量相同;
function __set($属性名,$属性值){ }//在外设置私有变量时自动调用
function __isset($属性名){ return false…;}//在外使用isset函数判断私有变量时自动调用
function __unset($属性名){ }//在外使用unset函数删除私有变量时自动调用
function __toString(){return “输出值”}//必须返回字符串值,echo $对象名;时自动调用
function __call($函数名,$实参数组名){ }//对象所调用函数不存在时自动进入
static function __callstatic($函数名,$实参数组名){ }//5.3版本,类调用静态函数不存在时自动进入
function __invoke($形参){ };//5.3版本,在对象名(“实参”);时自动调用
10、魔术变量:
1) __CLASS__当前类名
2) __METHOD__当前类方法
11、克隆对象:
对象引用:$新对象名=$原对象名;//并为参数新对象,只是指针指向同一处
克隆:$新对象= clone $原对象;//正真的两个对象
自动调用函数:function __clone(){ $this->新对象成员;}//可初始化新对象
12、继承:class 子类名 extends 父类名{ }//访问时直接子类对象调用
private成员不可被子类内外使用,私有不继承
成员名相同则覆盖,子类优先,子类内部使用parent::成员名;调用父类成员
覆盖时权限只能大于或等于原权限
继承要调用父类构造方法:子类构造方法第一行写parent::__construct(实参);
13、判断变量是否属于某类:$对象名 instanceof 类名;//返回bool
14、类的序列化(串行):$序列化字符串名=serialize($原对象名);//对象转字符串,字符串包含所有
function __sleep(){return array(成员变量,成员变量);}//自动调用,返回需串行化变量
15、类的反序列化:$新对象名= unserialize (“序列化字符串”);//字符串转对象
function __wakeup(){}//自动调用,可初始化类变量
16、抽象类:修饰符为abstract,不一定要有抽象方法
17、抽象方法:声明一个方法没有方法体//没有大括号{ },修饰符为abstract,一定在抽象类里
18、抽象类的继承:子类必须全部实现父类的全部抽象方法,否则不可创建对象
19、接口:interface 接口名{ }//方法必须全是抽象方法,成员属性必须全是const量,权限必须是public
20、接口的继承:接口继承接口,是对父接口的扩展新方法和新属性
21、接口的实现:class类名 implements 接口1,接口2{ }
22、解析字符串代码:$字符串1="echo 'ttt';";eval($字符串1);//执行输出ttt
【PHP篇】面向对象基础的更多相关文章
- 【Python之路】第七篇--Python基础之面向对象及相关
面向对象基础 基础内容介绍详见一下两篇博文: 面向对象初级篇 面向对象进阶篇 其他相关 一.isinstance(obj, cls) 检查obj是否是类 cls 的对象 class Foo(objec ...
- 十六、python面向对象基础篇
面向对象基础: 在了解面向对象之前,先了解下变成范式: 编程范式是一类典型的编程风格,是一种方法学 编程范式决定了程序员对程序执行的看法 oop中,程序是一系列对象的相互作用 python支持多种编程 ...
- swift开发多线程篇 - 多线程基础
swift开发多线程篇 - 多线程基础 iOS 的三种多线程技术 (1)NSThread 使用NSThread对象建立一个线程非常方便 但是!要使用NSThread管理多个线程非常困难,不推荐使用 ...
- 【重走Android之路】【Java面向对象基础(三)】面向对象思想
[重走Android之路][基础篇(三)][Java面向对象基础]面向对象思想 1 面向对象的WWH 1.1 What--什么是面向对象 首先,要理解“对象”.在Thinkin ...
- 【重走Android之路】【Java面向对象基础(二)】细说String、StringBuffer和StringBuilder
[重走Android之路][基础篇(二)][Java面向对象基础]细说String.StringBuffer和StringBuilder 1.String String是Java中的一个final ...
- 【重走Android之路】【Java面向对象基础(一)】数据类型与运算符
[重走Android之路][基础篇(一)][Java面向对象基础]数据类型与运算符 1.数据类型介绍 在Java中,数据类型分为两种:基本数据类型和引用类型. 基本数据类型共8种,见下表: 基本数 ...
- 附录A培训实习生-面向对象基础方法重载(3)
就上一篇代码而言,你如果写Cat cat = new Cat();会直接报错错误 : 1 “Cat”方法没有采用“0”个参数的重载 E:\大话设计模式学习\BigDesignPattern ...
- 前端第三篇---前端基础之JavaScript
前端第三篇---前端基础之JavaScript 一.JavaScript概述 二.JavaScript的基础 三.词法分析 四.JavaScript的内置对象和方法 五.BOM对象 六.DOM对象 七 ...
- Membership三步曲之入门篇 - Membership基础示例
Membership 三步曲之入门篇 - Membership基础示例 Membership三步曲之入门篇 - Membership基础示例 Membership三步曲之进阶篇 - 深入剖析Pro ...
- 了解JavaScript 面向对象基础 & 原型与对象
面向对象语言中的对象 老是能听到什么基于对象, 面向对象. 什么是对象, 如果有面向对象基础的人可以无视了, 下面举个简单的例子给大家讲讲面向对象中, 对象的定义, 这个是比较通用的, 不过对于JS来 ...
随机推荐
- php实现下载模板与上传模板解析
<? //下载模板的请求 if(isset($_GET['action']) && $_GET['action'] =='down_group_excel'){ $code = ...
- 洛谷P1386座位安排
座位安排 今天,在机房里做了这道题目,我来整理一下思路. 首先读懂题意,这n个人是不需要按1到n来一次安排的,也就是说你可以先安排任意一个人. 那么有一种很好排除的情况,那就是对于大于等于i的作为的需 ...
- 通过PRINT过程制作报表
通过PRINT过程制作报表 PRINT过程是SAS中用于输出数据集内容的最简单常用的过程,它可将选择的观测和字段以简单的矩形表格形式输出. 1.1 制作简单报表 使用PRINT过程最简单的语法形式如下 ...
- nginx高级用法汇总
1,nginx限制IP访问,允许IP访问 1.1 模块:nginx_http_access_module 注意:检测顺序是按配置顺序进行的,匹配首条规则将会被使用,所以要注意在配置文件配置的顺序. a ...
- 在JAVA中对于类,对象,继承,多态的看法
这是我第一次学高级语言.很抱歉选择了JAVA,目标是开发一款可以上线的APP. 类:是建立对象的一个模板,就是系列产品中的基础款图纸.只是图纸而已.不是产品. 对象:是一个可以操作的对象.新建一个对象 ...
- Toggle组件切换开关,控制开关图片显示与隐藏
UGUI_Image 组件简单笔记 Rect Transform:用于控制 UI 物体的基本属性 Image 基本使用 1.Image 组件是用于显示图片资源的.使用方式有两种:1.显示纯粹的颜色:2 ...
- Linux下好用的屏幕录像软件kazam及截图软件shutter
都是apt直接安装即可使用. 其中kazam默认保存的文件格式是avi,非常大,通常录制几十秒就已经好几个G,导致录制过程太占用资源,会出现卡顿的现象. 在“首选项”中可以选择输出格式为mp4,文件就 ...
- C pointer again …
记录一个比较基础的东东…… C 语言的指针,一直让人又爱又恨,爱它的人觉得它既灵活又强大,恨它的人觉得它太过于灵活太过于强大以至于容易将人绕晕.最早接触 C 语言,还是在刚进入大学的时候,算起来有好些 ...
- 多个子域名前端网站调用同一个webAPI时session混用问题
session机制: 当程序需要为某个客户端的请求创建一个session的时候,服务器首先检查这个客户端的请求里是否已包含了一个session标识 - 称为session id,如果已包含一个sess ...
- charming_memory
Memory Master 一 .Forget遗忘 遗忘似乎是记忆的天敌,但是善用遗忘规律却能帮助我们更好的记忆. 复习的最佳时间是实际材料的1~24小时,最晚不超过2天,复习时间太长,就有一种生疏的 ...