正在加载图片...
面向对象的方法并不限于创建模拟场景。不论你承认与否,任何程序都在 模拟你所设计的系统。用了OP技术,你就能很容易地将一大堆问题简 化成一个简单的解决方案。 旦创建了类,你就能创建任意多的那个类的对象,然后把它们当作待解 决的问题中的元素来进行操控。实际上,面向对象的编程的挑战之一就 是,如何在问题空间的元素与解决空间的对象之间建立一种一对一的映 射 但是怎样让那些对象来为你干活呢?必需要有办法向对象发请求,这样它 才能工作。比如完成一次交易,在屏幕上画些东西或者按一下开关之类 的。而且每个对象只能满足某些请求。你能向对象发送的请求是由其接口 ( interface)所定义的,而决定接口的则是对象的类型。可以用电灯泡来 作一个简单的例子 Type Name Interfa bri gh tend di mo Light lt new Light () 1t.on(); 接口只管你能向这个对象发什么请求。还必须要有能满足这一请求的代 码。而这些代码,以及隐藏着的数据,组成了实现(imp/ ementation) 从过程编程的角度来讲,事情没那么复杂。类中的方法都是与各种请求相 关联的,因此当你向这个对象提出请求的时候,就会调用这个方法。这个 过程通常被称为,你向一个对象“传了一个消息(提了个请求)”,而这个 对象会决定该如何处置这个消息(执行代码)。 这里,这个类型/类的名字是 Light,而这个具体的 Light对象的名字是 t。你向 Light对象提出的请求有开灯,关灯,让它更亮一点或是暗点。 通过定义 Light类型的“ reference”(It),和用new请求一个新对 象,你创建了一个 Light对象。发送消息的时候,你要用点号 (dot/ period)将对象的名字和那个消息连起来。如果编程的时候用到的都 是已有的类,那么这点知识已经够用了 上面的图表遵循了 Unified Modeling Language(UML)的格式。每个类 都由一个方框来表示,这个类的名字写在方框的顶部,中间是你要关心的 第5页共34页shhgs@wgqqh.com ￾ 5 ✁ ✂ 34 ✁ 5 ¶U¥V(µžXÈ)ŸœîJdXû¡KلL âhÆF œî¡D[1(w5ˆ, OOP °± ¡;ŠRSr3ÂM‡ˆ NŽ3× (£NµO 3ÔŸ,/ ¡;Ÿ ¹V(Y×/(¥V ;PA 1™£ N(‡ˆ*(ÛÜQtEÉÊñJ ¶U¥V(áâ(ÞPu3  ÄF‡ˆž4(Û܄£Nž4(¥Vu4Ÿ 3†3¥3(£ ¤ Õ¦ÇYÌ¥VQ™¡ÒåQÊoî%mRU¥Vì ¦A €;y18ÄŽ3¨S FSTJMÌ|šU3Æu/ (àkê×¥Vó;VW´Ì¡;U¥Vì9(ç§$X (interface)DO( àNO$X(0¥V(/ÝEˆQYZQ 13× (â7 Light lt = new Light(); lt.on(); $XóF¡;U ×¥VìZo›%m;VW 3(p €à Ìp€ EP .(, -Ž,ñí(implementation) ^âáâ(zQ© [œYZ‰Š/*(µÆ„Ú†> ¡( æò ¡U ×¥V‚!(M ºˆ ×µ × ^â·=ݙ ¡U3×¥VÍ ,3×(‚,×)Ï à × ¥VºNOwÄ¢6 ×(íEp€) Ë ×///(ÑK Li gh t à ×AT( Li gh t ¥V(ÑK lt¡U Li gh t ¥V‚!(mY Y ÇA\3C|]C ^O Li gh t /(Í referen ceÏ(lt) ˆ n ew 3×R¥ V ¡Ÿ,3× Li gh t ¥Vì9(M ¡%ˆCÍ (d ot/p eri od )¥V(ÑKY×^9QÄÅáâ(Mˆg(Æ ôm(/ YZ Côõ_ˆ, J¶(ËG`a, Unified Modeling Language(U M L)(è´ê×/ Æç3×µbQG ×/(ÑK«Fµb(c *4¡%q(
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有