在设计模式里只提到了继承关系,其实继承关系与泛化关系的图上标示是一样的,很好奇为什么不说是泛化关系,所以在这里就写一些泛化和继承的对比。

一、百科里是这样解释的:
泛化关系是类元的一般描述和具体描述之间的关系,具体描述建立在一般描述的基础之上,并对其进行了扩展。具体描述与一般描述完全一致所有特性、成员和关系,并且包含补充的信息
泛化是可传递的,可以跨越任意层次。术语祖先(ancestor)和后代(descendant)指的是跨越多层的类的泛化。子类实例同时也是其所有祖先类的实例。对于每个祖先类的每个属性,实例都有一个值。
所以,泛化是父类进行扩展的一个过程。
父类 父类实例=new 子类();
class Animal{};
class Cat extends  Animal;
class Dog extends Animal;
Animal  pAnimal = new Dog();
二、继承:
当多个类出现部分相同的实例变量和方法时,就考虑用继承将多个类中相同的实例变量的方法提出来写成一个公共的父类. 没有父类的类称为根类,OC中的根类是NSObject(祖宗)。
所以继承是子类需要对父类获取,
//继承关系是泛化关系的反关系,也就是说子类是从父类继承的,而父类则是子类的泛化。

(表达有误, 感谢weixin_43734273 的指正, 更正  2020年1月7日15:24:13)

继承关系是泛化关系的反关系,也就是说子类是从父类继承的,子类是对父类的泛化。

其实都是讲的同一层关系, 但是是从不同的出发点, 一个是从父类往下看, 一个是从子类网上看.

总结:
看了很多的博客写继承与泛化是同一种关系,通过查阅资料的过程中也渐渐懂了,这两个很难解释开,如果想要更深入的了解可能需要进一步研究代码了,所以继承与泛化怎么称呼,需要具体的例子,不同对待。好了就写到这了。

转载的文章,忘记出处了,今天下午在东湖绿道那边等人的时候,看到这个文章,终于弄清楚了之间的关系.哈哈

更新类图的递归例子:

2019年6月28日14:33:15

window中文件和文件夹的关系

UML关系-继承和泛化的区别相关推荐

  1. 【UML关系(泛化、实现、依赖、关联(聚合,组合))】

    UML关系(泛化,实现,依赖,关联(聚合,组合))

  2. 设计模式-UML关系基础

    设计模式-UML关系基础 UML关系基础 类之间的关系 泛化 类在继承中表现为泛化和实现. 继承关系为is-a的关系,两个对象之间用is-a表示为继承关系. eg,自行车是车,猫是动物. 泛化关系用空 ...

  3. C++ 继承与组合的区别

    C++ 程序开发中,设计孤立的类比较容易,设计相互关联的类却比较难,这其中会涉及两个概念,一个是继承(Inheritance),一个是组合(Composition).因为二者有一定的相似性,往往令程序 ...

  4. IDEA查看Java类的UML关系图

    1.说明 通过IDEA自带的Diagarm功能, 可以方便的查看Java类的UML关系图, 同时能有选择的查看变量.方法和构造器等, 以及对查看对象的访问权限进行过滤, 可以自由编辑生成的关系图, 任 ...

  5. 图例解析四大UML关系图使用

    刚在网上看到关于UML方面,感觉不错.转过来给大家分享. 类之间的UML关系图软件开发 类间关系有很多种,在大的类别上可以分为两种:纵向关系.横向关系. 纵向关系就是继承关系,它的概念非常明确,也成为 ...

  6. 13.类的关系——继承关系

    13.类的关系--继承关系 1.继承关系 1.1 继承的概念 ·继承机制是面向对象程序设计不可缺少的关键概念,是实现代码可重用的根基,是提高软件系统的可拓展性与可维护性的主要途径. ·所谓继承是指一个 ...

  7. Java从入门到放弃09---多态/向上转型/向下转型/多态内存图/抽象类/关键字abstract不能和哪些关键字共存/接口/类与类,类与接口,接口与接口的关系/抽象类与接口的区别

    Java从入门到放弃09-多态/向上转型/向下转型/多态内存图/抽象类/关键字abstract不能和哪些关键字共存/接口/类与类,类与接口,接口与接口的关系/抽象类与接口的区别 01 多态 多态指的是 ...

  8. UML中类图与对象图的区别

    UML中类图与对象图的区别 类图 对象图 类具有3个分栏:名称.属性和操作 对象只有两个分栏:名称和属性 在类的名称分栏中只有类名 对象的名称形式为"对象名:类名",匿名对象的名称 ...

  9. Java中继承和实现的区别【单继承,多实现】

    继承:如果多个类的某个部分的功能相同,那么可以抽象出一个类出来,把他们相同的部分都放到父类中,让他们都继承这个类. 实现:如果多个类处理的目标都是一样的,但是处理的方法不同,那么就可以定义一个接口,让 ...

最新文章

  1. scikit-learn决策树算法类库使用小结及可视化方法
  2. 数学能有多美?这个动图看了完全停不下来...
  3. P2834-能力测验【数论,整除分块】
  4. c语言sort可以给字符排序吗,字符串排序 (C++代码)sort的第三个参数
  5. 计算机课程表教案,计算机专业课程表
  6. CentOS 下无线网卡的安装和使用
  7. 2022年湖北省中小企业公共服务平台认定指南(各地配套奖补政策及申报条件)
  8. wince同步软件区别
  9. ant批量处理word文件内容_让你效率翻倍的15个Word批量操作小技巧
  10. 程序员会不会英语的差别
  11. coursera和udacity_三大 mooc 网站:coursera 与 udacity 和 edx 比较,哪个更适合中国人你有何经验分享...
  12. 《英国金融科技国家报告》翻译与摘录
  13. Ubuntu 20.04/21.04 不能检测到外部HDMI显示器
  14. VUE+Nodejs 商城项目练习项目(前台购物)
  15. ZOJ 2975 Kinds of Fuwas(暴力)
  16. 北斗GPS同步时钟(授时系统)技术原理详解
  17. 【转】Ogitor中Gizmo的绘制技巧 - 战魂小筑 - C++博客
  18. LCA 最近公共祖先 详解
  19. 水货iPad 2价格骤降数千元
  20. java.sql.Date和java.sql.Timestamp转换

热门文章

  1. .js/.jsx/.ts/.tsx
  2. JavaWeb Servlet遇到的问题Artifact Servlet06:war exploded: Error during artifact deployment
  3. stata行业变量怎么赋值_邹军:怎么通过宏程序实现刀具寿命管理(二)
  4. 软件工程课程第一次作业-3120005403
  5. 使用VSTS的Git进行版本控制(六)——拉取请求
  6. 计算机的次要功能,FRM计算器丨2018年FRM考试应该怎样选择计算器?
  7. ubuntu安装vmware linux版vmware
  8. Python+Vue计算机毕业设计威客任务平台系统083ul(源码+程序+LW+部署)
  9. cobertura的使用
  10. android 双卡打电话,Android 6.0 双卡拨号