
——【 PHP Object Oriented】
烟敛寒林o
谋事在人,成事在天。
展开
-
PHP面向对象 —— 17 图解静态属性与静态方法
/* 在属性,和方法前 加static 修饰,这种称为静态属性/静态方法.静态属性静态属性存放在类空间中 1、类声明完毕,该属性就已存在,不需要依赖于对象而访问. 2、类在内存中只有一个,因此静态属性也只有一个. */class Human { static public $head = 1; public function changeHead() {...原创 2018-04-07 12:29:32 · 270 阅读 · 1 评论 -
PHP面向对象 —— 18 self_parent讲解
// ===笔记部分1===/* 总结self parent的用法self:自身 parent:父类在引入自身的静态属性/静态方法 以及父类的方法时,可以用到.用法: self::$static Property self::static Mothed parent::$static Property parent::Mothed */// ===代码部分1===class Huma原创 2018-04-16 23:42:02 · 293 阅读 · 0 评论 -
PHP面向对象 —— 19 单例模式
// 如何限制多人开发时只得到一个对象?// 单例模式常用也常考,注意练习/* 第一步:一个普通类放在这,就可以new 来实例化, 也可new多次 得到多个对象就不是单例了. *//* 第二步:那么如何不让类new呢?我们用构造方法 保护/私有化 外部就不能new了然而,不能new就得不到对象, 又不是单例了,是没例. */class single { protected f原创 2018-04-16 23:49:05 · 249 阅读 · 0 评论 -
PHP面向对象 —— 20 魔术方法__set__get__unset__isset讲解
// ===笔记部分1===/* 魔术方法: 是指某些情况下,会自动调用的方法.PHP面向对象中,有这些魔术方法: __construct() __destruct() __call() __callStatic() __get() __set() __isset() __unset() __sleep() __wakeup() __toString() ...原创 2018-04-16 23:56:55 · 290 阅读 · 0 评论 -
PHP面向对象 —— 21 __call__callStatic方法及项目应用
// === 代码部分__call === //class Human { public function hello() { echo 'hello<br >'; } private function t() { } public static function __callStatic($method,$arguments) {原创 2018-04-17 00:03:52 · 237 阅读 · 0 评论 -
PHP面向对象 —— 22 面向对象之重写与重载
// ===笔记部分1===/* 重写/覆盖 override 指:子类重写了父类的同名方法重载 overload 重载是指:存在多个同名方法,但参数类型/个数不同但是在PHP中,不允许存在多个同名方法, 因此无法实现java、c++中这种重载效果. */// ===代码部分1===class Human { public function say($name) {原创 2018-04-24 16:59:57 · 223 阅读 · 0 评论 -
PHP面向对象 —— 23 类常量魔术变量与延期绑定
// ===笔记部分1===/* 普通常量 define(‘常量名’,’常量值’); 以前说过: define定义的常量,全局有效. 无论是页面内,函数内,类内,都可以访问.专门在类内发挥作用 1、作用域在类内,类似于静态属性. 2、又是常量,则不可改.其实就是“不可改变的静态属性”类常量 在类内用 const 声明即可 前面不用加修饰符, 而且权限是public...原创 2018-04-24 17:04:07 · 227 阅读 · 0 评论 -
PHP面向对象 —— 24 抽象类
/* 抽象类的作用:当接口用,当模板用 实现多态,生来就是当爸爸的 */// ===代码部分1===// =用abstract写一个飞行器制造术= //abstract class FlyIdea { // 大力引擎 public abstract function engine(); // 平衡舵 public abstract funct...原创 2018-04-24 17:06:56 · 1590 阅读 · 0 评论 -
PHP面向对象 —— 25 延迟绑定复习
// ===代码部分1===// =延迟绑定= //class Animal { const age = 1; public static $leg = 4; public static function cry() { echo '呜呜<br >'; } public static function t1() {...原创 2018-04-24 17:09:09 · 199 阅读 · 0 评论 -
PHP面向对象 —— 26 接口
// ===笔记部分===/* 类:是某一类事物的抽象,是某类对象的蓝图.接口:事物或动物 功能的抽象 即把他们的功能各拆成小块 自由组合成新的物种. */// ===代码部分===interface animal { public function eat();}interface monkey { public function run();...原创 2018-04-24 17:14:06 · 223 阅读 · 0 评论 -
PHP面向对象 —— 27 接口语言与应用场景
// =接口的具体语法及特点= ///* 接口的具体语法: 1、以人类为class Human 是人的草图 而接口 是零件 可以用多种零件组合出一种新物种来.2、如上,接口本身即是抽象的, 内部声明的方法,默认也是抽象的. 不用加abstract3、一个类可以一次性实现多个接口. 语法用 implements 实现 class 类名 implements inter...原创 2018-04-26 07:36:33 · 380 阅读 · 0 评论 -
PHP面向对象 —— 28 类的自动加载
先写一个HumanModel.phpclass HumanModel { public function t() { echo '人类<br >'; }}// =引例= //require('./HumanModel.php');$lisi = new HumanModel();$lisi->t(); // 人类// =类的...原创 2018-04-26 07:44:18 · 263 阅读 · 0 评论 -
PHP面向对象 —— 1 面向对象的哲学
在学习面向对象前先来回顾下关于面向过程的例子:/* 面向过程从地址栏接收 gender性别参数 男/女模拟商城迎宾的行为: 如顾客为男:则招呼“先生好” 如顾客为女:则招呼“女士好” */$g = $_GET['gender'];if($g == '男') { echo '先生好';} else if ($g == '女') { echo '女士...原创 2018-03-30 22:00:38 · 261 阅读 · 0 评论 -
PHP面向对象 —— 2 类与对象的概念
面向对象–>关于数组编程class People { public $name = 'nobody'; public function cry() { echo '呱呱坠地'; }}$a = new People();print_r($a);echo $a->name,'<br />',$a->h...原创 2018-03-30 22:11:27 · 263 阅读 · 0 评论 -
PHP面向对象 —— 3 属性与方法的注意点
/* 1、关于属性值,可以声明属性并赋值,也可以声明属性先不赋值 如果不赋值,属性的初始值是null2、PHP中的类,属性必须是一个“直接的值” 是8种类型任意的“值”不能是:表达式 1+2的值 不能是:函数的返回值 time();*/class Human { public $age = 0;}$a = new Human();echo $a->...原创 2018-03-30 22:20:04 · 235 阅读 · 0 评论 -
PHP面向对象 —— 4 构造函数详解
// ===代码部分1===class Human { public $name = '李四'; public $gender = '男';}$a = new Human();$b = new Human();$c = new Human();echo $a->name,'<br >';echo $b->name,'<br &g...原创 2018-03-30 22:29:30 · 391 阅读 · 0 评论 -
PHP面向对象 —— 5 析构函数与回收机制
// ===笔记部分1===/* 疑问 1、把对象赋值为其他,比如true 会不会销毁对象? 答:可以2、110.php中代码部分4 为什么销毁一个,空2个 最后一个会出现在hr线下面?答:最后一个销毁,是因为php页面执行完毕了, 最后系统回收,$d此时才销毁, 因此 显示在hr线后面 */// ===代码部分1===class Human2 { ...原创 2018-03-30 22:39:24 · 323 阅读 · 0 评论 -
PHP面向对象 —— 6 this绑定
关于this的绑定class Human { public $name = 'lisi'; public function who() { echo $this->name; } /* public function test() { echo $name; } *//*和java、c++...原创 2018-03-30 22:46:05 · 223 阅读 · 0 评论 -
PHP面向对象 —— 7 封装概念
/* 面向对象三大特征: 封装 继承 多态 */// ===代码部分1===class Human { public $money = 1000;}$lisi = new Human();echo $lisi->money,'<br >'; //1000// 改变一下money$lisi->money = 500;echo $lis...原创 2018-03-30 23:20:38 · 235 阅读 · 0 评论 -
PHP面向对象 —— 8 privata权限控制
// private权限控制 // ===代码部分1===class Human { public $mood = ''; // 心情,公有 private $money = 1000; // 钱,私有 public function showMoney() { return $this->money; } privat...原创 2018-03-30 23:27:48 · 260 阅读 · 0 评论 -
PHP面向对象 —— 9 权限控制的bug
class Human { private $money = 1000; public function getMoney($people) { return $people->money; } public function setMoney($people) { $people->money -= 500; ...原创 2018-03-30 23:31:06 · 241 阅读 · 0 评论 -
PHP面向对象 —— 10 封装mysql类
/* 封装mysql目标: 连接数据库 发送查询 对于select型 返回查询数据 关闭mysql连接 *//* 思路:首先要连接,连接就要有参数.参数如何传? 1、可以用配置文件,网站大的肯定要有配置文件 2、通过构造函数传参建议用1,但目前写一个简单类即可. */ class Mysql { private $host; priva...原创 2018-03-30 23:33:56 · 406 阅读 · 0 评论 -
PHP面向对象 —— 11 继承概念
// ===笔记部分===/* 继承 语法:extends子类 extends 父类 {}注意:子类 只能继承自 一个父类 */// ===代码部分===class Human { private $height = 160; public function cry() { echo '5555<br >'; ...原创 2018-03-31 11:00:11 · 201 阅读 · 0 评论 -
PHP面向对象 —— 12 私有属性的继承
// ===代码部分1===class Human { private $wife = '小甜甜'; public function tell() { echo $this->wife,'<br >'; } public function cry() { echo '5555<br >'; ...原创 2018-04-01 22:40:29 · 611 阅读 · 0 评论 -
PHP面向对象 —— 13 公共及保护属性和方法的继承
// ===笔记部分1===/* 子类继承父类的属性/方法,可以修改或增加 */// ===代码部分1===class sixty { //public $wine = '1斤'; protected $wine = '1斤'; public function play() { echo '谈理想<br >'; }...原创 2018-03-31 11:04:25 · 321 阅读 · 0 评论 -
PHP面向对象 —— 14 构造函数的继承
// ===笔记部分1===/* // 构造方法的继承构造方法是可以继承的 其继承的原则和普通方法一样.进而,如果子类也声明构造函数,则父类的构造函数,就被覆盖. 如果父类构造函数被覆盖了,自然,只执行子类中新的构造函数. */// ===代码部分1===class Human { public function __construct() { ...原创 2018-03-31 11:08:09 · 238 阅读 · 0 评论 -
PHP面向对象 —— 15 public、protected、private三者权限控制详解
// 比较private、protected、public三者的区别/* private protected public 本类内 Y Y Y 子类内 N Y Y 外部 N N Y */class Human { ...原创 2018-03-31 11:20:26 · 300 阅读 · 0 评论 -
PHP面向对象 —— 16 精讲多态
class Light { // 开灯,传一个玻璃参数 public function ons(Glass $g) { // 用玻璃渲染颜色 $g->display(); }}class Glass { public function display() { }}class RedGlass e...原创 2018-04-07 12:17:45 · 303 阅读 · 1 评论