• 关于

    继承问题

    的搜索结果

回答

1)第一个原因是围绕钻石:gem:形继承问题产生的歧义,考虑一个类A有foo()方法,然后B和C派生自A,并且有自己的foo()实现,现在D类使用多个继承派生自B和C,如果我们只引用foo(),编译器将无法决定它应该调用哪个foo()。这也称为Diamond问题,因为这个继承方案的结构类似于菱形,见下图: 即使我们删除钻石的顶部A类并允许多重继承,我们也将看到这个问题含糊性的一面。如果你把这个理由告诉面试官,他会问为什么C++可以支持多重继承而Java不行。嗯,在这种情况下,我会试着向他解释我下面给出的第二个原因,它不是因为技术难度,而是更多的可维护和更清晰的设计是驱动因素,虽然这只能由Java言语设计师确认,我们只是推测。维基百科链接有一些很好的解释,说明在使用多重继承时,由于钻石问题,不同的语言地址问题是如何产生的。 2)对我来说第二个也是更有说服力的理由是,多重继承确实使设计复杂化并在转换、构造函数链接等过程中产生问题。假设你需要多重继承的情况并不多,简单起见,明智的决定是省略它。此外,Java可以通过使用接口支持单继承来避免这种歧义。由于接口只有方法声明而且没有提供任何实现,因此只有一个特定方法的实现,因此不会有任何歧义。
珍宝珠 2020-02-07 16:34:22 0 浏览量 回答数 0

问题

Hibernate中,继承映射还是使用"type"字段区分

个人觉得hibernate的继承映射是很好的东西,但是看了不少项目都是使用的一个type字段来区分类型,而我们老师也是这样做的。从对象的设计来说,User和Admin可以是一类,使用继承映射恰恰合适。而使用type字段等,第一:不符合面向对...
云栖技术 2019-12-01 19:40:15 957 浏览量 回答数 1

问题

避免多重继承的设计模式

想象有一个游戏编程团队,一个设计师专注于数据,因此他创建了两个类: class EnemyProperties { public: int health; }; class OrcProp...
几许相思几点泪 2019-12-23 17:43:41 125 浏览量 回答数 1

问题

关于继承问题

子类继承GCompound没有问题,但是继承父类之后就出错 父类:子类:...
蛮大人123 2019-12-01 19:55:06 892 浏览量 回答数 1

问题

请教一个问题:某张表为父表,子表继承了父表,但是好几张子表继承了父表,如何在父表查询中找到具体的子表,我记得有个字段,但是忘记了

请教一个问题:某张表为父表,子表继承了父表,但是好几张子表继承了父表,如何在父表查询中找到具体的子表,我记得有个字段,但是忘记了本问题来自云栖社区【PostgreSQL技术进阶社群】。https://yq.aliyun.com/articl...
游客886 2019-12-01 19:40:48 236 浏览量 回答数 1

回答

多重继承有很多概念上的麻烦问题,典型的比如菱形问题,要避免这种问题,最简单的办法就是不使用多重继承。在java中使用组合的方式来代替多重继承。抽象类是为了存放公用的函数和变量,接口只有函数定义而没有实现,抽象类则可以有变量,有函数实现。
yu_hc200 2019-12-02 01:49:23 0 浏览量 回答数 0

问题

android开发继承ActionBarActivity的同时还能继承GeneralDigest吗

想把一段加密的函数放入android工程,发现最先开始的继承出错了,改掉了原来的问题解决但是出现新的问题。...
爵霸 2019-12-01 20:06:03 785 浏览量 回答数 1

回答

1、Java为了简化设计和开发,抛弃了多重继承类的理念,因为多重继承类型带来很多潜在问题,比如重名方法和变量问题。 2、Java提供了接口的多重继承支持
剑曼红尘 2020-05-09 21:12:16 0 浏览量 回答数 0

回答

