扁平网站 文案,中铁建设集团公司门户,网站建设用途,马云做的国外的网站叫什么名字为什么80%的码农都做不了架构师#xff1f; 小菜#xff1a;“对了#xff0c;我时常在一些技术书中看到这些类图表示#xff0c;简单的还看得懂#xff0c;有些标记我很容易混淆。要不你给我讲讲吧。” 大鸟#xff1a;“这个其实多看多用就熟悉了。我给… 为什么80%的码农都做不了架构师 小菜“对了我时常在一些技术书中看到这些类图表示简单的还看得懂有些标记我很容易混淆。要不你给我讲讲吧。” 大鸟“这个其实多看多用就熟悉了。我给你举一个例子来看这样一幅图其中就包括了UML类图中的基本图示法。” UML类图图示样例 大鸟“首先你看那个‘动物’矩形框它就代表一个类Class。类图分三层第一层显示类的名称如果是抽象类则就用斜体显示。第二层是类的特性通常就是字段和属性。第三层是类的操作通常是方法或行为。注意前面的符号‘’表示public‘-’表示private‘#’表示protected。” 大鸟“然后注意左下角的‘飞翔’它表示一个接口图与类图的区别主要是顶端有interface显示。第一行是接口名称第二行是接口方法。接口还有另一种表示方法俗称棒棒糖表示法就是唐老鸭类实现了‘讲人话’的接口。” 小菜“为什么要是‘讲人话’” 大鸟“鸭子本来也有语言只不过只有唐老鸭是能讲人话的鸭子。” 小菜“有道理。” 大鸟“接下来就可讲类与类类与接口之间的关系了。你可首先注意动物、鸟、鸭、唐老鸭之间关系符号。” 小菜“明白了它们都是继承的关系继承关系用空心三角形实线来表示。” 大鸟“我举的几种鸟中大雁是最能飞的我让它实现了飞翔接口。实现接口用空心三角形虚线来表示。” 大鸟“你看企鹅和气候两个类企鹅是很特别的鸟会游不会飞。更重要的是它与气候有很大的关联。我们不去讨论为什么北极没有企鹅为什么它们要每年长途跋涉。总之企鹅需要‘知道’气候的变化需要‘了解’气候规律。当一个类‘知道’另一个类时可以用关联association。关联关系用实线箭头来表示。” 大鸟“我们再来看大雁与雁群这两个类大雁是群居动物每只大雁都是属于一个雁群一个雁群可以有多只大雁。所以它们之间就满足聚合Aggregation关系。聚合表示一种弱的‘拥有’关系体现的是A对象可以包含B对象但B对象不是A对象的一部分[DPE]DPE表示此句摘自《设计模式》第2版详细摘要说明见附录二。聚合关系用空心的菱形实线箭头来表示。” 大鸟“合成Composition也有翻译成‘组合’的是一种强的‘拥有’关系体现了严格的部分和整体的关系部分和整体的生命周期一样[DPE]。在这里鸟和其翅膀就是合成组合关系因为它们是部分和整体的关系并且翅膀和鸟的生命周期是相同的。合成关系用实心的菱形实线箭头来表示。另外你会注意到合成关系的连线两端还有一个数字‘1’和数字‘2’这被称为基数。表明这一端的类可以有几个实例很显然一个鸟应该有两只翅膀。如果一个类可能有无数个实例则就用‘n’来表示。关联关系、聚合关系也可以有基数的。” class Bird { private Wing wing; public Bird() { wing new Wing(); } } 大鸟“动物几大特征比如有新陈代谢能繁殖。而动物要有生命力需要氧气、水以及食物等。也就是说动物依赖于氧气和水。他们之间是依赖关系Dependency用虚线箭头来表示。” abstract class Animal { public Metabolism (Oxygen oxygen,Water water) { } } 小菜“啊看来UML类图也不算难呀。回想那天我面试题写的代码我终于明白我为什么写得不成功了原来一个小小的计算器也可以写出这么精彩的代码谢谢大鸟。” 大鸟“吼吼记住哦编程是一门技术更加是一门艺术不能只满足于写完代码运行结果正确就完事时常考虑如何让代码更加简练更加容易维护容易扩展和复用只有这样才可以真正得到提高。写出优雅的代码真的是一种很爽的事情。UML类图也不是一学就会的需要有一个慢慢熟练的过程。所谓学无止境其实这才是理解面向对象的开始呢。” 转载于:https://my.oschina.net/qihh/blog/57381