类的基础定义和概念(扩展1)

php中文网
发布: 2016-06-20 12:25:35
原创
1146人浏览过

目录table of contents

关于构造方法

任何给定的参数都会被传递到构造方法

class ShopProduct{  function __construct($title,$firstName,$mainName){ // 构造参数的特殊语法__construct  }}$product1 = new ShopProduct('this is title','Peter','Peter Yuan'); //这里就是传入的参数,这里传入到类里面,也会直接传入到构造方法里面,参数按顺序排列
登录后复制

构造方法会在类被创建的时候自动执行

关于一些提醒

因为php是弱类型的语言,所以在变量声明的时候不需要指定数据类型,这样造就了方便,但是也带来了一点安全问题,所以需要增加一些措施1.必要时增加一些类型判断,例如is_bool()判断是否布尔值,返回true false

      function outputAddresses($resolve){        if(! is_boll ($resolve)){          XXXXXXXXXXXXXX        }      }
登录后复制

2.添加注释例如这种:

硅基智能
硅基智能

基于Web3.0的元宇宙,去中心化的互联网,高质量、沉浸式元宇宙直播平台,用数字化重新定义直播

硅基智能 62
查看详情 硅基智能
      /**       * Determine if the given abstract type has been bound.       *       * @param  string  $abstract   //宣布传入的参数类型       * @return bool  //宣布返回的值       */      public function bound($abstract)      {          $abstract = $this->normalize($abstract);          return isset($this->bindings[$abstract]) || isset($this->instances[$abstract]) || $this->isAlias($abstract);      }
登录后复制

在面向对象开发中,“专注特定任务,忽略外界上下文”是一个很重要的设计原则。(个人理解就是专项专做,特例特行,方法和类都只需要专注于自己的任务,这样能够很好避免出错。)

你需要在检测类型,转换类型,依赖娘蒿清晰的文档之间仔细权衡。(但无论决定用哪一种,都应该提供文档)

我们不能依靠编译器来防止类型相关的bug,必须考虑到当非法数据类型的参数传递给方法时,会产生怎样的后果,我们不能完全相信客户端程序员,应该始终考虑如何在方法中处理他们引入的无用的信息。

关于类型提示(type hint)

  1. 类型提示可以检测使用参数的类型
  2. 方法的定义更加清晰,更容易知道传入的参数类型
    没有类型提示的时候    class ShopProduct{    }    class ShopProductWriter{      public function write($shopProduct){      }    }    $product1 = new ShopProduct();    $writer = new ShopProductWriter();    $writer->write($product1);    有类型提示的时候      public function write( ShopProduct $shopProduct){  //指定了ShopProduct的对象才能传入,这个就是类型提示      }      ......      在使用的时候      $writer->write($product1); //这样直接传入的时候代码能够自动检测到,如果不是ShopProduct对象的话,会出现报错的
登录后复制
最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
热门推荐
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号