1、Java为了简化设计和开发,抛弃了多重继承类的理念,因为多重继承类型带来很多潜在问题,比如重名方法和变量问题。 2、Java提供了接口的多重继承支持
黄二刀 2020-05-07 22:15:58 0 浏览量 回答数 0

回答

其实,没你说的那么复杂,这里就是一个优先级和继承的问题继承:如果父元素上设置了能用于继承的样式,而子元素上又没定义相同的样式,那么就会直接父元素的,比如像 font-size、background等;有些样式是不能继承的,比如border、padding等;优先级:如果针对同一个元素在样式表中设置了多个选择器操作它时,那么在优先级相同的情况下,最后设置的会覆盖掉前面所有的设置,而且元素本身设置的样式优先级也会高于继承的样式;说一下优先级的规则:id选择的优先级为 0 1 0 0class选择的优先级为 0 0 1 0ele 选择的优先级为 0 0 0 1继承的样式是没有优先级的这里我只是说了三个常见的优先级,更多优先级规则LZ可以去看看css权威指南(第二版);再回到你的问题当中table设置了背景色,那子元素td会直接继承过来,但是,又针对某一个td设置了一个class="red",跟据上面的优先级规则,其他td是没有优先级的,只是单纯的继承了table的样式,而class="red的这个td的优先级为 0010,固优先级最高,所以应用之;最后补充一句:优先级相加即使大于10也不会向前进一如:0 0 1 0 大于 0 0 0 15
a123456678 2019-12-02 02:22:20 0 浏览量 回答数 0

回答

我了解的 js 中实现继承的几种方式有: (1)第一种是以原型链的方式来实现继承,但是这种实现方式存在的缺点是,在包含有引用类型的数据时,会被所有的实例对象所共享,容易造成修改的混乱。还有就是在创建子类型的时候不能向超类型传递参数。 (2)第二种方式是使用借用构造函数的方式,这种方式是通过在子类型的函数中调用超类型的构造函数来实现的,这一种方法解决了不能向超类型传递参数的缺点,但是它存在的一个问题就是无法实现函数方法的复用,并且超类型原型定义的方法子类型也没有办法访问到。 (3)第三种方式是组合继承,组合继承是将原型链和借用构造函数组合起来使用的一种方式。通过借用构造函数的方式来实现类型的属性的继承,通过将子类型的原型设置为超类型的实例来实现方法的继承。这种方式解决了上面的两种模式单独使用时的问题,但是由于我们是以超类型的实例来作为子类型的原型,所以调用了两次超类的构造函数,造成了子类型的原型中多了很多不必要的属性。 (4)第四种方式是原型式继承,原型式继承的主要思路就是基于已有的对象来创建新的对象,实现的原理是,向函数中传入一个对象,然后返回一个以这个对象为原型的对象。这种继承的思路主要不是为了实现创造一种新的类型,只是对某个对象实现一种简单继承,ES5 中定义的 Object.create() 方法就是原型式继承的实现。缺点与原型链方式相同。 (5)第五种方式是寄生式继承,寄生式继承的思路是创建一个用于封装继承过程的函数,通过传入一个对象,然后复制一个对象的副本,然后对象进行扩展,最后返回这个对象。这个扩展的过程就可以理解是一种继承。这种继承的优点就是对一个简单对象实现继承,如果这个对象不是我们的自定义类型时。缺点是没有办法实现函数的复用。 (6)第六种方式是寄生式组合继承,组合继承的缺点就是使用超类型的实例做为子类型的原型,导致添加了不必要的原型属性。寄生式组合继承的方式是使用超类型的原型的副本来作为子类型的原型,这样就避免了创建不必要的属性。
剑曼红尘 2020-04-03 15:14:53 0 浏览量 回答数 0

回答

