- 博客(9)
- 资源 (9)
- 收藏
- 关注
原创 面向对象理论(9)-More Topics
让我们来谈一些关于面向对象理论的有趣的话题。正方形和矩形的故事正方形是一个特殊的矩形。 ----《几何》在面向对象理论的讨论中,有一个很令人不解的问题,就是为什么正方形不能从矩形派生?因为从几何数学的定义出发,正方形就是一个矩形,一个特殊的矩形。首先,我
2009-09-07 10:17:00
1234
4
原创 面向对象理论(8)-Granularity
对象的粒度粒度的变化对象关系的演化我们依然用Button作为例子来说明对象关系中粒度的变化。我们在ImageButton的OnDraw方法中加入了许多的代码,这些代码完成了一个按钮的绘制工作,可能要绘制按钮的3D边框,或者表明的渐变色,以及上面的文本,比如OK或者Cancel,此外还有一个Icon,这里我们就认定它为一个 Image。Code highlightin
2009-09-07 10:16:00
1053
5
原创 面向对象理论(7)-Interface Programming-[B]
面向接口编程(B)约束的理解是一个很辩证的问题,我觉得我们需要一个好的例子才能把这个事情论述清楚。我很喜欢鸟儿在天上飞这个例子,因为它和大自然紧紧的联系了起来。Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->class
2009-09-07 10:15:00
1444
1
原创 面向对象理论(6)-Interface Programming-[A]
面向接口编程(A)前面的章节对于本篇来说,只是基础和铺垫,而且讲的很简单,因为那些很容易理解。我们从这个章节开始,用大量的代码的配合,来阐述面向接口编程。接口的演化形式现在我们回顾一下继承相关的知识。我们现在给出一组新的继承体系。它们是和图形相关的,我们可以假设这样的一种需求,就是我们要实现一个画图板(例如Windows的画图板),至少要能在上面绘制几个圆形和矩形。于是,我
2009-09-07 10:14:00
851
1
原创 面向对象理论(5)-Polymorphism
多态多态是面向对象理论中至关重要的概念。它关注的是对象行为方面的问题,在派生关系中的对象的行为发生变化,这就是所谓的多态性。我们本节的代码基本用C++代码作为例子(因为我们有机会深入到虚表去论证一些重要的问题,尽管也许没有这个必要),而对于Java开发者或是C#的开发者来说,也都是可以理解和接受的。我们依然以Button作为例子:class Button{
2009-09-07 10:13:00
947
4
原创 面向对象理论(4)-Inheritance
继承继承是面向对象中扩展对象的一种方法。子类通过继承父类,以获得父类的属性和方法。我们通常称子类也为派生类,而称父类为基类。下面的代码中,Button类就是继承关系中的基类,ImageButton类派生自Button类,于是,Button就是ImageButton类的父类(基类)。ImageButton就是Button类的一个派生类。Code highlighting
2009-09-07 10:11:00
862
1
原创 面向对象理论(3)-Encapsulation
面向对象初步面向对象初步我们开始讲述和程序设计相关的面向对象理论,主要涉及到消息,封装,继承,多态等内容。消息其实我并不喜欢消息这个概念,因为当时我学习面向对象导论的时候,已经有过Windows编程的经验了,而面向对象的消息和Windows的消息机制并无关系。因为面向对象强调对象的行为和对象之间的相互作用,而这种行为是以消息体现出来的。当某一个对象收到消息的时
2009-09-07 10:08:00
944
1
原创 面向对象理论(2)-Object
什么是对象?万事万物皆对象。我以为这句话很精彩,因为它带有佛偈一样的色彩。于是,不同的人理解这句话,有着不同的看法。我们并不想在这句话本身做更多的讨论,那太“宗教哲学”了。你们看那天上的飞鸟,不稼不穑,我尚且养活它们,你们不比那飞鸟贵重得多吗?----《马太福音》我们在这里至少
2009-09-07 10:06:00
839
1
原创 面向对象理论(1)-Preview
Preview不久前,我在优快云的blog上写了几篇关于面向对象理论的小文章。http://blog.youkuaiyun.com/Slugfest/category/359453.aspx但是现在,我觉得还有更多的东西可以讲,就是已经写出来的东西,也还有必要再修改修改,目的就是把我对面向对象理论的认识比较系统地表达出来。也希望可以给一些开发者以启示作用。这章的小标题,我所以称其为P
2009-09-07 09:59:00
1100
2
Programming in Scala.PDF(en Ed1v6)
2009-09-15
缓冲区溢出教程(含ppt和全部源代码)
2007-08-27
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人