PHP&学习入门:面向对象 - 技术分享 - 五行资源分享网

PHP&学习入门:面向对象

作者: 五行

全网最全的网络资源分享网站

手机扫码查看

特别声明:文章多为网络转载,资源使用一般不提供任何帮助,特殊资源除外,如有侵权请联系!

分享本文至:

 

本博客记录学习笔记

在学习完算不上入门的 php 知识后,了解面向过程后便开始涉及面向对象;

先对比一下面向过程和面向对象的区别:

 

面向过程(功能拆分):

把所有的 function()都写在一个文件,每一个 function()都是独立的,并且在引入这个文件时,PHP 会计算所有的 function()函数体的所占内存

贴代码:

<? php
function A(){}

function B(){}

面向对象(功能设计):

 

引入这个包含所有的 class{} 文件后,在 new 对应的 class 类,才能调用内部的 function()自定义函

数。在引入这个文件,PHP 只会计算这个文件的大小,不会去计算内部的 function()函数的占用内存。

贴代码:

<? php
# 创建 class 类
class ABC {
    public function A() {echo '我是 A<br/>';}
    public function B() {echo '我是 B<br/>';}
}
# 使用方法
$obj = new ABC;
$obj->A();
$obj->B();

面向过程优点:

1、代码量少

2、上手简单

 

面向过程缺点:

1、代码耦合度高、所有功能基本都是考页面引入关联起来

2、解耦能力差

3、解耦依赖 function()自定义函数,内存开销巨大

4、项目难管理、代码难维护

 

面向对象优点:

1、程序逻辑清晰

2、代码耦合度低

3、解耦能力强

4、解耦使用 class{},代替页面分离,减少 function()所占用的函数体积内存开销

5、基于面向对象实现的单一入口程序,可以更好的管理项目,与维护旧代码

6、使用 class{}类定义的函数,可以有效的控制调用权限,让程序更加安全。

 

面向对象缺点:

1、代码量多

2、上手难度高

注意:

这里的"页面分离"其实不是说 MVC 里面的 Controller,

而是之前要把 function 分类起来,

只能用多个文件来分离(相关的 function 放同一文件)

在面向对象时用 Class 来分离(相关的 function 放同一 Class

 

使用场景:

面向过程主要核心为 function()
面向对象主要核心是 class{} function() 为辅

 

类的构造函数(又称前置操作方法)

固定的:__construct();自动调用(初始化和调用变量)

与类名相同:比如 class A 内部 function A()

类的析构函数(又称后置操作方法)

__destruct();(用于在 class 类操作完成后自动释放一些资源)

 

类的调用权限控制

公共权限

public(公有的类成员、方法可以在任何地方被访问调用,访问域:类内部、外部都可以。)

私有的

private(类的内部调用,只能父类调用,子类不可以)

受保护的

protected(类的内部调用,父类(类的本身)和子类都可以)

 

类的操作练习

根据攻击力计算血量

<? php

class Test {
    # 血量为 100 
    public $blood = 100;
    # 攻击力为 10
    public $Agg   = 10;

    # 计算并且输出
    public function output() {
        $this->blood = $this->blood - $this->Agg;
        echo '受到攻击,剩余血量'.$this->blood.'<br/>';
    }

 

输出结果

3873175877.png

 

今天的学习知识总结,转自一个 PHP 渣渣自学的笔记。

分享到:
打赏
未经允许不得转载:

作者: 五行, 转载或复制请以 超链接形式 并注明出处 五行资源分享网
原文地址: 《PHP&学习入门:面向对象》 发布于2019-8-17

评论

71 + 65 =
切换注册

登录

您也可以使用第三方帐号快捷登录

切换登录

注册

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

Sitemap