Browsing all articles tagged with 面向对象
14
7

我们来用面向对象的方式写程序吧..

Author Jessica     Category PHP     Tags

上次说了很多面向对象的思想..很多人也许思想是有了..但是无法落实到程序上..

为什么JSP不是面向对象的呢??因为我们知道..web编程这种特性注定了要面向过程的..

然而一些框架..还是完成了这个心愿..当今的一些框架都是利用网站统一入口来实现了所谓的面相对象的编程方式..无非就是判断哪个Action然后去执行这个Action中的方法而已..Punny也完成了这一点..

但是网站统一入口有他的好处..也会有他的弊病..

所以今天我们要完成的就是不利用网站统一入口来完成所谓的面相对象的编程..

其实实现也非常简单..无非也就是判断Action..指向方法而已..

我们需要做的就是做一个父类..所有的页面都需要继承自这个父类即可..

  1. <?php  
  2. /**  
  3.  * Action.class.php by Jessica  
  4.  *  
  5.  */ 
  6. class Action {  
  7.       
  8.     /**  
  9.      * 404 Action Not Found    
  10.      * You can rewrite it if you need!  
  11.      *  
  12.      */ 
  13.     public function notFound() {  
  14.         echo '404 Action Not Found!!';  
  15.     }  
  16.     /**  
  17.      * Start Action  
  18.      *   
  19.      * @access public  
  20.      *   
  21.      */ 
  22.     public final function run() {  
  23.         $do = $_GET['do'];  
  24.         $goto = emptyempty($do) ? 'doDefault' : 'do'.ucfirst(strtolower($do));  
  25.         /**  
  26.          * Must be "do" + Action;  
  27.          * The first letter MUST be upper case and others MUST be lower case!!!  
  28.          */ 
  29.         if (method_exists($this$goto)) {  
  30.             return $this->$goto();  
  31.         } else {  
  32.             return $this->notFound();  
  33.         }  
  34.     }  

我们需要做的.就是继承这个类好了..

PS:这次用了英文注释..顺便锻炼下英文..也许有些语法错误..Orz…

read more

28
12

谈面向对象的思维方式..

Author Jessica     Category 本站原创     Tags

这个标题有点大..我能说多少说多少..因为我也是个菜鸟..如果其中有些理解跟您有出入..还望指教..有争议才可以进步:)..

新手为什么总抱怨面向对象编程(以下简称OOP)难学??
新手为什么总无法深刻的理解OOP的思想??
能写出一个合格的类就代表你理解了OOP的思想了吗??
什么样才算真正的理解了OOP??
OOP难在什么地方??为什么我总是学不会??

相信很多人和我一样..在学习OOP的时候总会有上面那么多的问题..不过不要紧.我们今天就来探讨一下这些问题..

我个人认为..很多人都认为会写一个类就理解了OOP的思想了…这个思路是错误的..这就是为什么很多人虽然会写类了..但是写出来的类很“畸形”..究其根源..还是因为没有深刻的理解OOP的思维.

我建议大家..努力学习OOP基础..先不要去尝试写一个值得骄傲的类..你扪心自问..你虽然可以写出一个优秀的类.但是你理解了OOP了吗??

现在对于广大的PHPer来说..一个非常困难就在眼前..不光是我们这些菜鸟..就连一些著名的开源程序也一样..对于OOP非常不明确..

根据我的理解.我觉得大部分人写出”畸形”的类还是对OOP没有理解的非常深刻..那么好..今天我们大家就来探讨一些这个问题…

我们首先得知道.这个世界为什么会有OOP.为什么会出现OOP..一个事物从出现到发展.到今天的大红大紫..肯定有它无可替代的优越性..这种优越性经过这么多年的发展…很有必要普及到每个程序员..因为作为一名程序员.一定要有这样的思想..你的程序不是写给你自己的..你的程序是写给他人甚至后人看的..一段优美的代码也许一个程序员一生只能写出一段.但是这段代码也许会对以后发生惊人的意义..所以建议大家以后写代码.不要为了赶时间.不要为了着急实现某项功能..希望大家仔细锤炼代码..仔细思考..这对于你本人也是一种提高..

其次我们得理解为什么程序最初是面向过程的..也就是为什么会先有C而不是先有C++..好像这是个人类学的问题.或者说是一个哲学问题..人类思考问题是按照某一种过程的..这一个过程的结束也许可以发生一个质的改变..因为时间是这个空间不可缺少一个维度.所以他决定了事物都是按照一个过程发展进行的..所以从这个角度来说..面向对象于面向过程并不冲突的..其实面向对象是一种思维方式.而不是一种处理事务的过程..

为什么会出现面向对象呢??这个也得从人类的认知说起..因为人们逐渐发现了..这个世界是可以总结出来的..人们为了更好的判断事物.总是自觉或者不自觉的在给事物进行归类..这种归类的过程就是人们对面向对象的思维的一种认识.一种学习.一种进步..

人们会把水果放在一起储藏..再把肉类放在一起储藏..水果中又把容易变质的放在一起..这些不自觉的行为当被上升为理论的时候..这个强大的面相对象的就出现了..

一切皆对象.这句话果真不错..我目前还没有发现这个世界上不是”对象”的一种事物..你能找到吗??你理解这句话吗??噢对..貌似”时间”不是对象..那”时间”又是什么呢??这个需要跟霍金商量下吧..

read more

十一
30
5

教你真正理解面向对象和多态.

Author Jessica     Category 本站原创     Tags ,

以下的内容都是我自己总结的.我已经非常尽力把这些事说的非常简单易懂了.其中的东西都不是非常真实的.大部分都是笑谈.帮助大家更好的理解.不要钻牛角尖去研究我说的真实性.

当然这些都是我自己理解的.如果你觉得跟你想象的有些出入,我非常喜欢热烈的讨论.年轻人需要这种气氛.

好了废话不说了.下面开始介绍.

首先你得自己知道为什么会有面向对象的编程

我简单解释下:(这不是真正产生面向对象概念的原因.但是非常易懂)

很久很久以前.软件开始越做越大.代码也越写越多.每个人与每个公司的代码库都越来越大.

举个例子:

有个A公司.他们公司都喜欢把自己写的函数放在一个名字为function.php里的文件里.随着日月的积累.

这个文件变得越来越大.我们设想他们比较笨.不会再建立个新文件:)..

而且里面什么样的函数都有.有数组的.有字符串的.杂乱无章.不好管理.

这时候他们就停下来思考.如何解决这个棘手的问题.

于是爱因斯坦开始去探索宇宙大统一的理论.假定他发现了.大统一.顾名思义.什么东西的本质其实都是一样的.

然后这些人根据爱因斯坦的大统一理论发现了.其实软件设计跟我们的平时生活也是一样的.

read more

分类目录

最近文章

近期评论

文章归档

标签

.net AJAX button Comet CSS Discuz! DIV+CSS Flash Form Google HTML编辑器 IE8 Java JavaScript jQuery JSP md5 MySQLReback OAuth Oracle PHP php-fpm PNG Punny SkiyoTabs tab TagCloud Vista Web2.0 Windows7 上传 加密 图标 本站原创 模板 模板引擎 源码 登录 短网址 石家庄 算法 编译 面向对象 魔术方法

链接表