Java中内部类主要分为成员内部类、局部内部类(嵌套在方法和作用域内)、匿名内部类(没构造方法)、静态内部类(static修饰的类,不能使用任何外围类的非static成员变量和方法, 不依赖外围类) 使用内部类最吸引人的原因是:每个内部类都能独立地继承一个(接口的)实现,所以无论外围类是否已经继承了某个(接口的)实现,对于内部类都没有影响。 因为Java不支持多继承,支持实现多个接口。但有时候会存在一些使用接口很难解决的问题,这个时候我们可以利用内部类提供的、可以继承多个具体的或者抽象的类的能力来解决这些程序设计问题。可以这样说,接口只是解决了部分问题,而内部类使得多重继承的解决方案变得更加完整。
游客bnlxddh3fwntw 2020-04-10 13:20:38 0 浏览量 回答数 0

问题

关于HibernateDaoSupport的SessionFactory的注入的问题

我创建了一个空的类,利用Spring在这个空的类注入了SessionFactory并且继承了HibernateDaoSupport,然后我再写了一个BaseDao来继承这个已经继承了HibernateDaoSupport,也注入过sessi...
小旋风柴进 2019-12-01 20:05:20 881 浏览量 回答数 1

问题

使用父类(没有表)继承model,然后使用子类去继承父类,在启动时自动注册表出错? 400 报错

使用父类(没有表)继承model,然后使用子类去继承父类,在启动时自动注册表出错? 400 报错 @JFinal 你好,想跟你请教个问题:使用父...
优选2 2020-06-04 17:03:55 2 浏览量 回答数 1

问题

使用父类(没有表)继承model,然后使用子类去继承父类,在启动时自动注册表出错? 400 报错

使用父类(没有表)继承model,然后使用子类去继承父类,在启动时自动注册表出错? 400 报错 @JFinal 你好,想跟你请教个问题:使用父...
爱吃鱼的程序员 2020-05-29 16:50:12 0 浏览量 回答数 1

问题

使用父类(没有表)继承model,然后使用子类去继承父类,在启动时自动注册表出错? 400 报错

使用父类(没有表)继承model,然后使用子类去继承父类,在启动时自动注册表出错? 400 报错 @JFinal 你好,想跟你请教个问题:使用父...
爱吃鱼的程序员 2020-06-02 11:24:59 0 浏览量 回答数 1

回答

“实现接口必须在类的继承下”。这句话语意是有问题的。接口就是需要类去实现的,如果说继承的话,只有接口才能继承接口.
蛮大人123 2019-12-02 02:35:04 0 浏览量 回答数 0

回答

1、Java为了简化设计和开发,抛弃了多重继承类的理念,因为多重继承类型带来很多潜在问题,比如重名方法和变量问题。2、Java提供了接口的多重继承支持3、接口只是 包含声明,属于部分约束。4、abstract class抽象类,可以包含具体实现,也可以包含没有实现代码的抽象方法,允许后代实现,这个比接口更丰富一些。某些情况下父类可以提前实现一些具体的代码,也可以不实现留着子类实现。更加灵活
徐雷frank 2019-12-02 01:49:22 0 浏览量 回答数 0

问题

关于Android Studio创建新项目是遇到的一些问题

新建项目时关于MainActivity的继承问题,总是默认继承AppCompatActivity,如果强行自己改成Activity,又会出现Actionbar的使用问题,还有,layout布局文件content_main和activity_...
爵霸 2019-12-01 19:38:17 991 浏览量 回答数 1

问题

css中的“继承”

