经过三个月的学习,很累很充实,今天jquery刚将完,感觉每天过的很快,对前面的学习内容做个总结。
一、面向过程的理解:一环套一环,从开始运用已知的数据利用函数等一系列手段把他变成自己想要的就好了
二、面向对象的理解:首先面向对象和面向对象并不是绝对的,想用哪个就用哪个,他们都是解决问题的方式。
第二:对学过的面向对象知识进行分类:
1,class 类名等等一些死机的东西想办法记住,抄也好,背也好,达到记住的目的就好
2,类内记住this这个关键字
3,访问静态方法比不是静态的方法快,所以static可以归类为更好的应用面向对象,如果是自己写的玩,就你自己访问,完全是没有必要用静态方法。
4,继承时,简洁代码,是不是可以这么理解,不管你怎么写,在程序运行时,都会加载一段代码,不继承时,加载的是俩个或俩个以上多余的代码,所以写完类后提取公因式就好了。
5,面向对象是相对于实例这个类的外部人来说的,在对象的内部他还是面向过程的,想象一下凯哥让你敲代码这个过程。凯哥就是那个外部的人,我们就是那个类,凯哥要的只是一个结果,我们却要用很多时间完成这个结果,你敲代码是不是一个过程化的东西。
<?php
class person{
//学员名字
private $name;
//写作业时用的电脑
private $computer='二手电脑';
//还得有电
private $dian;
//敲键盘的有手吧
private $hand = '有血有肉的手';
//凯哥布置的作业
private $code;
//凯哥要求完成作业的时限
private $limitTime;
//学生每小时能完成的最大作业量
private $maxCode;
//学生完成作业做用的时间
private $finishTime;
public function __construct($code=0,$limitTime=0,$name='',$dian='有电'){
$this->code = $code;
$this->limitTime = $limitTime;
$this->name = $name;
$this->dian = $dian;
}
/*
public function Codework(){
if($this->dian != '有电'){
return $this->name.'由于'.$this->dian.'没完成作业';
}
$shifou = $this->finish();
if( ! $shifou){
return $this->name.'没完成作业';
}
return $this->name.'完成作业';
}
*/
//供外部调用,凯哥只需要知道完没完成
public function Codework(){
if($this->dian == '有电'){
$shifou = $this->finish();
if($shifou){
return $this->name.'完成作业';
}else{
return $this->name.'没完成作业';
}
}else{
return $this->name.'由于'.$this->dian.'没完成作业';
}
}
//是否完成作业
private function finish(){
$this->maxCode = $this->work();
$this->finishTime = ceil($this->code / $this->maxCode);
if($this->finishTime < $this->limitTime){
return true;
}else{
return false;
}
}
//算出每小时写的代码量
private function work(){
$str = $this->name.'用二手电脑在有电的情况下用自己'.$this->hand.'经过大量实验得到';
$coding = 1000;
return $coding;
}
}
?>
假如凯哥布置100000行代码,1秒完成,悲催了,想象一下凯哥又被咱春姐实例化了,春姐知道是什么后果帅哥美女们,票子,money,没钱怎么办,卖身吧,呵呵,开个玩笑。
6,接口和抽象类更像是写文章以前的一个概述,没有具体的方法,只是个大概,可能接口的方法不好归类。。
这个不怎么理解,汗。。。。。
第三:看类的时候,先看public方法,它是串起整个类的一条线,其他方法就是为public方法服务的。类里面可以分为正确的路和错误的路,正确的路只有一条,Model类就是找到数据,或者说更新数据库成功,而错误的情况就有很多比如,上传类,人为造成的错误上传大小限制,文件格式限制,还包括运行时一些错误,你要做的就是把错误的路 都堵死,反正你错我就不让你过。再类的方法体内可以省略几个逻辑判断,多用几个return来结果这个方法吧,如果你的 赖,可以这么做,只要有错误,就return(return 以下的代码不会执行);正确的时候
return 正确的数据,永远记住正确的路只有一条,错误的路有千万条。
欢迎教导指正,纯属个人理解
三,javascript的理解:大体步骤是这样的,通过一些唯一(id等)的标识符找到一个唯一的元素或者通过通用标识符(class等)找到一批元素
在用户执行某个操作时,改变元素的属性或者说叫呈现形式,只要能动的东西,都是周期性执行的,只要是定时炸弹类的东西都是 定时执行的。
四、jQuery的理解: javascript的升级版,各种给力各种嗨,找元素方便,追加事件方便。
五。Ajax的理解:就把他想象成一个人在你面前变魔术好了,你看的是一个人,其实后面还有个PHP参与(把你的数据处理保存或者返回经过处理的数据),东西改变的莫名奇妙,是不是像魔术。
ajax做的工作就是带着数据找到文件,执行php代码,得到结果,然后将处理过的结果显示到页面中。
六、mvc 理解:有一个主入口文件,index,根据get传值的不同,实例化一个对应的类,这个类中自己有一个方法知道自己有哪些方法,调用这个方法时,这个方法会根据get的第二个参数来确定来调用自己哪个方法作为返回值,在类的方法里实例model类来为自己服务。
public 方法(){
1,根据请求,实例化对应的类得到数据
2,把得到的数据交给smarty|
| 包装数据,生成php和
| html混编格式,交给apache解析
|
| 给用户浏览
3,由于model类属于底层,所以只能实例化来和控制器联系,
同时由于这个类继承了smarty类,应该是通过类似$this->assign(),$this->display(),来调用smarty的方法和表现层建立联系这个不确定,瞎写的,嘿嘿....
}
七、smarty:把模板中的字符装入一个字符串,
把字符串中的占位符替换为PHP代码
赋值给一个新字符串,这个字符串是php和HTML都有的
新建一个文件,
把字符串写入文件中,
在把这个文件包含进代码中执行(include)
原理是这样的。不怎么熟,汗。
好吧,坐等被喷(附上自己写的几个小东西,纯php版象棋,phpAjax无刷新版象棋(车和跑的走法有bug),这个运行之前请把php配置文件里的register global 改为off ,要不session传值出问题
js版的贪吃蛇((开始前请用你的鼠标点击一下左边的大绿框,要不按键不管事)wasd 上下左右, 别按别的键,一按就玩不了,昨天找了半天错,我也不知到为啥,))
快做第二个项目了,做个总结,如果您解决了bug,告诉我一下,谢谢。本人能力有限,只能瞎写这么多,欢迎交流。
详细解决方案
对象与过程的理解以及小弟我写的俩个小游戏实例
热度:199 发布时间:2012-09-03 09:48:39.0
相关解决方案