php oop 魔术方法的应用

一、魔术方法时以两个下划线"__"开头、具有特殊作用的一些方法,可以看作PHP的“语法糖”。

      1、__set、__get是两个比较重要的魔术方法。其作用为:当给对象属性赋值取值时,即使这个属性不存在,也不会报错,会            自动执行__set、__get方法,一定程度上增强了程序的健壮性。下边有个好玩的用法,仅供欣赏:

//输出最终所有条件
class Learn1 {
    private $status;//status1,status2,status3,status4 分别代表4种筛选条件
    private $status1;//权重分别为1、2、4、8
    private $status2;
    private $status3;
    private $status4;
    public function index(){
        
    }
    public function __set ( $name , $value ) {
        $this->$name=$value;
    }
    public function __get ( $name ) { 
        if($name =='status' && $this->$name !='null'){
            $status=0;
            if($this->status1==1){
                $status +=1;
            }
            if($this->status2==1){
                $status +=2;
            }
            if($this->status3==1){
                $status +=4;
            }
            if($this->status4==1){
                $status +=8;
            }
            return $status;
        }else{
            return  $this->$name;
        }
    }
$test=new Learn1();
$test->status1=1;
$test->status2=1;
echo $test->status;//最终条件

 

        

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
该资源内项目源码是个人的课程设计、毕业设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! ## 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。 该资源内项目源码是个人的课程设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! ## 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。
编写即时战略游戏的关键在于合理应用面向对象编程(OOP)的方法。即时战略游戏(RTS)是一种需要处理各种游戏元素的复杂系统,例如玩家、单位、建筑、资源等。通过OOP的编程方式,可以优化游戏的设计和开发流程,提高代码的复用性和可维护性。 在Java中编写即时战略游戏,可以通过以下几个步骤: 1. 定义基本的游戏元素类:创建基本的类,例如玩家、单位、建筑和资源等。每个类应该有相关的属性和方法,如玩家类可以有玩家名称、得分和资源等属性,以及处理游戏流程(如攻击、建造等)的方法。 2. 创建游戏地图和场景类:设计游戏地图和场景,以便在其中放置游戏元素。可以创建一个地图类,用于维护游戏地图和提供一些基本的操作方法,如放置单位、移动单位等。 3. 实现游戏的交互逻辑:利用事件处理和输入输出机制,与玩家进行游戏交互。例如,当玩家点击某个单位时,可以调用相应的方法处理单位的相关操作。同时,也要考虑游戏的回合制或实时制等不同的交互方式。 4. 设计游戏的AI系统:可以创建一个AI类或者多个AI类,用于实现电脑玩家的行为。AI类需要根据游戏规则来进行决策,例如选择攻击目标、建造建筑等。 5. 进行游戏的调试和优化:在完成基本功能后,进行测试和调试,修复可能存在的bug,并根据实际游戏体验进行一些优化,以提供良好的游戏体验。 需要注意的是,以上步骤仅是一种按顺序的参考,具体的实现方式可能因游戏设计和需求而有所不同。编写即时战略游戏需要对面向对象编程有一定的理解和经验,同时也需要充分考虑游戏的可扩展性和可维护性,以便在后续的开发和更新过程中更容易进行扩展和修改。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值