当前位置: 首页 > news >正文

潍坊网站制作策划/东莞有限公司seo

潍坊网站制作策划,东莞有限公司seo,html网页模板网站,基于营销导向的企业网站建设举例子首先要提供一些背景材料。我们有一辆小汽车,可以在一个拥有xy坐标的地图上按照东南西北方向任意的行驶,你可以设定小车行驶的方向和距离,小车会向你汇报它的坐标位置。 其实学习类应该和我们学习其它事物一样,从学习使用开始…

举例子首先要提供一些背景材料。我们有一辆小汽车,可以在一个拥有xy坐标的地图上按照东南西北方向任意的行驶,你可以设定小车行驶的方向和距离,小车会向你汇报它的坐标位置。

其实学习类应该和我们学习其它事物一样,从学习使用开始,然后再学习他的原理。所以我们先来熟悉一下如何正确驾驶这样的一个小汽车:

 

<?php
$startPoint
= & new Position(3,9);
//初始一个出发点坐标x=3,y=9

$myCar = & new Car(500,$startPoint);
//我得到一个新的小车,新车初始燃油 500 升,出发地点$startPoint。

$myCar->setHeading('s');
//给小车设定方向 s:南方 n:北方 w:西方 e:东方。

if($myCar->run(100))
//然后让小车跑100公里,如果顺利完成任务显示燃油量。如果半途而废,我们显示警报信息。
{
     print(
'<br><b>小车一切正常,目前还有燃油:'.$myCar->getGas().'</b>');
//获得燃油数
}
else
{
     print(
'<br><b>小车出问题了: '.$myCar->getWarning().'</b>');
//显示警报信息
}

$myPosition=$myCar->getPosition();
//获得小车当前的位置

print('<br>我的小车现在<br> X:'.$myPosition->getX().'Y:'.$myPosition->getY());
//显示小车的坐标位置
?>

先给自己制造一个小汽车,并且给他装备上一个定位对象 Position。 然后设定方向, 然后让小车奔跑。 最后检查并输出小车的方位。 复杂么?很难理解吗? 虽然这里我们用到了两个对象(类):CarPosition 但是我相信即使是初学者也不会觉得上面的代码很困难。

我们学会如何开车了以后,再来仔细看一看这个小车对象是怎样工作的。定义一个对象其实很简单只需要 用一个关键字class 和一对{}就可以了,所以我们这样定义这两个对象:

class Car {}class Position{}

当然,仅仅这样的两个类什么也做不了,我们还需要给他们增加一些功能,先从小汽车开始,我们需要能够给小车设定方向并且让小车奔跑所以我们增加两个方法,也就是2个函数只不过这两个函数包含在小车对象内只有通过小车对象才可以使用。

  • setHeading()
  • run()
class Car{ function setHeading($direction) { } function run($km) { }}

特别提示:设计一个良好的类的窍门是从如何使用它下手,也就是说先考虑这个对象应当有哪些方法,而不是先确定它有哪些属性。
为了更好的了解小车的状况我们还需要这些方法:

  • getGas() 获得小车当前的燃油数
  • getPosition() 获得小车当前的位置
  • getWarning() 警报信息

为了完成这些功能我们的小车还需要自己的油表,警报消息,和定位仪。我们把这些也添加到 Car 类中,同时我们还给这个类增加了一个初始化的函数 这个函数名字和类的名字一样,这样就有了一个大体的框架。

 

<?php
class
Car
{
    
/**
     * 小车的汽油量
     *
     *@var
     *@access
     */
    
var $gas
;

    
/**
     * 里程记录
     *
     *@var
     *@access
     */
    
var $meter
;

    
/**
     * 车的位置(由GPS自动控制)
     *
     *@var Object position
     *@access private
     */
    
var $position
;
    
    
/**
     * 发动机每1公里耗油量,这个车是0.1升
     *
     *@var Integer
     *@access private
     */
    
var $engine=0.1
;

    
/**
     * 警报信息
     *
     *@var
     *@access
     */
    
var $warning
;
    
    
/**
     小车的初始化。新车出场当然要
     1、加汽油。
     2、里程表归零。
     3、清除警报信息。
     4、设定出发位置。
     */
    
function Car($gas,&$position
)
     {
        
$this->gas= $gas;
//加汽油
        
$this->meter = 0
;
        
$this->warning ='';
//清除警报信息
        
$this->position = $position;
//设定出发位置
    
}
    
     function
getWarning()
//返回警报信息
    
{
         return
$this->warning
;
     }
    
     function
getGas()
//返回汽油表指数
    
{
         return
$this->gas
;
     }

     function &
getPosition
()
     {
         return
$this->position;
//返回当前小车的位置
    
}

     function
setHeading($direction='e'
)
     {
        
     }

    
/**
     * 开动小汽车
     *@access public
     *@param INT 公里数
     */
    
function run($km
)
     {
        
     }
    
}
?>

这时候最关键的两个方法 setHeading 和 run 就变得简单了,由于小车装备了 Position 对象 $this->position, 所以关于坐标定位的事情它也不用管了, 交给 Position 对象好了, 他自己只要管理好自己的油表,里程表就可以了。完成以后的 Car 类变成这个样子了:

 

