- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的公司软件面临一个令人沮丧的问题,但我无法找到解决方法。 (这是既定的东西,我无法改变整个概念)
我将尝试通过一个示例向您提供整个背景:基本上,我们有 2 个软件组件,比如说 BrickHigh、BrickLow。 BrickLow 可以使用 BrickHigh 中的所有内容,但 BrickHigh 看不到 Bricklow。
在 BrickHigh 中有一个 Animal 类(数十个属性)及其 DAO:
public class Animal .. {
//attributes...
}
在 BrickLow 中,我创建了一个扩展 Animal 的 Cat 类(还有数十个未映射的属性)。
public class Cat extends Animal {
//attributes
}
我们的目的是为每个映射的属性创建一个父类(super class)(Animal)。但我不能在我的应用程序中使用我的动物类,因为由于整个应用程序都使用 Cat,因此需要进行太多更改。
但显然,从 DAO 获取 Animal 后,我无法将其转换为 Cat,因为 Java 不允许这样做,而且我需要来自 Animal 的所有信息。
由于我的 BrickHigh 看不到我的 BrickLow,因此不存在诸如 Animal Animal = new Cat(); 之类的东西。有可能。
我的第一个想法是在 Cat 中创建一个构造函数,它将 Animal 作为参数
public Cat(Animal a) {
super(a);
}
但是我的 Animal 类中必须有什么构造函数?好像不行。
最佳答案
But what my constructor must be in my Animal class? It doesn't seem to work.
类似这样的事情:
public Animal(Animal other) {
this.field1 = other.field1;
this.field2 = other.field2;
// etc
}
但是,我认为使用对象工厂模式可能会更好;即让您的 DAO 类采用一个参数,该参数是一个可以创建 Animal
实例的 factory 对象。当您在使用 BrickLow API 的代码中使用 DAO(来自 BrickHigh)时,您可以使用生成 Cat
实例而不是 Animal
实例的工厂来实例化。
关于java - 必要的时候如何沮丧?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44948454/
我迷路了。什么目的?把一个字符串变成一个整数?或者将字符转换为 ASCII?如果我为 char s[] 使用任何数字,我会返回该数字。如果我使用任何字母,我都会得到 0。此输出是否正确?如何测试返回类
我知道沮丧可能不是实现我愿望的最佳方式,但它至少表明了我脑海中闪过的解决方案。欢迎任何替代建议。 好吧,不妨深入研究我的代码: public void triggerItem(Item item) {
我有一个 RE 检查器说这应该可以工作。我做错了什么?!? 我试图忽略的示例: apps/cms/templates/cms/test_bup_DEPRECATED/widgets/page_link
全部, 我一定是做错了。当时这似乎是个好主意,但随着我深入研究,我认为有一种更合适的编程方式来实现它。所以我问你... 一张纸条。我正在使用 Google AppEngine 和数据存储来存储此信息。
与此错误消息的其他示例不同,我已经有一个指向 A 的指针并且想要检索实际的子类。 这种安排是一些 C++ 包装的 C 代码的一部分 A 是一些 POD C 结构(whatswhy 没有动态转换)而 t
我的图标字体有一些 CSS 问题,只是不想与 IE11 合作。昨天我花了几个小时试图掌握它,除了巨大的挫败感之外什么也没做。想过今天多花点时间,但 children 在家度假,我今天已经受够了 LOL
我正在尝试使用 dojo.dnd 拖动一个对象,但希望头像与对象处于相同的位置(相对于鼠标) 即如果有人在对象的中间单击,则鼠标光标将位于头像的中间。 我得到了各种奇怪的结果。如果我将一个函数连接到
所以我整天都在为此工作,我快要失去理智了。我正在尝试从谷歌的位置 api 获取坐标,以便从另一个 api (forcast.io) 获取天气。我的代码已经达到这样的程度,即 google api 正在
我在 Xcode 中出现一个错误,提示“Downcast from '[PFObject]?'” '[PFObject]' 只解包可选值;您是要使用“!”吗? var iDArray = [S
我想针对以下问题提出一些建议:假设您要为 VCL 控件编写适配器。所有适配器应具有相同的基类,但在包装特殊控件方面有所不同(例如,从 TEdit 获取值与从 TSpinEdit 获取值不同)。所以第一
我是一名优秀的程序员,十分优秀!