“继承”我打了引号,因为实在前端能力有限不知道这个该怎么描述,google了下出来的全是正常的继承,就是子元素覆盖父元素样式之类的。我的问题很简单,我有一个样式:.a { margin-left: 10px; color: re...
a123456678 2019-12-01 19:26:28 712 浏览量 回答数 2

回答

这种问题一般都是根据经验积累的吧,没看到有官方的文档,倒是从网上搜到一份,供参考。不可继承的:display、margin、border、padding、background、height、min-height、max-height、width、min-width、max-width、overflow、position、left、right、top、bottom、z-index、float、clear、table-layout、vertical-align、page-break-after、page-bread-before和unicode-bidi。所有元素可继承:visibility和cursor。内联元素可继承:letter-spacing、word-spacing、white-space、line-height、color、font、font-family、font-size、font-style、font-variant、font-weight、text-decoration、text-transform、direction。终端块状元素可继承:text-indent和text-align。列表元素可继承:list-style、list-style-type、list-style-position、list-style-image。表格元素可继承:border-collapse。
a123456678 2019-12-02 02:20:43 0 浏览量 回答数 0

问题

collection是接口,List,set为什么不实现collection,而要继承?#java

collection是接口,List,set为什么不实现collection,而要继承colletion呢?接口也可以被继承吗?接口也可以继承其他接口吗? ...
YDYK 2021-01-24 14:40:50 1 浏览量 回答数 1

问题

android 中 继承ViewGroup的问题。

我自己写了一个控件mylayout继承frameLayout.里头有一个imageView 和一个 textView .我新建一个Activity 在其Layout里头 addView(mylayout) ; 控件可以正常显示。但是我新建一...
爵霸 2019-12-01 20:06:09 735 浏览量 回答数 1

问题

关于android view的继承的问题

如何实现android的view的继承,是直接extend的吗?...
爵霸 2019-12-01 20:21:13 644 浏览量 回答数 2

问题

关于android view的继承的问题

如何实现android的view的继承,是直接extend的吗?...
爵霸 2019-12-01 20:20:27 645 浏览量 回答数 2

回答

Rewindows2008权限继承问题 先删除继承过来的用户权限,再重新设置新用户的权限。
好好的 2019-12-02 01:39:10 0 浏览量 回答数 0

问题

关于java中Dao模块接口问题

BaseDao.java public interface BaseDao {} BaseDaoImpl.java public abstract class BaseDaoImpl implements BaseDao {} UserSe...
蛮大人123 2019-12-01 19:36:03 952 浏览量 回答数 1

问题

关于java中Dao模块接口问题,请教一下原理

BaseDao.javapublic interface BaseDao {}BaseDaoImpl.javapublic abstract class BaseDaoImpl implements BaseDao {}UserServic...
51干警网 2019-12-01 19:41:01 1618 浏览量 回答数 1

回答

目前只能通过覆盖的方式清空样式这个问题应该在写css的时候考虑到后面的问题一般只有通用的样式,和结构固定的模块适合使用继承来应用css否则的话,不应该让样式随便继承,对于结构或表现差异很小的两个模块,也不适合用继承来实现好点的方式是:把同样的,不易变化的样式部分抽离出来,然后用组合的方式应用到不同模块。比如两个div <div class="a"></div> <div class="b"></div> 可以提取出共同的样式,放在一个声明下: .fixedAd {position:fixed;width:200px;height:200px;border:1px solid #ccc;} 然后对于不同的div编写自己的样式: .a {color:#ffc;background:#ccf;} .b {color:#777;background:#999;} 最后组合的html结构是: <div class="a fixedAd"></div> <div class="b fixedAd"></div> 总之是:组合优于继承 这个和编程的道理差不多,呵呵
a123456678 2019-12-02 02:19:48 0 浏览量 回答数 0

问题

java内部类继承的问题?报错

关于内部类的继承有些疑问想请教下大家: 1.eclipse上保存提示 No enclosing instance of type Outer is available due to some intermedi...
爱吃鱼的程序员 2020-06-10 11:05:35 0 浏览量 回答数 1

云产品推荐

上海奇点人才服务相关的云产品 小程序定制 上海微企信息技术相关的云产品 国内短信套餐包 ECS云服务器安全配置相关的云产品 开发者问答 阿里云建站 自然场景识别相关的云产品 万网 小程序开发制作 视频内容分析 视频集锦 代理记账服务 阿里云AIoT