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/>';
    }

 

输出结果

PHP&学习入门:面向对象-五行资源分享网-第1张图片

 

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

本文最后更新于2019-8-17,已超过 1 年没有更新,如果文章内容或图片资源失效,请留言反馈,我们会及时处理,谢谢!
分享到:
打赏
未经允许不得转载:

作者: 五行, 转载或复制请以 超链接形式 并注明出处 五行资源分享网
原文地址: 《PHP&学习入门:面向对象》 发布于2019-8-18 00:13
帖子声明: 本站对文章进行整理、排版、编辑,是出于传递信息之目的, 并不意味着赞同其观点或证实其内容的真实性,不拥有所有权,不承担相关法律责任。

评论

在线链接输入图片 打卡按钮图片 私密评论按钮图片 24 + 88 =
乱评论、多次评论者一律禁言帐号或封禁IP
本站已经全面开启缓存,评论查看隐藏内容需等待1分钟后再刷新本页!

 

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

微信扫一扫打赏

打赏图片