代码改变世界

叩开抽象的大门(2)——依赖于抽象

2011-06-27 10:48 by 威老, 1813 阅读, 2 推荐, 收藏, 编辑
摘要:依赖于抽象。这句话本身却很抽象,我也知道要依赖于抽象啊,但是什么叫依赖于抽象?如何做到依赖抽象?甚至于什么叫依赖?一、依赖,就是没有不能你。 如果没有了你,我就不能生存。。。这个类图表明我对你存在依赖,即,我要完成生存();需要调用你的爱();二、不再依赖你 如果我不依赖你,而依赖于抽象。那会发生什么情况呢? 就算没有了你,我还是能够正常生存(),只要爱我的人还在。三、妖兽,第三者出现了!!! 更恐怖的是,除了第三者,还可以有第四者甚至是第五者…… 尽管如此,我的生存力却大大地增强了。所以你知道了,这个世界上为什么有那么多花心的人。因为花心的人生存力强啊!!!因为我不依赖你了,所以有可能会出现 阅读全文

叩开抽象的大门(1)——抽象类、接口

2011-05-27 23:32 by 威老, 1827 阅读, 3 推荐, 收藏, 编辑
摘要:面向对象的世界里,抽象是一个非常重要的概念。这里我假定你已经知道什么是封装、继承、多态,却对什么什么是抽象还十分地迷茫。现在让我们一起来来叩开抽象的大门。抽象,就是抽出事物本质的东西。风铃中的刀声:抽象:抽取对象的共同特征egmkang:共同特征有:数据,行为一、认识它要理解面向对象里的抽象,首先需要知道两个概念:抽象类、接口。你肯定知道抽象类可以有属性、方法,抽象类里方法可以只是一个声明。也知道接口就是一组方法的声明。也知道抽象类和接口都不能直接 类名/接口名 实例 = new 类名/接口名(); 来实例化。举个例子来说明:蜂鸟的翅膀和翠鸟的翅膀都是鸟类的翅膀。翅膀组合成鸟。(在这里我们假设 阅读全文

重用,我要重用!!!

2011-04-27 15:47 by 威老, 2338 阅读, 3 推荐, 收藏, 编辑
摘要:完蛋了,面向对象成了习惯,做啥题目都来这套。。。很简单的问题,创建一个带头结点的循环链表。实现三个功能:创建循环链表,删除循环链表中数据值为3的倍数的节点,显示链表内容。给大家看看今天早上刚写的热乎的程序,其实就一个CircularLinkList类。CircularLinkList这个名称不大好,将就着用吧,暂时想不到。第一版:恩恩,要求干啥就干啥。这是第一反应,也是我交作业的作品。分别由三个方法来实现voidcreateCircularLinkList();voiddeleteCircularLinkList();voiddisplayCircularLinkList();/*Circul 阅读全文

更佳的封装之路--面向对象的封装思想

2011-04-11 13:39 by 威老, 3350 阅读, 4 推荐, 收藏, 编辑
摘要:因为最近用面向对象做迷宫,思考了许多问题。然后今天又看了系统分析的一些书,有了若干领悟,在此拿出来与诸位博友分享。关于封装的领悟:key 1。封装的目标:封装易变动的部分。(前人的经验总结)key 2。尽可能精确地定位变动。(威老的升华)封装的好处就是可以减少变动对整个系统带来的影响,并且可以有效地控制系统的复杂程度。PC机的封装就是一个很经典的例子,我们只需要知道电脑由CPU、内存、主板、硬盘……组成,而不是去探究PC是由什么或非门、全加器、乘法器……之类的东西组成。当我们的内存需要加大时,不需要拔掉原有的内存,只需要加上另一条内存即可,扩展的同时又不影响原有的内存。内存坏了,只需要拔掉它, 阅读全文

威老迷宫探险第二季--如何更面向对象

2011-04-09 14:11 by 威老, 1226 阅读, 1 推荐, 收藏, 编辑
摘要:这次,威老卷土重来,前往***。。等待他的将是什么样的危险呢? 去***的人,都再也没有回来过,相传在那里生活着一群吃人的Monster,它们每天都在四处游荡。任何访客一旦碰上Monster,就会立马被吃掉! OK,这就是我们这次的迷宫。 阅读全文

威老出国记,什么是引用,别名。

2011-04-07 11:58 by 威老, 739 阅读, 2 推荐, 收藏, 编辑
摘要:c++的初学者大多会对指针引用这一部分比较困惑, 想当年我一个下午看了7、80页的书并且全看懂了,结果看到指针部分,被指针这一神奇的概念给搞懵了。 我想,这部分是光看书是绝对要花上很长时间才能理解的。 于是我写了这篇,献给初学者们。 阅读全文

威老的迷宫探险

2011-04-07 10:02 by 威老, 568 阅读, 1 推荐, 收藏, 编辑
摘要:最近在学习面向对象的方法,强迫自己用面向对象的方法构建程序,于是便有了这个面向对象的迷宫。在设计这个迷宫的初期,一共想到了4对象:点(Point)、组成迷宫的格子(Square)、迷宫(Maze)、探险者(Exploer)。后来发现前两个类有点鸡肋了,删掉。剩下两个对象迷宫(Maze)、探险者(Exploer),这样写起来轻松些。代码量约有300行,总耗时7、8个小时的样子吧。好了,现在我们有两个类,开始设计。迷宫(Maze):首先,迷宫有许多个格子,每个格子不是墙壁就是可行走。我们约定'0'为可走,'1'为墙壁。为了方便,我定死了迷宫的最大长宽。(⊙o⊙)…别 阅读全文