<?php
class
Car
{
    
/**
     * 小车的汽油量
     *
     *@var
     *@access
     */
    
var $gas
;

    
/**
     * 里程记录
     *
     *@var
     *@access
     */
    
var $meter
;

    
/**
     * 车的位置(由GPS自动控制)
     *
     *@var Object position
     *@access private
     */
    
var $position
;
    
    
/**
     * 发动机每1公里耗油量,这个车是0.1升
     *
     *@var Integer
     *@access private
     */
    
var $engine=0.1
;

    
/**
     * 警报信息
     *
     *@var
     *@access
     */
    
var $warning
;
    
    
    
/**
     小车的初始化。新车出场当然要
     1、加满汽油。
     2、里程表归零。
     3、清除警报信息。
     4、设定出发位置。
     */
    
function Car($gas,&$position
)
     {
        
$this->gas= $gas;
//加满汽油
        
$this->meter = 0
;
        
$this->warning = tyle="color: #dd0000;">'';
//清除警报信息
        
$this->position = $position;
//设定初始位置
    
}

     function
getWarning()
//返回警报信息
    
{
         return
$this->warning
;
     }
    
     function
getGas()
//返回汽油表指数
    
{
         return
$this->gas
;
     }

     function &
getPosition
()
     {
         return
$this->position;
//返回当前小车的位置
    
}

     function
setHeading($direction='e'
)
     {
        
$this->position->setDirection($direction);
//因为使用了Position 对象,小汽车不需要自己来操心XY坐标值了,交给Position 对象吧。
    
}

    
/**
     * 开动小汽车
     *@access public
     *@param INT 公里数
     */
    
    
function run($km
)
     {
        
$goodRunFlag = true;
//是否成功完成任务。
        
$maxDistance = $this->gas/$this->engine;
//小车能够跑的最大距离。
        
        
if(($maxDistance)<$km
)
         {
            
$this->warning = '没有汽油了!';
//设定警告信息,能跑多远就跑多远吧。
            
$goodRunFlag = false;
//但是任务肯定完成不了。
        
}
         else
         {
            
$maxDistance=$km;
//没有问题,完成任务以后就可以停下来休息了。
        
}
        
$this->position->move($maxDistance);
//在坐标上移动由Position对象来完成,小汽车只要负责自己的油耗和公里表就可以了。
        
$this->gas -= $maxDistance*$this->engine;
//消耗汽油
        
$this->meter += $maxDistance;
//增加公里表计数
        
return $goodRunFlag
;
     }
}
?> 

讲到这里我想我的这篇文章也该结束了。别着急,我当然还记得 Position 类还没有完成,但是有了上面小汽车的例子 Position 应该就非常简单了, 如果你理解了这个小汽车的类, 现在就是你一展身手的时候了, 你来完成这个Position 对象吧, 我相信你能够完成它(其实这正是面向对象和封装的美妙之处)。你需要记住先从Position 的方法开始设计比如:

  • getX()
  • getY()
  • move()
  • setDirection()

所谓类就是指某一类的事物,它可以是具体的(Car)也可以是抽象的(Position),我们通过封装简化了使用和操作就像我们使用电视,手机一样一点都不复杂。

一篇好的入门教程应该

  1. 生动真实的例子。
  2. 不但提供了正确的概念,在变量和函数命名,函数封装和调用上也值的学习。
  3. 即便你熟悉了面向对象编程以后也不会认为当初的例子有什么不妥之处。
  4. 如果你读完教程动手的话一定能够深刻体会到教程的美妙之处,大大减少了走弯路的机会。
  5. 好的代码是可以被人像书一样读懂,你认为呢?

转载于:https://www.cnblogs.com/silvester/archive/2008/01/09/1694761.html

http://www.lbrq.cn/news/1094221.html

相关文章:

  • 南宁手机建站模板/公司企业网站建设方案
  • php做网站脑图/网站建设公司seo关键词
  • 小企业网站建设公司哪家好/企业网站seo诊断报告
  • 发电机出租技术支持 东莞网站建设/app推广是做什么的
  • 曲阳县做网站/域名查询备案
  • 欢迎访问中国建设银行网上银行网站/常见的网站推广方式有哪些
  • 试玩网站建设/免费搜索引擎入口
  • 如何自己办网站/网页搜索引擎
  • 旅游网站建设步骤/详细的营销推广方案
  • 新手如何做自己的网站/长沙百度网站优化
  • 上海网站建设高端定制网络服务公司/武汉网站seo推广
  • 天马网络 网站建设/电商网站卷烟订货流程
  • 2012r2做网站/南宁网站关键词推广
  • 汕头网站建设模板/google关键词分析
  • 怎么做网站营销/网站收录
  • 参考文献网站开发/济南网站推广优化
  • 什么网站做免费广告最有效果/线上培训机构
  • 网站建设文章/企业网站建设的步骤
  • 网站改版 权重/宁波seo网络推广咨询热线
  • 做网上水果网站的调查/百度推广怎么弄
  • 三网合一网站报价/网络营销产品
  • 我想找个郑州做网站的/网页模版
  • 江苏做网站的企业/aso优化公司
  • 移动 开发 网站建设/谷歌排名
  • 物流行业网站建设/网站恶意点击软件
  • 手机app定制/谷歌seo排名优化
  • 专门做悬疑推理小说的阅读网站/北京网站外包
  • 开发jsp网站/重庆人力资源和社会保障网
  • 附近招工招聘信息/seo交流网
  • 制作礼品袋图片/网络seo排名
  • LIMA:大语言模型对齐的“少即是多”革命——原理、实验与范式重构
  • day46day47 通道注意力
  • opencv学习(视频读取)
  • 网络基础DAY18-动态路由协议基础
  • Python笔记之跨文件实例化、跨文件调用、导入库
  • 使用 Ansys Fluent 软件参数化工作流程对搅拌罐中的稳态涡流进行仿真